はじめに
今回は、「ネットワークサービス」の概要について勉強した内容を紹介します。
「VPC」「CloudFront」「Route53」に絞って、その特徴をまとめていきます。
参考書籍
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
本記事は、本書の第7章に相当
項目
1.VPC
2.CloudFront
3.Route53
1.VPC
(1)VPCの特徴
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、AWSのスケーラブルなインフラストラクチャを使用できるというメリットがあります。
ーAWSドキュメント・ユーザーガイドより
VPCとは、AWSアカウント内に構築できる仮想ネットワークのことです。
VPCにより、IPアドレスおよびサブネットの管理・ルーティング・ゲートウェイの設定等一連の仮想ネットワークの制御が可能です。
VPCはプライベートクラウドの空間を割り当てることで、ネットワークの機器を増設せずに必要なネットワーク設定を行うことができます。
さらに、VPNで企業ネットワークと接続することで、事業拡大に合わせたサービス展開をしたり用途に合わせたVPCを設定したりすることができます。
また、共有VPCを設定することで、複数のAWSアカウントにおいてEC2やRDS等サービスのリソースを共有したり一元管理したりすることも可能です。
オンプレミス環境ではネットワーク環境を構築する場合、データセンター、ハードウェア、回線など用意すべきものが多く、準備期間と初期コストがかかります。
VPCをネットワーク環境として準備する場合、いくつかの操作を行えば数分でネットワークを構築できます。
他にも、リージョンを選択して、複数のAZをまたがって作成することもできるのです。
IPアドレスの範囲をCIDR(Classless Inter-Domain Routing)で定義します。
CIDRでは、「10.0.0.0/16」のようにIPアドレスの範囲を定義します。この場合だと、「10.0.0.0〜10.0.255.255」の65,536のIPアドレスを使用できます。
(2)サブネット
サブネットとは、IPネットワークを細分化したもの 1つのネットワークを2つ以上のネットワークに分割して使うことができる
VPCで設定したIPアドレス範囲を、サブネットに分けて定義します。
サブネットを作成するときは、AZとIPアドレス範囲を定義します。
IPアドレスは、VPCで定義した範囲内で定義します。また、同一VPC内の他のサブネットと重複してはいけません。
「10.0.0.0 /16」というアドレスの範囲内で、インターネットと通信できるパブリックなネットワークと、外部から遮断したいプライベートなネットワークを定義します。
AWSのリソースは、指定したサブネット内に起動できます。
インターネットに接続する必要があるリソースにはパブリックサブネットを、インターネットに接続しないリソースにはプライベートサブネットを使用します。
10.0.1.0/24…パブリックサブネット
10.0.2.0/24…プライベートサブネット
このようにサブネットを利用することで、ネットワークごとに役割を与えることができ、管理しやすくなります。
サブネットでは、最初の4つのIPアドレスと、最後の一つのアドレスがAWSによって予約されています。
そのため、実際に使えるIPアドレスは、255中241だけです。
※大規模なネットワーク環境を構築しない限り、そこまで気にすることはないかと思います。
AWSによる割り当ては、
・10.0.1.0:ネットワークアドレス
・10.0.1.1:VPCルーター用
・10.0.1.2:AWSで予約
・10.0.1.3:将来のためにAWSで予約
・10.0.1.255:ネットワークブロードキャストアドレス
「ブロードキャストアドレス」とは、ネットワーク内のすべての機器(ノード)にデータを一斉配信するために使われる特殊なアドレスのこと。 プロトコル(通信規約)ごとに形式が決まっている。 ブロードキャストアドレスを指定して送信されたパケットやフレームは、そのネットワーク内の他のすべてのノードに配送される。 ルータなどの中継機器を介して他のネットワークへ転送されることはない。 ネットワークに接続したばかりの未設定の端末が、設定情報を教えてくれるサーバを探索するといった特殊な用途に用いられる。 引用:IT用語辞典 URL:https://e-words.jp/w/ブロードキャストアドレス.html
(3)インターネットゲートウェイ
VPCとパブリックインターネットを接続するためのゲートウェイです。
VPCにつき一つのみ作成することができます。
インターネットゲートウェイは、作成してVPCにアタッチすることで使用可能です。
(4)ルートテーブル
サブネット内の通信が、どの宛先のネットワークに対して転送されてほしいかを設定します。
サブネットの経路は、ルートテーブルで設定することになります。
ルートテーブルは、VPCを選択して作成します。
VPCを作成した時に、VPCに自動的に割り当てられるメインルートテーブルというルートテーブルというものがあります。
メインルートテーブルは、サブネットに関連づけられたデフォルトのルートテーブルです。
そのため、そのまま使うのではなく、カスタムルートテーブルを作成してサブネットに関連づけることになります。
これにより、サブネット内のリソースがどこに接続できるのかを定義します。
※一つのサブネットに一つのルートテーブルを用意できる
「パブリックサブネット」は、インターネットゲートウェイに対してのルートを持つルートテーブルに関連づけられています。 パブリックサブネット内のインスタンスなどのリソースは、外部との直接通信ができます。 「プライベートサブネット」は、インターネットゲートウェイに対してルートを持たないルートテーブルに関連づけられています。 プライベートサブネット内のリソースは、外部アクセスから保護できます。 各サブネット間にはローカル接続のルートがあるので、プライベートサブネット内のリソースは、パブリックサブネット内のリソースと通信できます。
(5)セキュリティグループ
いわゆるファイアーウォールです。
例えば、特定のIPアドレスからのアクセスを許可したり、逆にブロックしたりする時に使います。
これにより、VPC内のリソースのトラフィックを制御します。
セキュリティグループは、VPCを指定して作成します。
デフォルトだと、インバウンド(受信)へのアクセスが全て拒否されているので、許可するものだけを選び、設定します。
許可するものを選ぶので、「"ホワイトリスト"を設定する」と言うそうです。
(6)ネットワークACL
VPCには、変更可能なデフォルトのネットワークACLが自動的に設定されます。
こちらは、サブネットに対して設定する仮想のファイアーウォールです。
※VPCにはセキュリティグループを設定する
デフォルトで、すべてのインバウンドトラフィックとアウトバウンドトラフィックが許可されています。
拒否するものを設定することになるので、「ブラックリストを設定する」と言うそうです。
基本的にはデフォルトで大丈夫ですが、必要な要件があった場合に追加のセキュリティレイヤーとしてキノさせることができます。
カスタムネットワークACLを作成し、サブネットと関連付けることができます。
※こちらは、デフォルトだと、ルールを追加するまですべてのインバウンドトラフィックとアウトバウンドトラフィックを拒否している
明示的にサブネットを関連付けない場合、サブネットは、デフォルトのネットワークACLに自動的に関連付けられます。
ネットワークACLを複数のサブネットに関連付けることができます。
ただし、サブネットは一度に1つのネットワークACLにのみ関連付けることができます。
サブネットとネットワークACLを関連付けると、以前の関連付けは削除されます。
(7)構成手順(例)
①VPCダッシュボードでリージョンを選択する(CIDRはここで決める)
②インターネットゲートウェイを作成し、VPCにアタッチする
③パブリックサブネットとプライベートサブネットを作成する
④パブリックサブネット用のルートテーブルを作成する
⑤そのルートテーブルについて、インターネットゲートウェイのID(igwで始まるID)へのエントリを設定し、サブネットに関連づける
⑥EC2インスタンス作成時に、詳細画面でVPC、パブリックサブネットを選択する
⑦あらかじめ作成しておいたセキュリティグループをEC2に設定する
(8)ハイブリット環境構成
オンプレミスとクラウドの両方を活用する構成をハイブリット環境構成と言います。
●ハードウェアVPN構成
AWSに作成した仮想プライベートゲートウェイと、オンプレミスのカスタマーゲートウェイを指定して、VPN接続を作成できます。
例えば、社内のプライベートネットワークのみで稼働する業務アプリケーションを、AWSでも実現できるようになるのです。
仮想プライベートゲートウェイは、VPCに1つアタッチできます。
ハードウェアVPN接続を使用すれば、可用性・スケーリングをAWSに任せることの可能です。
※VPN = Virtual Private Network
●AWS Direct Connect(ダイレクトコネクト)
帯域を確保するため、もしくは、セキュリティとコンプライアンス要件を満たすために専用線を選択することがあります。
AWSとデータセンターとの間でプライベートなネットワークを接続する際は、ダイレクトコネクトを利用できます。
AWS Direct Connectは、AWSリソースにつながる最短のパスです。
ネットワークトラフィックは、転送中にAWSグローバルネットワークに残り、公開インターネットにアクセスすることはありません。
ユーザーの内部ネットワークを、AWS Direct Connectロケーションに、標準のイーサネット光ファイバケーブルを介して接続します。
ケーブルの一端がユーザーのルーターに、他方がAWS Direct Connectのルーターに接続されます。
S3などのAWSのパブリックサービス、または VPCに対する仮想インターフェイスを直接作成できるため、ネットワークパスのインターネットサービスプロバイダーを回避できます。
●VPCピアリング
VPCピアリング接続は、2つのVPC間でプライベートなトラフィックのルーティングを可能にするネットワーキング接続です。
どちらのVPCのインスタンスも、同じネットワーク内に存在しているかのように、相互に通信できます。
VPC ピアリング接続は、自分のVPC間、別のAWSアカウントのVPCとの間、または別のAWSリージョンの VPCとの間に作成できます。
2.CloudFront
世界中に150カ所以上あるエッジロケーションのネットワークを使い、最も低いレイテンシー(=高速)でコンテンツを配信できるコンテンツ配信ネットワーク(CDN)サービスです。
データ、動画、アプリケーションなど、静的・動的なさまざまなWebコンテンツをスムーズに配信できます。
Amazon Prime VideoやHuluなどで使われているそうです。
S3から直接配信したり、ELB経由のEC2から配信するよりも、CloudFrontにキャッシュを持ち、ユーザーにはキャッシュコンテンツを配信する方が早く効率的にコンテンツを提供できます。
エッジロケーションにキャッシュがないタイミングでも、エッジロケーションと各リージョン間にはAWSのバックボーンネットワークを経由しているので、直接アクセスするよりも良いネットワークパフォーマンスが提供されます。
CloudFrontでは、ドメインに証明書を設定できます。
これにより、ユーザーからHTTPSのアクセスを受け付けることができ、通信データを保護できます。
証明書は、AWS Certificate Managerを使用すると、追加費用なしで作成・管理できます。
AWS ShieldやAWS WAFといったセキュリティサービスと組み合わせることで、外部からの攻撃や脅威からオリジナルコンテンツを保護できます。
AWS Shield Standardは、追加費用なしで利用できます。
3.Route53
Amazon Route 53は、可用性と拡張性に優れたドメインネームシステム(DNS)Webサービスです。
Route 53を使用して、ドメイン登録、DNSルーティング、ヘルスチェックの3つの主要な機能を任意の組み合わせで実行できます。
1.ドメイン名を登録する
2.インターネットトラフィックをドメインのリソースにルーティングする
リソースの状態を確認する
この順序に従って設定します。
ルーティングには、問い合わせに対して単一のIPアドレス情報を回答する「シンプルルーティング」、1つのドメインに対して複数のDNSレコードを用意しておき、地理的な場所を近くして低いレイテンシーを実現する「レイテンシーベースのルーティング」、1つのドメインに対して複数のDNSレコードを用意しておき、その割合に応じて回答する「加重ラウンドロビン」、複数のレコードからランダムに回答する「複数値回答」などがあります。
これらのルーティングには、ヘルスチェックを組み合わせることができます。
ルーティングの種類の一つに、「フェイルオーバー」があります。
事前にプライマリとセカンダリを設定しておき、ヘルスチェックが失敗した時にセカンダリのレコードを回答します。
プライマリに何かあったときの予防策ということですね。
Route 53では、各レコードセットにエイリアスを設定することができます。
エイリアスは、Zone Apexと呼ばれる、サブドメインのないトップレベルのルートドメインにも設定できます。
「Zone Apex」 例えば、「example.jp」というドメイン名を登録して運用している場合に、DNSサーバの設定情報などの中で、この「example.jp」のことをZone Apexと呼ぶ。「www.example.jp」のようにサブドメインを伴うドメイン名と対比される。 引用 IT用語辞典 URL https://e-words.jp/w/Zone_Apex.html
参考サイト
Amazon VPCとは何か?使い方や構成例を詳しく解説
いまさら聞けない「VPC」(仮想プライベートクラウド)とは
AWSのVPCって何?メリットや使えるシーンなど徹底解説!
AWS入門者向け 初心者が最初に理解すべきEC2とVPCの基本的な用語解説
【CloudFront とは?】初心者でもわかる簡単 AWS 用語解説
Amazon CloudFrontとは?メリットや料金、S3と組み合わせて使う方法
AWS Documentation
参考書籍
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
● 楽天はこちら