こんにちは、セブテク編集部です。
皆さんは、AWSを利用したことはありますか?
「名前は聞いたことがあるけど、実際利用したことはない」または、「会社やプロジェクトで利用しているのは知っているが、自分の業務の担当外で実際はよくわかっていない・・・」という人も多いのではないでしょうか。
このシリーズでは、そんなAWS初心者向けに、少しだけAWSのことが分かる入門編となるような内容を書いていければと思います。
AWSとは
AWSとは、Amazon Web Servicesの頭文字をとったものです。簡単にいうと、Amazonがクラウド上で提供する「サーバー」「ストレージ」「データベース」などのサービスの総称です。
ちなみに、クラウド上で提供されるサービスは、クラウドコンピューティングサービスと呼ばれています。
クラウドって何?
クラウドというと、物理サーバー(オンプレミス/オンプレ)に対比される概念になっていることから、実体のないものだと思われがちですが、Amazonが所有する物理的なサーバーそのものは存在します。
「オンプレミス」というサービス形態だと、物理的なサーバーそのものを購入して使用するのですが、「クラウド」というサービス形態では、複数のサーバ群をまとめて仮想サーバーを1台作ることで、必要に応じて機能やインフラを増減させたり、つなげたり、別の場所にバックアップをとったりというフレキシブルな対応が可能になります。
オンプレミスの場合 → 物理的なサーバーを購入
クラウドの場合 → 複数のサーバー群をまとめて仮想サーバーを1台作る
AWSでは、そんなクラウドの特性を生かして、いろいろなサービス(パーツ)をつなげて組み立てていくようにサービスを利用できます。
クラウドについては、こちらの記事も参考になります。
リージョンとAZ
AWSには「リージョン」という概念が存在します。Amazonは世界各地に拠点を持っており、それをある程度分けるために、リージョンという区分を使用しています。日本でいうと、「東京リージョン」「大阪リージョン」があります。
基本的には自社拠点に近いリージョンを選択することが多いと思いますが、リージョンごとに値段や提供されるサービスが異なるため、あえて「バージニア北部」「オレゴン」などの別のリージョンを選ぶことも可能です。
さらに、「リージョン」のなかで、「AZ」という区分があります。AZはAvailability Zoneの略で、1つ以上のデータセンターから構成されます。データセンターとは、物理的なビルのことで、その中に物理サーバーが置いてあります。
AWSを利用する際は、複数のAZを組み合わせてデータのバックアップ等を行うことで、災害にも強い作りにすることができます。また、時には複数のリージョン間でサービスを利用することも可能です。
どんなサービスがあるの?
それでは、AWSに具体的にどんなサービスがあるのかを見ていきましょう。
まず押さえておきたいのは、次の5つです。
- サーバー(インスタンス)…EC2
- ストレージ…S3
- データベース…RDS
- ネットワーク…VPC
- 権限の管理…IAM
サーバー(インスタンス)…EC2
AWSで最も基本的なサービスと言えるのが、EC2(イーシーツー)です。EC2とは、Amazon Elastic Compute Cloudの頭文字をとったもので、「インスタンス」という単位ごとにサーバーの構築ができるサービスです。
EC2とは → 仮想サーバーの構築ができるサービス
インスタンスとは → サーバーの単位
EC2では、用途に応じていろいろなタイプのインスタンス(サーバー)を選ぶことができます。これを、インスタンスタイプと呼びます。
インスタンスタイプの名前にはパターンがあるので、多少馴染んでおくと良いかもしれません。
インスタンスタイプの例:
- 「t2.micro」(ティーツーマイクロ)
この場合、
- 「t」がインスタンスファミリー(他にも「r」や「m」などがある)
- 「2」がインスタンス世代
- 「 micro 」がサイズ( 他にも「medium」 や「 large」などがある )
を表しています。
ストレージ…S3
次に覚えておきたいのが、S3(エススリー / Simple Storage Service)というストレージサービスです。
S3が「シンプル・ストレージ・サービス」の略であることからも、大体のイメージは付きやすいかと思います。具体的には「オブジェクト(ファイルなど)を格納・管理できるストレージサービス」です。高い耐久性と低価格を兼ね備えたストレージであることが特徴です。
S3 とは → オブジェクト型のストレージサービス
関連する用語として、「バケット(=保存場所。フォルダのようなもの)」と「オブジェクト(=ファイルそのもの)」という用語や、構造も合わせて覚えておくと便利です。
AWSで提供されているストレージサービスには、S3の他にもEBS(イービーエス)、Glacier(グレイシャー)などがあります。
データベース…RDS
AWSではデータベースのサービスも充実しています。なかでも代表的なのがRDS(アールディーエス / Relational Database Service)です。
AWS上にデータベースをインストールするには、EC2内にデータベースを自分でインストールして構築する方法と、RDSなどのサービスを利用する方法の2通りがあります。
自分でEC2内に構築した場合に比べ、RDSを利用した場合、構築・管理が楽にできるというメリットがあります。(ただし、その分制約もあります)
このように、AWS側である程度管理を請け負ってくれるものを「マネージド型」サービスといいます。
RDSとは → マネージド型のリレーショナルデータベースサービス
RDSでは、下記のように様々なデータベースソフトウェアに対応しています。
- MySQL
- Oracle
- Microsoft SQL Server
- PostgreSQL
- MariaDB
- Amazon Aurora
上記のうち、Amazon AuroraはAmazonが独自に作成したデータベースシステムで、これ自体もAWSのサービスの一つです。
その他、AWSで提供されているデータベース関連のサービスとしては、Redshift(レッドシフト)、DynamoDB(ダイナモディービー)などがあります。
ネットワーク…VPC
ネットワークに関連するサービスが、VPC(ブイピーシー / Virtual Private Cloud)です。
AWSの公式の説明によると、
Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されており、AWS のリソース(例えば Amazon EC2 インスタンス)を VPC 内に起動できます。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/how-it-works.html
となっています。
言い換えると、VPCとは、AWS上につくる、他の領域から論理的に切り離された専用のネットワーク環境のことです。EC2インスタンスなどのリソースはこのVPC内に置くことになります。
VPCとは → AWS上につくる、他の領域から論理的に切り離された専用のネットワーク環境
VPCには、サブネットというものを構築することができます。プライベートサブネット・パブリックサブネットを使い分けることで、インターネットアクセスの範囲を定義し、セキュリティを高めることができます。
その他にも、VPCに関連する用語として「ネットワークACL」「セキュリティグループ」「ルートテーブル」「エンポイント」といったものがあります。ここでは詳しく紹介しませんが、興味がある方は調べてみると良いかもしれません。
アクセス権限の管理…IAM
IAM(アイアム / AWS Identity and Access Management)は、AWS のサービスやリソースへのアクセスを管理するための機能です。これ自体はサービスではなく、AWSにもともと備わっているものです。
AWSを利用していると、担当者一人のみがアクセスするというよりも、様々な関係者がアクセスするケースが多いです。そんなときに、個人やグループに権限を付与し、アクセスできる範囲や実行できることを限定するのがIAMの役割です。
IAMとは → AWS 上で、ユーザーやアプリケーションのアクセス許可を管理する機能
まとめ
今回は、AWSの基本と主要なサービスについて紹介しました。
AWSは奥深く、すべてを理解しようと途方もなく思えるかもしれませんが、基礎から一つずつ覚えていくと意外と面白く、勉強になります。
まずはサービス・用語に親しむことがその第一歩かと思い、今回の記事を作成しました。