1. はじめに
前回、VPC・EC2・RDS・ELB・S3について、それぞれの役割とハンズオンで行ったことを整理しました。
その中で、繰り返し登場する用語がいくつもあることに気づきました。そこで今回は、その5サービスのハンズオンで特によく登場した用語を、サービスごとに5つずつ選んで整理します。
2. VPC編
・サブネット
VPCの中をさらに区切ったネットワーク単位です。アベイラビリティゾーン(AZ)に紐づけて作成します。紐づくルートテーブルにインターネットゲートウェイへの直接の経路があるかどうかで、パブリック/プライベートが決まります。
・ルートテーブル
サブネットごとの通信の行き先(ルーティング)を定義するものです。「0.0.0.0/0への通信をどこへ向けるか」といった設定によって、サブネットから外部への通信経路を決めます。
・インターネットゲートウェイ
VPCとインターネットの間の通信を可能にするコンポーネントです。VPCにアタッチすることで、外部との通信の出入り口になります。
・NATゲートウェイ
プライベートサブネットのインスタンスから、インターネットなど外部へアクセスするためのサービスです。外部からプライベートサブネットのインスタンスへ、直接接続を開始することはできません。
・CIDR
IPアドレスの範囲を示す表記です。VPCやサブネットの広さを定義する際に使います。数字が小さいほど広い範囲を表します。
3. EC2編
・セキュリティグループ
EC2を守るファイアウォールのような機能です。プロトコルや送信元を指定して、通信の許可・拒否を制御します。デフォルトではインバウンドの通信は許可されておらず、アウトバウンドの通信は許可されています。
・AMI
EC2インスタンスの「型」を保存しておける機能です。OSやミドルウェアが設定済みの状態を丸ごと保存し、そのAMIから新しいインスタンスを作れば、同じ設定を毎回やり直さずに複製できます。
・EBS
EC2にアタッチする、いわば「外付けハードディスク」のようなストレージです。OSやアプリケーション、データなどを保存できます。一般的なEC2では、EBSがルートボリュームとして利用されます。
・Elastic IP
固定のパブリックIPアドレスです。通常、EC2に自動的に割り当てられるパブリックIPv4アドレスは、停止・起動すると変わる可能性があります。Elastic IPを使うことで、固定のパブリックIPv4アドレスを利用できます。
・キーペア
EC2へSSH接続する際に使う鍵です。作成時にダウンロードした秘密鍵(pemファイル)を使って認証します。ファイルの権限設定(chmod 400など)が必要になる場合があります。
4. RDS編
・マルチAZ配置
プライマリとスタンバイを異なるAZに配置することで、データベースの可用性を高める機能です。障害発生時は自動的にスタンバイ側にフェイルオーバーし、サービスを継続できます。
・スナップショット
RDSインスタンスのバックアップです。自動で取得されるものと、手動で取得するものがあり、任意のタイミングのデータへリストアできます。
・パラメータグループ
RDSのデータベースエンジンの設定値を管理するための機能です。スロークエリログの有効化など、データベースの動作に関する設定を変更するときに使用します。
・エンドポイント
EC2などから接続する際に使う、RDSインスタンスごとに発行される接続先の文字列です。マルチAZ構成でフェイルオーバーが起きても、このエンドポイント自体は変わらないため、アプリ側の接続設定を書き換える必要がありません。
・リードレプリカ
参照(SELECT)専用のレプリカインスタンスです。書き込み用のインスタンスとは別に用意することで、参照と更新の負荷を分散できます。
5. ELB編
・ヘルスチェック
ELB配下のターゲットが正常に動作しているかを確認する機能です。異常と判定されたターゲットは自動的に切り離され、正常なターゲットのみにリクエストが振り分けられます。
・ターゲットグループ
ELBがリクエストを振り分ける先(EC2インスタンスなど)をまとめたグループです。ヘルスチェックのルールもここで定義します。
・Auto Scaling
条件を決めて、ELB配下のインスタンス数を自動で増減させる機能です。CPU使用率などを基準にしたスケーリングポリシーを設定できます。
・スケールアウト/スケールイン
サーバーの台数を増やすこと(スケールアウト)、減らすこと(スケールイン)を指します。台数ではなく性能を上げ下げする場合は、スケールアップ/スケールダウンと呼ばれます。
・SPOF(単一障害点)
Single Point of Failureの略です。ここが止まるとシステム全体が止まってしまう箇所のことです。複数台構成やELBの導入は、このSPOFを減らし、システムの可用性を高めるための設計です。
6. S3編
・バケット
S3でオブジェクト(ファイル)を格納する入れ物です。コンソール上ではフォルダのように整理してファイルを管理できます。バケット名は世界中で一意である必要があります。
・バケットポリシー
バケット単位でアクセス権限を制御する設定です。外部からの読み取りを許可する場合などに編集します。
・静的ウェブサイトホスティング
EC2のようなサーバーを立てなくても、HTMLやCSS、JavaScriptなどの静的コンテンツをS3から配信できます。HTTPS化やアクセス制御が必要な場合は、CloudFrontと組み合わせる構成が一般的です。
・オブジェクトURL
S3に保存したオブジェクトへアクセスするためのURLです。オブジェクトを公開する場合は、Block Public Accessやバケットポリシーなどのアクセス設定を適切に構成する必要があります。
・イレブンナイン
S3の耐久性を表す言葉です。99.999999999%(9が11個)という非常に高い耐久性を持つことから、こう呼ばれます。
7. まとめ
VPC・EC2・RDS・ELB・S3の5サービスで、ハンズオン中によく出てきた用語を25個整理しました。
こうして並べてみると、各サービスの用語には、そのサービスの役割がよく表れていると感じました。VPCは「ネットワーク」、EC2は「サーバーの構成と接続」、RDSは「可用性とバックアップ」、ELBは「振り分けと監視」、S3は「ストレージと公開設定」に関する用語が中心でした。
AWS認定資格の学習でも頻出する基本的な用語なので、今後も引き続き覚えていきたいと思います。
次回は、Route 53・CloudFront・WAF・CLI/SDK・IAMなど、さらに学習を進めたサービスについて書いていきたいと思います。