Exam Readiness AWS Advanced Networking Overview (Japanese)のまとめ

# はじめに
AWS DOPの試験対策で[Exam Readiness AWS Advanced Networking Overview (Japanese)](https://explore.skillbuilder.aws/learn/course/12691/play/49965/advanced-networking-overview-japanese)を視聴したので、内容をまとめます。

モジュール1,2は難しく、何回か戻しながら視聴しましたが、3以降は既存の知識（SAP、DOP）で対応可能と思ったため、記載を簡略化しています。

# アジェンダ
| モジュール | 内容 |
|------|---------|
|    1  | [AWSネットワークの設計と実装](#モジュール１：AWSネットワークの設計と実装)|
|    2  | [ハイブリットITネットワークアーキテクチャの設計と実装](#モジュール2:ハイブリットITネットワークアーキテクチャの設計と実装)|
|    3  | [アプリケーションサービスとネットワークの統合](#モジュール3:アプリケーションサービスとネットワークの統合) |
|    4  | [セキュリティとコンプライアンス設計の実装](#モジュール4：セキュリティとコンプライアンス設計の実装)|
|    5  | [自動化](#モジュール5:自動化)|
|    6  | [ネットワークの管理、最適化、トラブルシューティング](#モジュール6ネットワークの管理、最適化、トラブルシューティング)|


# モジュール１：AWSネットワークの設計と実装
## 講義
- DHCP:ホストに設定情報を渡すプロトコル
- ルートテーブルにはVPC内の全てのサブネットが自動的に設定され削除できないので、同じVPC内のサブネット同士の通信は可能。
- パブリックサブネットにあるからといってEC2インスタンスがパブリックIPを持っているわけではない。IGWで1:1にNATされる。
- NATゲートウェイ
  - 単体ではインターネットにアクセスできず、IGWを必ず経由する。
  - NAT GatewayにはElasticIPが必要。これがNAT対象のパブリックIPとなる。
- インターフェースエンドポイント
  - private IPアドレスを持つ。
  - セキュリティグループを設定可能。
  - Direct ConnectやVPN接続が可能。
  - TCPのみ使用可能。
  - エンドポイントポリシーとしてIAMポリシーをアタッチ可能。
- ゲートウェイエンドポイント
  - ルートテーブルでサービスが指定される。
  - Direct ConnectやVPN接続は不可。
  - エンドポイントポリシーとしてIAMポリシーをアタッチ可能。
- プレフィックスリスト
  - ルートテーブルのターゲットとして指定できるネットワークアドレスのまとまり。
  - 複数のルートテーブルに設定することで同じ設定が可能。
- ENI
  - プライマリのENIは削除不可。
  - EBSや他のインスタンスと設定するために設定する。
- https://qiita.com/tetsuya_tech/items/b1321cec0f614b75a583

## 例題
- IPv4アドレスを同じリージョンの別インスタンスに移動したい。
-> 既存のEC2インスタンスにセカンダリIPをアタッチする。同じAZ内であればENIでも可。
- VPCでIPアドレスが枯渇したため追加したい。
-> セカンダリCIDRを追加する。

# モジュール2:ハイブリットITネットワークアーキテクチャの設計と実装
## 講義
- VPN
  - サイト間VPN:トンネルの両端のホストが双方に利用可能。IPアドレスは静的。
  - VGW
    - AWS側のゲートウェイ。
    - AS番号を設定するが、オンプレミス側のVPNルータに設定されているAS番号とは別のものを使う必要がある。
    - 作成と同時に二つのエンドポイントIPが作成され、冗長化構成が構築される。
    - VPCにアタッチすることは必須ではない。これを利用して拠点間通信のみの設定が可能。（AWS VPN　CloudHubという。）
    - IPsecを使用するのはオンプレミス側で作業が必要。
    - EFS、ゲートウェイエンドポイント、VPC DNSにはアクセス不可。
    - Cloudwatchによってモニタリングが可能。
  - EC2によるVPN
    - EC2でエンドポイントを作成する。
    - マーケットプレイスやオープンソースを使う。
    - EC2から接続が作成されるので、EFS、ゲートウェイエンドポイント、VPCピアリングで接続されたVPC、Direct Connectで接続されたオンプレミスNWに接続可能。
    - IPsec以上のセキュリティソフトを使用する場合はこちらを使う。
- Direct Connect
  - DXロケーションを経由して接続する。
  - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/9ccc32c0-e881-c9f4-3977-6252ada78b7c.png)
  - 専用接続：通常の接続。複数の仮想IFをサポート。
  - ホスト接続：パートナー経由で使用するため、複数のエンドユーザが使用。単一の仮想IFをサポート。
  - VIF
    - パブリックVIP:グローバルなAWSサービスにアクセス可能。パブリックIPが必要。
    - プライベートVIP：VPC内部に接続可能。
    - トランジットVIP:トランジットゲートウェイを使用。
  - Direct Connect ゲートウェイ
    - 一つのVIFで10までVPCを接続可能。
    - リージョンをまたいだ接続も可能。
    - VPC同士の通信は不可。
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/773ba2fc-dc67-f5f3-e7a7-ee0e369d2198.png)
  - リンクアグリゲーショングループ：複数のイーサネットリンクを一つにまとめることで可用性の向上、帯域の増強。
  - ルーティング
    - VPCへのローカルルートはデフォルトで作成され、追加、削除はできない。
    - ロンゲストマッチ > AP_PATH
    - スタティック > ダイナミック
- 推移的なルーティング：VPCではサポートされていない。

# アプリケーションサービスとネットワークの統合
## 講義
- Route53
  - SAAレベルの知識の解説。
- ELB
  - SAAレベルの知識の解説。
- CloudFront
  - コンポーネント
    - パスパターンマッチング：URLのパターンによって動作を設定
    - オリジン選択：複数のオリジンを設定可能。AWSリソース以外のカスタムリソースも設定可能。
    - ヘッダー：HTTPメソッドに対応するため動的なパフォーマンスを向上。ユーザーのエージェント、言語、プロトコルに基づいて応答を変化させることも可能。
    - クエリ文字列/Cookie：オリジンへの転送可否を設定可能。
    - 署名付きURL:発行、検証可能。
    - SSL証明書：CloudFront独自の証明書を利用可能。オリジンとの通信にもHTTPSを使用可能。ACMでプロビジョニングしてデプロイ、管理可能。
    - プロトコル強制：キャッシュのキーの一部としてプロトコルを含めてオブジェクトを識別可能。指定されたプロトコルのみをオリジンに転送することも可能。
    - TTL:短くすることで動的なサイトに対応しやすく、長くすることでキャッシュからの応答を増やすことが可能。
    - リクエストヘッダーにエンコーディングGZIPが含まれている場合にコンテンツを圧縮して配信する。
    - Lambda@edgeにより様々なロジックを導入可能。
## 例題
- CloudFrontで送信元IPアドレスによってフィルタしたい。
-> WAFのwebACLを使用する。
- 複数のターゲットグループでヘルスチェックを構成したい。
-> ターゲットグループごとに定義可能。

# モジュール4：セキュリティとコンプライアンス設計の実装
## 講義
- アクセス制御
  - IAM
- エッジでの保護
  - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/6bb7ef20-0729-7313-4ada-aee474f41876.png)
- モニタリング
 - CloudWatch
 - CloudTrail
 - VPCフローログ
 - AWS Config
 - Trusted Advisor
-> SAP、DOPの知識で対応可能。

## 例題
- IPv6インスタンスではアウトバウンドトラフィックをインターネットにルーティング、インターネットからIPv6ホストへの直接のルーティングはブロック
-> Egress-Only IGWを設定し、::/0を追加する。 
- EC2からS3へVPCエンドポイントでアクセス。アクセス制御をしたい。
-> エンドポイントポリシーを使用。

# モジュール5:自動化
## 講義
- CFn
- Service Catalog
- CLI
- APIとSDK
-> DOPの知識で対応可能。 

## 例題
- ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/e50f1154-3505-7160-312f-1e7efe2b187d.png)
- ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/6579ec08-b4e1-b13e-e418-f1170bf42e0b.png)

# モジュール6:モジュール6:ネットワークの管理、最適化、トラブルシューティング
## 講義
- 細かい内容のように思えるので、模擬試験等を利用して対策する。

#　模擬試験
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/9247c2d5-d352-7d41-8e39-d5cb172cf290.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/4f003cc3-3e4c-1be2-b6a6-7074699bc948.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/a0875660-7d0c-2f90-1f66-a553129f3977.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/0878df90-8875-56ce-bdfc-f79022389994.png)エイリアスレコードであれば内部的にIPが変更されても問題がない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/7547bea7-12ed-0005-bd58-06c8cb2f7a4d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/1fe9aad9-0168-ef57-c219-d6893ae76b49.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951272/92f7dca6-5656-ec68-ed11-30c6928ba768.png)