【初学者向け】AWS のネットワークで知っておくべき10のこと

背景
--
初心に帰って、**「AWS のネットワークで知っておくべき10のこと」** の動画コンテンツを閲覧し、内容を整理しました。**とても良い内容だったので、自分なりに整理しなおして、理解度チェックが出来るように問題も作成しました。** 元ネタと併せて、ご利用する事で、AWSネットワーク知識を深めてください。

AWS のネットワークで知っておくべき10のこと

https://pages.awscloud.com/JAPAN-event-OE-At-least-10-Network-2020-reg-event-LP.html

①アドレス割り当て
②メタデータエンドポイントの利用
③VPC
④インターネットの影響とAWS Global Networkの効果
⑤Amazon Route 53
⑥Amazon CloudFront
⑦インターネットからの攻撃とその対処
⑧AWS WAF（Web Application Firewall）
⑨AWS Shield
⑩AWS Firewall Manager

## ①アドレス割り当て
AWSでインスタンスを起動する際に行われるIPアドレス関連の処理

**DHCPでサブネットのIPv4アドレスからプライベートアドレスが割り当てられる**
   インスタンスが起動すると、Dynamic Host Configuration Protocol (DHCP) を通じて、サブネット内の利用可能なIPv4アドレスプールからプライベートIPアドレスが自動的に割り当てられます。このプライベートIPアドレスは、インスタンスが終了するまで維持され、インスタンスが停止または終了した後に再利用される可能性があります。

~~~
問題文
AWSでインスタンスを起動する際、どのプロトコルを通じてサブネット内の利用可能な
IPv4アドレスプールからプライベートIPアドレスが自動的に割り当てられますか？

選択肢
A. HTTP (Hypertext Transfer Protocol)
B. DHCP (Dynamic Host Configuration Protocol)
C. FTP (File Transfer Protocol)
D. TCP (Transmission Control Protocol)

正解
B. DHCP (Dynamic Host Configuration Protocol)
~~~
**内部DNSホスト名が割り当てられる**
   各インスタンスには、プライベートIPアドレスに関連付けられた内部DNSホスト名が割り当てられます。これにより、VPC内の他のインスタンスやサービスからインスタンスにアクセスする際に、IPアドレスを直接使用する代わりにホスト名を使用できます。
~~~
問題文
AWSのVPC内でインスタンスに割り当てられるものとして、
プライベートIPアドレスと一緒に自動的に関連付けられるのは何ですか？

選択肢
A. 外部DNSホスト名
B. パブリックIPアドレス
C. 内部DNSホスト名
D. Elastic IPアドレス

正解
C. 内部DNSホスト名
~~~
**パブリックIPアドレスの割り当て**
   インスタンスがパブリックサブネット内で起動される場合、またはEC2起動時に明示的に指定された場合、パブリックIPアドレスが割り当てられます。このパブリックIPアドレスは、インターネットからインスタンスにアクセスするために使用されます。インスタンスの停止または終了時にはこのアドレスは解放され、再利用されます。
~~~
問題文
AWSでインスタンスがパブリックサブネット内で起動された場合、
またはEC2起動時に何が明示的に指定された場合に割り当てられるのはどのタイプのIPアドレスですか？

選択肢
A. プライベートIPアドレス
B. ローカルIPアドレス
C. パブリックIPアドレス
D. スタティックIPアドレス

正解
C. パブリックIPアドレス
~~~
**外部DNSホスト名が割り当てられる**
   パブリックIPアドレスが割り当てられたインスタンスには、外部DNSホスト名も割り当てられます。このホスト名は、インターネットからインスタンスにアクセスする際に使用され、プライベートIPアドレスとマッピングされます。
~~~
問題文
AWSでインスタンスにパブリックIPアドレスが割り当てられた際に同時に割り当てられるものは何ですか？

選択肢
A. 内部DNSホスト名
B. プライベートDNSホスト名
C. 外部DNSホスト名
D. セカンダリIPアドレス

正解
C. 外部DNSホスト名
~~~
**Elastic IPアドレスを関連付け**
   Elastic IPアドレスは、AWSで提供される静的なパブリックIPアドレスです。ユーザーはElastic IPアドレスをインスタンスに関連付けることができ、インスタンスの再起動や停止に関わらず、そのアドレスを維持することができます。
~~~
問題文
AWSで提供される、インスタンスの再起動や停止に関わらず固定されたパブリックIPアドレスを
維持するためにインスタンスに関連付けることができるサービスは何ですか？

選択肢
A. パブリックサブネット
B. Elastic IPアドレス
C. VPCエンドポイント
D. プライベートIPアドレス

正解
B. Elastic IPアドレス
~~~
**DNSサーバーとしてRoute 53 Resolverが動作**
   AWSでは、Route 53 ResolverがDNSサービスとして機能し、VPC内のインスタンスに対するDNSクエリの解決を行います。これにより、インスタンスはインターネット上のリソースや他のAWSサービスに対して名前解決を行うことができます。通常、Route 53 Resolverの設定はDHCPオプションセットを通じてVPC内のインスタンスに自動的に配布されます。
~~~
問題文
AWS内のVPCでインスタンスに対するDNSクエリの解決を行うDNSサービスは何ですか？

選択肢
A. Amazon VPC
B. Amazon EC2
C. AWS Direct Connect
D. Route 53 Resolver

正解
D. Route 53 Resolver
~~~

## ②メタデータエンドポイントの利用

`http://169.254.169.254/latest/meta-data/` は、Amazon EC2インスタンス内で利用できるメタデータエンドポイントです。

AWSのインスタンスでは、インスタンスメタデータサービスを利用して、インスタンスに関する様々な情報を取得することができます。このサービスは、特別なIPアドレス `http://169.254.169.254` を通じて提供されており、実行中のインスタンスからのみアクセス可能です。

1. **パブリックIPアドレスの取得**
   `http://169.254.169.254/latest/meta-data/public-ipv4` にアクセスすることで、インスタンスに割り当てられたパブリックIPアドレスを取得できます。これは、インスタンスがインターネットに公開されている場合に役立ちます。

2. **SSH公開鍵の取得**
   `http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key` からインスタンスのSSH公開鍵を取得し、`~ec2-user/.ssh/authorized_keys` に書き込むことで、SSH経由での安全なログインを設定できます。

3. **起動時実行スクリプトの配置**
   `http://169.254.169.254/latest/user-data` にアクセスすることで、インスタンス起動時に実行されるユーザーデータ（スクリプトなど）を配置できます。これにより、インスタンスの初期設定やソフトウェアのインストールなどを自動化できます。

これらの操作は、AWS CLIなどのクレデンシャルを必要としないため、手軽に情報を取得することができます。また、各種Linuxディストリビューションには、メタデータを簡単に取得するためのコマンドラインツールが用意されています。例えば、Amazon Linuxには `ec2-metadata`、Ubuntuには `cloud-guest-utils`、CentOSには `cloud-utils` があります。これらのツールを使用することで、メタデータの取得をさらに簡単に行うことができます。

**パブリックIPアドレスの取得**
~~~
問題文
AWSのインスタンスで、メタデータサービスを利用してパブリックIPアドレスを取得するために
アクセスするURLはどれですか？

選択肢
A. `http://169.254.169.254/latest/meta-data/private-ipv4`
B. `http://127.0.0.1/latest/meta-data/public-ipv4`
C. `http://169.254.169.254/latest/meta-data/public-ipv4`
D. `http://192.168.1.1/latest/meta-data/public-ipv4`

正解
C. `http://169.254.169.254/latest/meta-data/public-ipv4`
~~~
**SSH公開鍵の取得**
~~~
問題文
AWSのインスタンスでSSH公開鍵を取得し、SSHアクセスを設定するために必要なメタデータサービスの
URLはどれですか？

選択肢
A. `http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key`
B. `http://127.0.0.1/latest/meta-data/public-keys/0/openssh-key`
C. `http://169.254.169.254/latest/meta-data/private-keys/0/openssh-key`
D. `http://192.168.1.1/latest/meta-data/public-keys/0/openssh-key`

正解
A. `http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key`
~~~
**起動時スクリプトの配置**
~~~
問題文
AWSのインスタンスで、起動時に実行されるユーザーデータスクリプトを取得するためにアクセスする
URLはどれですか？

選択肢
A. `http://127.0.0.1/latest/user-data`
B. `http://169.254.169.254/latest/user-data`
C. `http://192.168.1.1/latest/user-data`
D. `http://169.254.169.254/latest/meta-data/user-data`

正解
B. `http://169.254.169.254/latest/user-data`
~~~
**各OSでの利用方法**
   - Amazon Linux: `ec2-metadata` コマンドを使用します。
   - Ubuntu: `cloud-guest-utils` パッケージをインストールして利用します。
   - CentOS: `cloud-utils` パッケージをインストールして利用します。

これらのメタデータエンドポイントは、インスタンス内から利用できるため、便利な情報を取得する際に活用できます。

`netstat -rn` コマンドは、ネットワークルーティングテーブルを表示するためのものです。このコマンドを実行すると、ルーティングテーブルのエントリが表示され、どのネットワークにどの経路で接続されているかがわかります。
~~~
問題文
Linuxシステムでネットワークルーティングテーブルを表示するために使用するコマンドは何ですか？

選択肢
A. `ifconfig`
B. `traceroute`
C. `netstat -rn`
D. `ping`

正解
C. `netstat -rn`
~~~
ネットワークルーティングテーブルは、パケットが送信される際にどの経路を選択するかを決定するために使用されます。ルーティングテーブルには、ネットワークアドレス、サブネットマスク、ゲートウェイ、およびインターフェースなどの情報が含まれています。

## ③VPC
AWSのVirtual Private Cloud（VPC）は、ユーザーがAWSクラウド内で定義できる仮想ネットワーク環境です。

詳細を確認したい場合は、以前の記事をご確認下さい。

https://qiita.com/kimuni-i/items/f9957efccb9ed4bf1495

:::note info
1. **プライベートIPアドレスの指定**
   VPC内のインスタンスや他のリソースには、プライベートIPアドレスが割り当てられます。これにより、VPC内のリソース間での通信が可能になります。

2. **既存のネットワークとの適合**
   VPCは、既存のオンプレミスネットワークや他のネットワーク環境との適合性を持ち、VPN接続やDirect Connectを通じて接続することができます。

3. **DHCPおよびDNS（Private DNS含む）**
   VPCは、Dynamic Host Configuration Protocol（DHCP）を使用してインスタンスにIPアドレスを自動的に割り当てます。また、Amazon Route 53を使用したPrivate DNSを提供し、VPC内のリソース名解決をサポートします。

4. **Firewall**
   VPCには、セキュリティグループやネットワークACLなどのファイアウォール機能があり、インバウンドおよびアウトバウンドのトラフィックを制御できます。

5. **9001バイトのMTU**
   VPCは、9001バイトの最大伝送単位（MTU）をサポートしており、大きなパケットサイズの通信が可能です。

6. **APIを通じたプログラム制御、テンプレート、変更履歴、監査対応、フローログのサポート**
   VPCは、APIを通じてプログラム的に制御でき、テンプレートや変更履歴の管理、監査対応、フローログのサポートなど、運用管理に必要な機能を提供します。

7. **実装は、パケットのカプセル**
   VPC内での通信は、パケットカプセル化技術を使用して実装されており、セキュリティと効率性を高めています。
:::

これらの機能により、VPCはAWS上でセキュアで柔軟なネットワーク環境を構築するための基盤を提供します。ユーザーはこれらの機能を利用して、クラウドリソースのセキュリティを強化し、ネットワークの設計と管理を行うことができます。


AWSのVirtual Private Cloud（VPC）内での通信は、パケットカプセル化技術によって実装されています。これは、ネットワーク上でデータを送信する際に、セキュリティとプライバシーを確保するために使用される方法です。

:::note info
### VPC内の通信に関連する主要な要素とその役割についての解説

1. **Physical Host**
   VPC内で動作するインスタンスは物理ホスト上の仮想マシンとして存在します。物理ホストは、インスタンス間の通信を処理するための基盤を提供します。

2. **オーバーヘッド部**
   パケットカプセル化において、オーバーヘッド部分には追加のヘッダー情報が含まれます。これには、物理ホストのIPアドレスやVPCの機能に関連する情報が含まれ、暗号化やホスト情報などのデータが記述されます。

3. **元のイーサネットフレーム**
   イーサネットフレームは、ネットワーク上でデータを転送するための基本的なデータ構造です。VPC内の通信では、このフレームがカプセル化されて使用されます。

4. **プリアンブル**
   プリアンブルは、イーサネットフレームの開始を示すために使用される信号です。

5. **イーサネットヘッダ**
   イーサネットヘッダには、送信元と宛先のMACアドレスなど、フレームの送信に必要な情報が含まれています。

6. **VPCと外の世界のゲートウェイ: Blackfoot**
   Blackfootは、VPCと外部ネットワーク（インターネット、Direct Connect、VPNなど）との間の通信を処理するゲートウェイです。

7. **Blackfoot Edge device**
   Blackfoot Edge deviceは、インターネットトラフィックやDirect Connect、S3/DynamoDBエンドポイント、VPNなどのサービスへのアクセスを提供する特別なデバイスです。
:::

VPC内での通信は、これらの要素を通じてセキュリティが確保され、効率的に行われます。パケットカプセル化により、VPC内のインスタンス間だけでなく、VPC外のリソースとの間でも安全な通信が可能になります。また、AWSはこれらのプロセスを透過的に管理し、ユーザーが複雑なネットワーク設定を意識することなくサービスを利用できるようにしています。


AWSのリージョンとアベイラビリティゾーン（AZ）は、AWSクラウドインフラストラクチャの重要な構成要素です。

:::note info
**リージョン**
リージョンは、AWSが世界中に設置している物理的な地理的エリアです。各リージョンは、複数の独立したデータセンター群で構成されており、これらはアベイラビリティゾーンと呼ばれます。リージョンは、データの住所地要件やレイテンシーの最小化、災害復旧のための地理的分散など、さまざまな要因に基づいて選択されます。ユーザーは、アプリケーションやデータをホストするために最適なリージョンを選択できます。

**アベイラビリティゾーン**
アベイラビリティゾーンは、特定のリージョン内にある一つまたは複数の物理的なデータセンターです。各AZは、他のAZとは独立して運用されており、電力、冷却、物理的なセキュリティなどが独自に提供されています。AZは、高可用性と耐障害性を実現するために設計されており、一つのAZに障害が発生しても他のAZは影響を受けません。これにより、アプリケーションは単一の障害点を持たずに設計することができます。
:::

リージョンとAZを使用することで、ユーザーはアプリケーションの可用性と耐障害性を向上させることができます。例えば、複数のAZにアプリケーションのコンポーネントを分散配置することで、一つのAZがダウンしてもアプリケーション全体が停止することはありません。また、リージョン間でデータをレプリケーションすることで、地域的な災害からの復旧を迅速に行うことが可能です。

AWSは定期的に新しいリージョンやAZを追加しており、グローバルな拡張を続けています。これにより、世界中のユーザーがAWSのサービスを利用して、グローバルな規模でのアプリケーション展開を行うことができます。


AWSのアベイラビリティゾーン（AZ）は、高可用性を提供するために設計された独立したデータセンター群です。各AZは、少なくとも2つのトランジットセンターを通じて外部と接続されています。トランジットセンターは、AZがインターネット、AWS Direct Connect、および他のリージョンと通信するための結節点（ハブ）として機能します。

:::note info
**トランジットセンター**
トランジットセンターは、AWSのグローバルネットワークの一部であり、データの転送とルーティングを行うための重要なインフラストラクチャです。これらのセンターは、以下のような機能を果たします。

**インターネット接続** トランジットセンターは、AZがインターネットにアクセスするためのゲートウェイとして機能し、外部のユーザーやサービスとの通信を可能にします。
**AWS Direct Connect** トランジットセンターは、AWS Direct Connectを介してオンプレミスのデータセンターやオフィスとAWSのVPCを専用線で直接接続するためのポイントとしても機能します。これにより、低遅延で安定したネットワーク接続が実現されます。
**他リージョンとの接続** トランジットセンターは、異なるリージョン間でデータを転送するための中継点としても機能します。これにより、グローバルなアプリケーションのデプロイやデータのレプリケーションが可能になります。
:::

トランジットセンターを通じた接続は、AZの冗長性と耐障害性をさらに強化します。もし一つのトランジットセンターに障害が発生しても、他のトランジットセンターが通信を引き継ぐことで、サービスの中断を防ぐことができます。このように、トランジットセンターはAZの信頼性を高めるための重要な役割を果たしています。

AWSは、トランジットセンターを含むグローバルネットワークの拡張を続けており、世界中の顧客に対して高品質なクラウドサービスを提供しています。

インターネットは、世界中のさまざまなインターネットサービスプロバイダー（ISP）が互いに接続して形成される巨大なネットワークの集合体です。このため、インターネットはしばしば「ネットワークのネットワーク」と表現されます。ISPは、個々のネットワークを運営し、それらを相互に接続することで、世界中のコンピューターやデバイスが通信できるようにしています。

しかし、インターネットは非中央集権的な構造を持っており、その性能や可用性については、全体として保証されていません。つまり、インターネット上でのデータ転送速度や接続の安定性は、通過するISPやネットワークの状態、トラフィックの量、物理的な距離、使用される技術など、多くの要因に依存します。

ISP間の接続点や主要なインターネット交換ポイントでは、通常、高い帯域幅と冗長性が確保されていますが、エンドユーザーまでの最終的な接続品質は、そのユーザーが利用している地域のISPのインフラストラクチャーやポリシーに大きく左右されます。また、特定のISPのネットワークに障害が発生した場合、その影響は他のネットワークにも波及する可能性があります。

このように、インターネットは非常に複雑で動的な環境であり、その性能や可用性は一様ではなく、時と場所によって変動します。そのため、インターネットを利用するサービスやアプリケーションは、この不確実性を考慮した設計が求められます。例えば、ウェブサイトやクラウドサービスは、複数のデータセンターやCDN（コンテンツデリバリーネットワーク）を使用して、ユーザーに対して高速かつ信頼性の高いアクセスを提供するよう努めています。


~~~
問題文
AWSのリージョンとアベイラビリティゾーン（AZ）の概念に関連して、以下の記述の中で
正しいものを選んでください。

選択肢
A. AWSリージョンは、単一のデータセンターで構成され、アベイラビリティゾーンは
そのリージョン内の複数のデータセンターを指します。
B. アベイラビリティゾーンは、リージョン内の独立したデータセンター群であり、
一つのAZに障害が発生しても他のAZは影響を受けません。
C. トランジットセンターは、AWSリージョン内のデータセンター間の通信を担当し、
インターネット接続は提供しません。
D. AWSリージョン間でのデータレプリケーションは不可能であり、
各リージョンは完全に独立しています。

正解
B. アベイラビリティゾーンは、リージョン内の独立したデータセンター群であり、
一つのAZに障害が発生しても他のAZは影響を受けません。
~~~

## ④インターネットの影響とAWS Global Networkの効果

**インターネットの影響例**
インターネットは、多くのISPが集まって形成されるネットワークの集合体であり、その性能や可用性は全体として保証されていません。アメリカ国内での利用をスタートしたサービスがヨーロッパやアジアに展開される際、通常のインターネット利用では、時折可用性の低下やレイテンシ（応答時間）の悪化が見られることがあります。これは、データが長距離を移動する際に多くのネットワークを経由するため、遅延やパケットロスが発生しやすくなるためです。

**AWS Global Networkの効果**
AWS Global Acceleratorは、AWSのグローバルネットワークを利用して、エンドユーザーにより近い場所からDNSやコンテンツを配信するサービスです。AWS Global Acceleratorの利用により、データはAWSの最適化されたネットワークを通じて直接AWSリージョンに転送されるため、安定した可用性とレイテンシを提供します。これにより、ユーザー体験が向上し、サービスのパフォーマンスが安定します。

AWS Edge Servicesは、AWSのグローバルネットワークを利用するためのサービス群であり、Amazon CloudFrontのキャッシュ機能を活用して、エンドユーザーに対して高速で信頼性の高いアクセスを提供します。CloudFrontは、世界中に分散されたエッジロケーションにコンテンツをキャッシュし、エンドユーザーが最も近いエッジロケーションからコンテンツを受け取ることができるようにするCDN（コンテンツデリバリーネットワーク）サービスです。

結果として、AWS Global AcceleratorとAWS Edge Servicesを利用することで、インターネットの不確実性を克服し、グローバルに展開されるアプリケーションやサービスのパフォーマンスを最適化することができます。
~~~
問題文
AWS Global AcceleratorとAWS Edge Servicesが提供する利点に関する以下の記述の中で、
正しいものを選んでください。

選択肢
A. AWS Global Acceleratorは、AWSのグローバルネットワークを利用して、
エンドユーザーに遠い場所からDNSやコンテンツを配信し、レイテンシを増加させます。
B. AWS Edge Servicesは、Amazon CloudFrontのキャッシュ機能を活用して、
エンドユーザーに対して遅いアクセスを提供し、インターネットの不確実性を増大させます。
C. AWS Global Acceleratorは、AWSの最適化されたネットワークを通じてデータを
直接AWSリージョンに転送し、安定した可用性とレイテンシを提供します。
D. AWS Edge Servicesは、世界中に分散されたエッジロケーションにコンテンツをキャッシュし、
エンドユーザーが最も遠いエッジロケーションからコンテンツを受け取るようにします。

正解
C. AWS Global Acceleratorは、AWSの最適化されたネットワークを通じてデータを直接AWSリージョンに転送し、安定した可用性とレイテンシを提供します。
~~~

## ⑤Amazon Route 53
Amazon Route 53は、Amazon Web Services (AWS) が提供するマネージドクラウドドメインネームシステム（DNS）サービスです。このサービスは、インターネットアプリケーションへのエンドユーザーのルーティングを信頼性高く、コスト効率良く行うための方法を提供します。
~~~
問題文
AWSのどのサービスが、AWSのグローバルネットワークを利用してエンドユーザーにより近い場所から
DNSやコンテンツを配信し、安定した可用性とレイテンシを提供することで
ユーザー体験を向上させるサービスですか？

選択肢
A. Amazon EC2
B. AWS Direct Connect
C. AWS Global Accelerator
D. Amazon Route 53

正解
C. AWS Global Accelerator
~~~

:::note info
**主な特徴と利点**

1. **高い信頼性**
   Route 53は、AWSのグローバルインフラストラクチャを活用して、高い信頼性を提供します。DNSクエリは、世界中に分散された複数のロケーションから処理されるため、単一障害点のリスクが低減されます。

2. **拡張性**
   トラフィックの増加に伴って自動的にスケールアップし、大量のDNSクエリに対応できる設計となっています。

3. **高速な応答時間**
   Route 53は、DNSクエリに対して迅速に応答するよう最適化されており、ユーザー体験の向上に貢献します。

4. **広域分散**
   DNSサーバーが世界中に分散して配置されているため、地理的に近いサーバーがクエリに応答し、レイテンシを最小限に抑えます。

5. **Zone Apexサポート**
   ドメインのルート（例: example.com）に対しても、エイリアスレコードを使用して、Elastic Load Balancing (ELB) やAmazon S3などのAWSリソースに直接ルーティングすることができます。

6. **ルーティングポリシー**
   複数のルーティングポリシーを提供し、ジオロケーションやレイテンシベースのルーティング、重み付けルーティングなど、さまざまなトラフィック管理ニーズに対応します。

7. **ドメインレジストレーション**
   Route 53は、ドメイン名の登録もサポートしており、新しいドメインの取得や既存ドメインの管理を一元的に行うことができます。
:::

Amazon Route 53は、これらの機能を通じて、ウェブサイトやウェブアプリケーションの信頼性と可用性を高めるための重要なツールとなっています。開発者は、Route 53を使用して、グローバルなユーザーベースに対して安定したパフォーマンスを提供するインフラストラクチャを構築できます。

## ⑥Amazon CloudFront
Amazon CloudFrontは、Amazon Web Services (AWS) が提供するコンテンツデリバリーネットワーク（CDN）サービスです。このサービスは、ウェブサイトやウェブアプリケーションのコンテンツを世界中のユーザーに迅速に配信するために設計されています。

:::note info
**CloudFrontの動作プロセス**

1. **HTTPのリクエスト** クライアント（ユーザーのブラウザやアプリケーション）がコンテンツを要求するためにHTTPリクエストを送信します。

2. **ユーザーを最も近いエッジロケーションに誘導**: CloudFrontは、ユーザーの地理的な位置を特定し、最も近いエッジロケーションにリクエストをルーティングします。これにより、配信速度が向上します。

3. **コンテンツの取得** エッジロケーションがリクエストを受け取ると、キャッシュされたコンテンツがあるかどうかを確認します。

4. **コンテンツをキャッシュ** キャッシュされたコンテンツがあれば、それをクライアントに返します。キャッシュされていない場合は、オリジンサーバー（コンテンツがホストされているサーバー）からコンテンツを取得します。

5. **オリジンサーバーからのコンテンツ取得** エッジロケーションはオリジンサーバーにリクエストを送り、コンテンツを取得します。

6. **コンテンツのキャッシング** 取得したコンテンツはエッジロケーションにキャッシュされ、将来のリクエストに対して迅速に応答できるようになります。

7. **HTTPのリクエストに対するレスポンス** エッジロケーションはコンテンツをクライアントに返し、レスポンス時間が向上します。
:::

~~~
問題文
Amazon CloudFrontの動作プロセスに関する以下のステップを正しい順序に並べてください。

選択肢
A. エッジロケーションがリクエストを受け取り、キャッシュされたコンテンツがあるかどうかを確認します。
B. クライアントがコンテンツを要求するためにHTTPリクエストを送信します。
C. エッジロケーションはオリジンサーバーにリクエストを送り、コンテンツを取得します。
D. エッジロケーションはコンテンツをクライアントに返し、レスポンス時間が向上します。
E. CloudFrontはユーザーの地理的な位置を特定し、
最も近いエッジロケーションにリクエストをルーティングします。
F. 取得したコンテンツはエッジロケーションにキャッシュされます。

正解
1. B. クライアントがコンテンツを要求するためにHTTPリクエストを送信します。
2. E. CloudFrontはユーザーの地理的な位置を特定し、最も近いエッジロケーションに
2. リクエストをルーティングします。
3. A. エッジロケーションがリクエストを受け取り、
3. キャッシュされたコンテンツがあるかどうかを確認します。
4. C. エッジロケーションはオリジンサーバーにリクエストを送り、コンテンツを取得します。
5. F. 取得したコンテンツはエッジロケーションにキャッシュされます。
6. D. エッジロケーションはコンテンツをクライアントに返し、レスポンス時間が向上します。
~~~

:::note info
**CloudFrontの利点**

**配信の高速化** ユーザーを最も近いエッジロケーションに誘導することで、コンテンツの配信を高速化します。
**オリジンの負荷オフロード** エッジサーバでコンテンツをキャッシングすることで、オリジンサーバの負荷を軽減します。
**非キャッシュコンテンツの高速化** AWSのグローバルネットワークを利用することで、キャッシュされていないコンテンツも高速に配信できます。
**柔軟な処理** Lambda@Edgeを利用することで、エッジロケーションでのカスタムコード実行が可能になり、リクエストやレスポンスのカスタマイズが行えます。
:::

CloudFrontは、AWSリージョン内のオリジンサーバから遠く離れたクライアントに対しても、レスポンスの向上を実現します。これにより、グローバルなユーザーベースに対して一貫した高速なユーザー体験を提供することができます。
~~~
問題文
Amazon CloudFrontの利点に関する以下の記述の中で、正しいものを選んでください。

選択肢
A. CloudFrontは、ユーザーを最も遠いエッジロケーションに誘導することで、
コンテンツの配信を高速化します。
B. CloudFrontは、エッジサーバでコンテンツをキャッシングすることで、
オリジンサーバの負荷を増加させます。
C. CloudFrontは、AWSのグローバルネットワークを利用して、
キャッシュされていないコンテンツの配信を高速化します。
D. CloudFrontは、Lambda@Edgeを利用することで、エッジロケーションでのカスタムコード実行が
可能になり、リクエストやレスポンスのカスタマイズが行えます。

正解
C. CloudFrontは、AWSのグローバルネットワークを利用して、キャッシュされていないコンテンツの配信を高速化します。
D. CloudFrontは、Lambda@Edgeを利用することで、エッジロケーションでのカスタムコード実行が可能になり、リクエストやレスポンスのカスタマイズが行えます。
~~~
AWSのVirtual Private Cloud（VPC）は、AWSクラウド内でプライベートなネットワーク環境を構築するためのサービスです。

### VPCを接続するためのバリエーション

| 接続方法            | 特徴                                                                                           |
|---------------------|------------------------------------------------------------------------------------------------|
| **VPC Peering**     |  **1対1の関係** 2つのVPC間で直接的なネットワーク接続を確立します。                           |
|                     |  **100 VPCまで** VPC Peeringは最大100のVPCとのピアリング接続をサポートします。               |
|                     |  **VPC間のSecurity Groups** ピアリングされたVPC間でセキュリティグループを使用してアクセスを制御できます。 |
|                     |  **Inter-region peering** 異なるリージョンにあるVPC間でもピアリングが可能です。               |
| **Transit VPC**     |  **スポークの1つに配置** 複数のVPCを接続するための中央ハブとして機能します。                 |
|                     |  **帯域の制限** Transit VPCを通過するトラフィックには帯域幅の制限があります。                 |
|                     |  **制御が複雑** 複数のVPCを管理するため、設定が複雑になる可能性があります。                 |
|                     |  **インスタンスとライセンス費用** Transit VPCを構築するためには、追加のインスタンスとライセンス費用が発生します。 |
| **AWS Transit Gateway** |  **1対1でも1対Nでもroute table次第** 1つのTransit Gatewayを介して、1対1または1対多のVPC接続をルーティングテーブルに基づいて管理できます。 |
|                     |  **スケーラブル** 大規模なネットワーク環境にも対応可能なスケーラビリティを提供します。       |
|                     |  **AZごとのエンドポイント費用** 各アベイラビリティゾーンに設置されたエンドポイントには費用が発生します。 |
| **AWS PrivateLink** |  **1対Nの関係** 1つのサービスを複数のVPCに提供することができます。                         |
|                     |  **スケーラブル** 大量の接続に対応するスケーラビリティがあります。                           |
|                     |  **IPアドレス重複でもOK** 同じIPアドレス範囲を持つVPC間でも接続が可能です。                 |
|                     |  **NLBとエンドポイント費用** Network Load Balancer（NLB）とVPCエンドポイントの設定には費用が発生します。 |



これらの接続オプションを利用することで、AWS上で複雑なネットワークアーキテクチャを構築し、異なる開発、テスト、本番環境を分離しながらも、共有サービス（認証、モニタリングなど）へのアクセスを効率的に管理することができます。

AWS PrivateLinkとAWS Transit Gatewayは、AWSのネットワークサービスの2つの異なるコンポーネントであり、それぞれ異なるユースケースと機能を提供します。

| 特徴            | AWS PrivateLink                                                                                       | AWS Transit Gateway                                                                                     |
|-----------------|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| **Scope**       | アプリケーションレベルでの接続を提供します。特定のサービスやアプリケーションを他のVPC、アカウント、またはAWSサービスとプライベートに接続するために使用されます。 | ネットワークレベルでの接続を提供します。複数のVPCやオンプレミスネットワークを中央のトランジットハブを介して接続するために使用されます。 |
| **Trust model** | PrivateLinkはセキュアな接続を提供し、トラフィックがAWSネットワーク内で完結するため、インターネットを経由しません。                       | Transit Gatewayを使用することで、異なるVPCやアカウント間で信頼関係を構築し、セキュアなネットワークアーキテクチャを実現します。               |
| **Dependencies**| Network Load Balancer（NLB）を使用してトラフィックをルーティングし、VPCエンドポイントを介してサービスにアクセスします。                       | ルーティングテーブルに基づいてトラフィックを制御し、各アベイラビリティゾーンごとにエンドポイントを設定する必要があります。                     |
| **Scale**       | スケーラブルなサービスであり、多数のVPCとの接続をサポートします。IPアドレスが重複していても接続が可能ですが、NLBとエンドポイントの設定には費用が発生します。 | 非常にスケーラブルであり、大規模なネットワーク環境に対応できます。1対1でも1対多でも接続が可能で、AZごとのエンドポイントには費用が発生します。 |

これら2つのサービスは、AWS上でのネットワーク設計の柔軟性を高め、セキュリティを維持しながら複数のVPCやアカウント間での通信を効率化するために使用されます。開発、テスト、本番環境など、異なる目的のVPCを接続する際に、これらのサービスを適切に選択し組み合わせることで、効果的なネットワークアーキテクチャを構築することができます。
~~~
問題文
AWSのVirtual Private Cloud（VPC）を接続するためのオプションとして正しいものを選んでください。

選択肢
A. VPC Peeringを使用して、最大100のVPCと直接的なネットワーク接続を確立する。
B. Transit VPCを使用して、複数のVPCを中央ハブとして接続し、帯域の制限を受ける。
C. AWS Transit Gatewayを使用して、
1対1または1対多のVPC接続をルーティングテーブルに基づいて管理する。
D. AWS PrivateLinkを使用して、1つのサービスを複数のVPCにプライベートに提供し、
IPアドレスが重複していても接続を可能にする。

正解
A. VPC Peeringを使用して、最大100のVPCと直接的なネットワーク接続を確立する。
B. Transit VPCを使用して、複数のVPCを中央ハブとして接続し、帯域の制限を受ける。
C. AWS Transit Gatewayを使用して、1対1または1対多のVPC接続をルーティングテーブルに基づいて管理する。
D. AWS PrivateLinkを使用して、1つのサービスを複数のVPCにプライベートに提供し、IPアドレスが重複していても接続を可能にする。
~~~

## ⑦インターネットからの攻撃とその対処

インターネットからの攻撃、特に分散型サービス拒否（DDoS）攻撃は、ウェブサイトやオンラインサービスにとって大きな脅威です。AWSは、このような攻撃から顧客を保護するために、AWS Global Network内に組み込まれたいくつかの防御メカニズムを提供しています。

:::note info
**In-line DDoS Mitigation Inside an Edge POP**
AWSのエッジロケーション（Point of Presence, PoP）内には、DDoS攻撃を検出し、不正なトラフィックをクリーンアップ（スクラビング）するためのIn-line DDoS Mitigation装置が設置されています。これにより、攻撃がAWSのバックボーンネットワークや顧客のインフラストラクチャに到達する前に、攻撃トラフィックを除去することができます。

**AWS Shield**
AWS Shieldは、DDoS攻撃から保護するためのマネージド型のセキュリティサービスです。AWS Shieldは、標準版（AWS Shield Standard）と高度版（AWS Shield Advanced）の2つのレベルで提供されており、標準版はすべてのAWS顧客に基本的な保護を提供し、高度版は追加の保護機能とサポートを提供します。

**AWS Global Network**
AWSのグローバルネットワークは、完全に冗長化されたネットワークと機器で構成されており、世界中のデータセンター間で高速かつ安定した接続を提供します。このネットワークを通じて、AWSは顧客のトラフィックを最適なパスでルーティングし、攻撃の影響を最小限に抑えることができます。

**Direct Connect**
AWS Direct Connectは、オンプレミス環境とAWS環境を専用線で直接接続するサービスです。この接続を使用することで、インターネットを経由せずにAWSサービスにアクセスできるため、セキュリティが向上します。

**Route 53とCloudFront**
Route 53は、高度なトラフィックルーティングとドメイン名管理を提供するDNSサービスです。CloudFrontは、AWSのCDNサービスであり、コンテンツを世界中のエッジロケーションにキャッシュして高速に配信します。これらのサービスは、DDoS攻撃に対する追加の防御層として機能します。
:::


~~~
問題文
AWSのどのサービスが高度なトラフィックルーティングとドメイン名管理を提供し、
どのサービスがコンテンツを世界中のエッジロケーションにキャッシュして高速に配信する
CDNサービスであり、DDoS攻撃に対する追加の防御層として機能するかを選んでください。

選択肢
A. Route 53はDNSサービスであり、CloudFrontはCDNサービスです。
B. CloudFrontはDNSサービスであり、Route 53はCDNサービスです。
C. Route 53とCloudFrontはどちらもDNSサービスです。
D. Route 53とCloudFrontはどちらもCDNサービスです。

正解
A. Route 53はDNSサービスであり、CloudFrontはCDNサービスです。
~~~
AWSは、これらのサービスを組み合わせることで、インターネットからの攻撃に対する包括的な対策を提供し、顧客のアプリケーションとデータを保護しています。

## ⑧AWS WAF（Web Application Firewall）
AWS WAF（Web Application Firewall）は、ウェブアプリケーションを一般的なウェブ攻撃や脆弱性から保護するためのサービスです。このサービスは、カスタマイズ可能なセキュリティルールを使用して、SQLインジェクションやクロスサイトスクリプティング（XSS）などの攻撃からウェブアプリケーションを守ります。

:::note info
**AWS WAFの主な特徴と利点**

**さまざまな攻撃からの防御**: AWS WAFは、ウェブアプリケーションに対する様々な攻撃や不正なトラフィックをブロックすることで、セキュリティを強化します。

**迅速なデプロイ** AWS WAFは、迅速にデプロイできるように設計されており、数分でセキュリティルールを設定し、アプリケーションの保護を開始することができます。

**フルAPIサポート** AWS WAFは、APIを通じて完全に制御できるため、自動化や統合が容易です。これにより、開発者はプログラムによるセキュリティルールの管理や更新を行うことができます。

**モニタリング** AWS WAFは、リアルタイムでのトラフィックモニタリングとログ記録を提供し、セキュリティ上のイベントやパターンを分析するための洞察を提供します。
:::

AWS WAFは、Amazon CloudFrontやApplication Load Balancer（ALB）と統合されており、これらのサービスを通じて配信されるトラフィックに対してセキュリティルールを適用することができます。また、AWS WAFはAWS Shieldと連携して、DDoS攻撃からの保護を強化することも可能です。

AWS WAFを使用することで、ウェブアプリケーションのセキュリティを向上させるとともに、ビジネスにとって重要なリソースを攻撃者から守ることができます。また、AWSの広範なセキュリティサービスの一部として、AWS WAFはクラウドセキュリティの全体的な戦略に貢献します。
~~~
問題文
AWS WAFに関する以下の記述の中で、正しいものを選んでください。

選択肢
A. AWS WAFは、ウェブアプリケーションに対する様々な攻撃を検出することはできますが、
不正なトラフィックをブロックする機能はありません。
B. AWS WAFは、数日かけてセキュリティルールを設定し、
アプリケーションの保護を開始することができます。
C. AWS WAFは、APIを通じてのみ部分的に制御でき、自動化や統合は困難です。
D. AWS WAFは、リアルタイムでのトラフィックモニタリングとログ記録を提供し、
セキュリティ上のイベントやパターンを分析するための洞察を提供します。

正解
D. AWS WAFは、リアルタイムでのトラフィックモニタリングとログ記録を提供し、セキュリティ上のイベントやパターンを分析するための洞察を提供します。
~~~

## ⑨AWS Shield
AWS Shieldは、Amazon Web Servicesが提供するマネージド型の分散型サービス拒否（DDoS）攻撃保護サービスです。このサービスは、AWS上でホストされるアプリケーションをDDoS攻撃から保護するために設計されています。

:::note info
**AWS Shieldの主な特徴と利点**

**高度なDDoS攻撃からの保護** AWS Shieldは、大規模なDDoS攻撃に対して自動的に保護を提供し、攻撃を検出して緩和することができます。

**24x7 Security Response Team（SRT）** AWS Shield Advancedの顧客は、専門のセキュリティ対応チーム（SRT）のサポートを受けることができます。このチームは、攻撃が発生した場合に24時間365日体制で対応し、攻撃の緩和を支援します。

**攻撃の検知と緩和状況の可視化** AWS Shieldは、リアルタイムでの攻撃検知と緩和状況の可視化を提供し、顧客が攻撃に関する洞察を得ることができます。

**コスト保護** AWS Shield Advancedは、DDoS攻撃によって発生する追加のコストを吸収するコスト保護を提供します。これにより、攻撃による財務的な影響を軽減できます。

**検出とモニタリング項目の追加** AWS Shieldは、DDoS攻撃の検出とモニタリングのための追加項目を提供し、より詳細な分析が可能になります。

**AWS WAFとFW Managerのハンドリング** AWS Shieldは、AWS WAF（Web Application Firewall）およびAWS Firewall Managerと連携して、ウェブアプリケーションのセキュリティを強化します。これにより、DDoS攻撃だけでなく、他のウェブ攻撃からも保護することができます。
:::

AWS Shieldは、AWSのインフラストラクチャと統合されており、Amazon CloudFront、Amazon Route 53、Elastic Load Balancing（ELB）などのAWSサービスと連携して動作します。AWS Shield Standardは、すべてのAWS顧客に基本的なDDoS保護を無料で提供し、AWS Shield Advancedは、より高度な保護機能とサポートを有料で提供します。

~~~
問題文
AWS Shieldに関する以下の記述の中で、正しいものを選んでください。

選択肢
A. AWS Shieldは、DDoS攻撃に対して手動で保護を提供し、
攻撃を検出して緩和するためにはユーザーの介入が必要です。
B. AWS Shield Advancedの顧客は、専門のセキュリティ対応チーム（SRT）のサポートを受けることが
でき、このチームは攻撃が発生した場合に24時間365日体制で対応します。
C. AWS Shieldは、DDoS攻撃の検出とモニタリングのための追加項目を提供せず、
顧客は攻撃に関する洞察を得ることができません。
D. AWS Shieldは、AWS WAFと連携していませんが、DDoS攻撃からの保護を提供します。

正解
B. AWS Shield Advancedの顧客は、専門のセキュリティ対応チーム（SRT）のサポートを受けることができ、このチームは攻撃が発生した場合に24時間365日体制で対応します。
~~~

## ⑩AWS Firewall Manager
AWS Firewall Managerは、AWS Organizations内の複数のアカウントやアプリケーションにわたってファイアウォールルールを一元的に設定し、管理するためのサービスです。このサービスを使用することで、セキュリティ管理者はAWS環境全体のセキュリティポリシーを効率的に適用し、維持することができます。

:::note info
**AWS Firewall Managerの主な特徴と利点**

**AWS Organizationsとの統合** AWS Firewall Managerは、AWS Organizationsのアカウントやアプリケーションに対して、ファイアウォールルールを一元的に設定し、管理することができます。

**AWS Security Hubとの連携** AWSのセキュリティサービスであるAWS Security Hubと連携し、セキュリティイベントやアラートの集中管理を実現します。

**ポリシーの適用状況の管理** 管理者は、ポリシーがどのアカウントやリソースに適用されているかを簡単に確認し、管理することができます。

**セキュリティ管理者に対する単一アクセスポイントの提供**: AWS Firewall Managerは、セキュリティ管理者に対して、AWS環境全体のセキュリティポリシーを管理するための単一のアクセスポイントを提供します。

**全体での対応** AWS Organizationsに属するすべてのアカウントに対して、一貫したセキュリティポリシーを適用することができます。

**ポリシーの集中管理/設定** 必須ルールの適用やポリシーの変更を一箇所で行うことができ、ポリシーの一貫性を保ちながらセキュリティを強化します。

**ダッシュボードによる可視化** AWS Firewall Managerは、ダッシュボードを通じてセキュリティポリシーの適用状況やセキュリティイベントを可視化し、管理者が迅速に対応できるようにします。
:::

AWS Firewall Managerを使用することで、セキュリティ管理者はAWS環境全体のセキュリティを簡単に強化し、一貫したポリシー適用を確実に行うことができます。これにより、複数のアカウントやアプリケーションにわたるセキュリティの複雑さを軽減し、セキュリティ運用の効率化を図ることが可能になります。
~~~
問題文
AWS Firewall Managerに関する以下の記述の中で、そのサービスの利点を最もよく表しているものはどれですか？

選択肢
A. AWS Firewall Managerは、AWS Organizationsのアカウントアプリケーションに対して、
ファイアウォールルールを個別に設定し、管理することができます。
B. AWS Firewall Managerは、AWS Security Hubと連携して、
セキュリティイベントやアラートを個々のアカウントレベルで管理します。
C. AWS Firewall Managerは、セキュリティポリシーが
どのアカウントやリソースに適用されていないかを確認し、管理することができます。
D. AWS Firewall Managerは、セキュリティ管理者に対して、
AWS環境全体のセキュリティポリシーを管理するための単一のアクセスポイントを提供します。

正解
D. AWS Firewall Managerは、セキュリティ管理者に対して、AWS環境全体のセキュリティポリシーを
管理するための単一のアクセスポイントを提供します。
~~~

### 意外と、勉強になったのではないでしょうか？