AWS Certified Advanced Networking - Specialty (ANS) 受験に向けてメモ
試験内容の確認
出題範囲と割合
分野 | 出題の比率 |
---|---|
第 1 分野: ハイブリッド IT ネットワークアーキテクチャの大規な設計および実装 | 24% |
第 2 分野: AWS ネットワークの設計と実装 | 28% |
第 3 分野: AWS タスクのオートメーション | 8% |
第 4 分野: アプリケーションサービスとのネットワーク統合の構成 | 14% |
第 5 分野: セキュリティとコンプライアンスの設計と実装 | 12% |
第 6 分野: ネットワークの管理、最適化、トラブルシューティング | 14% |
合計 | 100% |
- 試験時間: 170 分間
- 65 個の質問 (複数選択または複数応答のいずれか)
- 合格スコア: 750 (特典範囲: 100 〜 1000点)
AWS Japan 認定インストラクターによる試験準備講座がこれ。
まずこれを見てみる。
準備講座動画メモ
分野1: 大規模なハイブリッドITネットワークアーキテクチャを設計し、実装する
以下の知識が問われる。
- AWS Direct Connect
- AWS Managed VPN
- Cloud Hub
- Transit Gateway
- Transit VPC
- VPC Peering
- 推移的なルーティング
準備講座動画メモ
分野2: AWSネットワークを設計し、実装する
以下の知識が問われる。
- グローバルインフラストラクチャ
- VPCの詳細な知識
- 拡張ネットワーキング
- ジャンボフレーム
- プレースメントグループなどのEC2ネットワーキング
準備講座動画メモ
分野3: AWSタスクを自動化する
以下の知識が問われる。
- CloudFormation
- Service Catalog
- AWS CLI
- AWS SDK
- AWS Config
準備講座動画メモ
分野4: アプリケーションサービスとネットワークの連携を構成する
以下の知識が問われる。
- Route 53
- ハイブリッド環境でのDNSソリューション
- DHCPオプションセット
- マルチリージョンでのロードバランシング
- B/Gデプロイ
- CDN
準備講座動画メモ
分野5: セキュリティとコンプライアンスを設計し、実装する
以下の知識が問われる。
- VPC
- IAM
- Organizations
- AWS WAF
- AWS Shield
- CloudWatch
- VPC FlowLog
- CloudTrail
- KMS
- AWS Config
- Trusted Advisor
準備講座動画メモ
分野6: ネットワークの管理、最適化、トラブルシューティングを行う
以下の知識が問われる。
- 拡張ネットワーキング
- ジャンボフレーム
- プレイスメントグループ
- CloudWatch
- VPC FlowLog
- ネットワークの経路切り替え
知識がほぼ無い、DirectConnectとVPN 系サービスを整理することから始めていく。
用語集
不明ワードをまとめておくスレッド。
ここから再認定のための復習メモ
VPC
IPアドレスの割り当て
- IPv4である必要がある
- CIDRはプライマリとセカンダリの2種類割り当てることができる
- CIDRは/16から/28の範囲で割り当てる必要がある
- セカンダリはプライマリのIP範囲と重複できない
- セカンダリはプライマリのRFC1918の範囲と異なるIPアドレス範囲を追加できない
予約済みIPアドレス
以下はAWSに予約され利用できないIPアドレス。
- .0: ネットワークアドレス
- .1: VPCルーター用
- .2: DNSサーバー用
- .3: 将来の利用のための予約アドレス
- .255: ブロードキャスト
IPv6
- VPCにはIPv6アドレスの割り当ても可能。ただし、IPv4アドレスに追加で割り当てる形となり、IPv6のみの割り当てはできない。
- VPCに割り当てる際のCIDRは/56固定
- サブネットに割り当てる際のCIDRは/64固定
- IPv4同様、最初の4アドレスと最後の1アドレスはAWSに予約されており利用不可
DHCP
- VPCはDHCP機能を有している
- サブネット内のENIに自動的にIPを払い出す
- 固定IPアドレスを割り当てるときにもDHCP機能が使用できる
- IPアドレス以外にDHCPオプションセットとして以下の情報を配布できる
- DNSサーバーのIPアドレス(デフォルトはRoute 53 Resolver(Amazon Provided DNS
Amazon Provided DNS)) - カスタムドメイン名(EC2インスタンスに付与するDNSドメイン名)
- NTPサーバーのIPアドレス(デフォルトは設定なし)
- NetBIOSネームサーバーのIPアドレス(デフォルトは設定なし)
- NetBIOSノードタイプ(デフォルトは設定なし)
- DNSサーバーのIPアドレス(デフォルトはRoute 53 Resolver(Amazon Provided DNS
- DHCPオプションセットの設定変更は できない
- 新規に作成しVPCに割り当てる必要がある
DNS
- Route 53 Resolver(Amazon Provided DNS)のエンドポイントは以下2つ
- 169.254.169.253
- VPCのネットワークアドレスに2加えたアドレス(10.0.0.0/24 なら 10.0.0.2)
セキュリティグループとネットワークACL
それぞれの細かいところは割愛。
セキュリティグループとNACLの違いについて整理。
セキュリティグループ | ネットワークACL | |
---|---|---|
適用対象 | ENI | サブネット |
適用できる数 | 1ENIに複数設定可 | 1サブネット1つまで |
定義できるアクション | 許可のみ(拒否ベース) | 許可と拒否 |
戻りの通信 | ステートフルのため設定は不要 | ステートレスのため設定が必要 |
ルールの評価 | 定義されたすべてのルールを評価 | ルール番号の若い順に評価 |
送信元/送信先の指定 | セキュリティグループを指定可能 | IPアドレス/範囲しか指定できない |
引用元:要点整理から攻略する『AWS認定 高度なネットワーキング-専門知識』
ルートテーブル
- ルートテーブルには送信先(IPアドレス/範囲)とターゲットをセットにしてルールとして設定する
- 1つのサブネットには1つのルートテーブルのみ関連付けられる
- 1つのルートテーブルは複数のサブネットを関連付けられる
- デフォルトでlocalというターゲットが定義され、VPCのCIDRブロック内の通信が可能
- ルートテーブルの各ルールはロンゲストマッチ(より詳細な送信先ルールを優先する)で評価される
- VPC作成時に自動で
メインルートテーブル
が作成され、明示的にルートテーブルを関連付けていないサブネットは自動的にメインルートテーブルに関連付けられる
ゲートウェイ
インターネットゲートウェイ
- VPCとインターネット間のルーティングを行う
- パブリックIPアドレスを持つインスタンスからの通信をNATする
- パブリックIPアドレスを持つインスタンスとインターネットゲートウェイの間の通信はプライベートIPで行われる
- インターネットゲートウェイをターゲットとしたルートを持つサブネットをパブリックサブネットとよぶ
Egress-Onlyインターネットゲートウェイ
- IPv6用のインターネットゲートウェイ
- VPC内からインターネットへのアクセスのみ可能(ステートフルのため戻りの通信も含む)
- 通常のインターネットゲートウェイと同様に、水平スケーリングによる可用性が確保されている
仮想プライベートゲートウェイ
- VPNやDirect ConnectによりVPC接続した場合のVPC側の入口/出口となるゲートウェイ
- 作成後VPCにアタッチする
- ルートテーブルのターゲットに設定できる(vgw-*)
NATゲートウェイ
- プライベートIPアドレスをパブリックIPアドレスにNATする
- パブリック側からプライベート側にアクセスできない
- NATゲートウェイが属するサブネットのルートテーブルにインターネットゲートウェイを設定することでプライベートサブネットからインターネットへアクセスできるようになる
- インターネットゲートウェイと異なり冗長性がないため、AZごとにNATゲートウェイを配置する
- インスタンスとNATゲートウェイの間はAZを跨がないようにルートを定義する
ゲートウェイ型VPCエンドポイント
- DynamoDBとS3に接続するためのゲートウェイ
- 作成してVPCに紐づけることでインターネットを経由せずにDynamoDBやS3にアクセス可能になる
- ルートテーブルの送信先にはAWSが管理するプリフィックスリスト(pl-*)を設定する
- ルートテーブルのターゲットにはVPCエンドポイント(vpce-*)を設定する
- エンドポイントポリシーを設定し、エンドポイントからAWSサービスへのアクセスを制御できる
- 書き方はIAMポリシーと同じ
- パブリックIPを利用する
- VPC外から利用できない
- 例えば仮想プライベートゲートウェイを経由したオンプレミスからゲートウェイ型VPCエンドポイントへアクセスできない
- この場合ゲートウェイ型ではなくインターフェイス型を利用する
- 料金は無料
インターフェイス型VPCエンドポイント
- ENIとしてサブネット内に構成されるエンドポイント(ゲートウェイではない)
- エンドポイント経由でAWSサービスに接続できる(DynamoDB以外)(S3は両方選択可能)
- プライベートIPを利用する
- VPC外からも利用可能
- 料金がかかる
VPCピアリング
- VPC同士を接続し、VPC間で通信可能にする
- 推移的には接続されない(VPC-A ~ VPC-B ~ VPC-Cのように接続されている状況でVPC-AからVPC-Cにアクセスすることはできない)
EC2関連のネットワーク
EC2インスタンス
- ENIと呼ばれる仮想ネットワークカードが割り当てられ、ENI経由で通信する
- ENIはサブネットに接続する
- 1EC2インスタンスに複数のENIを割り当てることができる
- ただしAZが異なるENIを割り当てることはできない
EBS最適化
- EC2インスタンスのブロックストレージであるEBSは、インスタンスとネットワークを介して接続する
- EBS最適化を有効にすると、I/O専用のネットワーク帯域が割り当てられ、ほかの通信と競合しなくなる
- 最近のインスタンスタイプはデフォルト有効
ネットワーク帯域
- EC2インスタンスで利用できるネットワーク帯域はインスタンスタイプによって異なる
- ベースライン帯域幅とバースト帯域幅が設定されている
- 基本はベースライン帯域を使用し、それを超えて帯域を利用する場合にはクレジットを消費してバースト帯域を使用する(tシリーズのCPUと同じ考え方)
- ただしベストエフォートで必ずしもバースト帯域を利用できるとは限らない
- さらにパフォーマンスを向上させる場合には、ENAを使用して拡張ネットワーキングを有効にする
- 最大100Gbps
- AWSのサポート対象のAMIではデフォルトで有効化されている?
プレイスメントグループ
クラスタープレイスメントグループ
- EC2インスタンスが物理的に密接した環境で稼働する
- ネットワーク帯域を大きく、遅延を少なくできる
- インスタンスが同一AZ内にある必要がある
スプレッドプレイスメントグループ
- インスタンス同士を別ラックで稼働させる
- ラックの障害による影響を少なくする
- 異なるAZで動作するインスタンスをグループに追加でき、同一AZ内では7つまでインスタンスを追加できる
パーティションプレイスメントグループ
- グループをパーティションでわける
- パーティションごとにラックがわかれる
- パーティション内のインスタンス数は無制限
- AZごとにパーティションは7つまで
ジャンボフレーム
- フレーム(データリンク層)のMTUを標準規格(1500)より大きくしたもの
- 一度に通信する量を多くして効率を上げる
- MTU9001をサポート
- インターネットゲートウェイ、仮想プライベートゲートウェイ、VPCピアリングなどVPC外と通信する際にはMTU1500に制限されるためフラグメントが発生しネットワークパフォーマンスが低下する
- プレイスメントグループ内で通信する際に利用するとよい
- 最近のインスタンスタイプではサポートしている
オンプレミスとAWSの接続パターン
引用元:要点整理から攻略する『AWS認定 高度なネットワーキング-専門知識』
直接接続
オンプレミス環境から、公開されているパブリックIPに対して直接接続する。
インターネットVPN
インターネットを介してオンプレミスとAWS間をVPNで接続する。
VPNの実現方式としては以下が考えられる。
- AWS Site to Site VPN
- AWS Client VPN
- サードパーティ(EC2インスタンス上にサードパーティのVPNソフトウェアを導入したりマーケットプレイスでアプライアンスを購入したりして、AWSマネージドでないVPN環境を構築する)
メリット、デメリットは以下の通り。
- メリット
- 比較的安価に構築できる
- リードタイムが(DirectConnectなどの閉域網と比較して)短い
- (サードパーティのみ)AWSサービスでは実現できない要件(暗号化方式など)に対応できる
- デメリット
- 通信品質が安定しない
専用ネットワーク
インターネットを介さずに閉域網サービスによってAWSと接続する。
閉域網の実現方式としては以下が考えられる。
メリット、デメリットは以下の通り。
- メリット
- 安定したスループットが出る
- デメリット
- リードタイムが(インターネットVPNと比較して)長い
AWSサイト間(Site-to-Site)VPN
Virtual Private Gateway(VGW)
割愛
Customer Gateway(CGW)
VPN接続におけるオンプレミス側のエンドポイント。
AWS公式のFAQによると、CGWとして使用できるデバイスの条件は以下の通り。
- Pre-Shared キーを使用して IKE Security Association を確立する
- Tunnel モードで IPsec Security Association を確立する
- AES 128 ビット、256 ビット、128 ビット GCM-16、または 256-GCM-16 暗号化機能を利用する
- SHA-1、SHA-2 (256)、SHA2 (384)、または SHA2 (512) のハッシュ関数を利用する
- 「グループ 2」モード、または AWS がサポートする追加の DH グループの 1 つで Diffie-Hellman (DH) Perfect Forward Secrecy を使用する
- 暗号化の前にパケットの断片化を実行する
ルーティングにBGPを使用する場合は、さらに以下の機能が必要。
- Border Gateway Protocol (BGP) ピア接続を確立する
- トンネルを論理インターフェイス (ルートベースの VPN) にバインドする
- IPsec デッドピア検出の利用
VPN経由で直接アクセス可能なAWSリソース
- VGWがアタッチされているVPCにあるリソース(EC2、RDSなど)
- インターフェイスタイプのVPCエンドポイント
以下は直接アクセスできない
- xxゲートウェイ(インターネットゲートウェイなど)
- VPC内のDNSサーバ
- パブリックIPアドレスでアクセスするAWSサービス(S3, DynamoDB?)
AWSクライアントVPN
- OpenVPNベース
- Win, Mac, iOS, Androidなどから接続可能
- VGWを使用せず、クライアントVPNエンドポイント(ENI)を使用する
Direct Connect
AWSが指定するデータセンタのネットワーク設備を利用してオンプレミスとAWSを接続するサービス。
BGP
- Direct Connectで使用するルーティングプロトコル
- (Direct Connectにおいて)オンプレミスとAWS VPC間の経路情報の伝達に使用する
- 経路情報を伝達することを
広報・広告・アドバタイズ
と呼ぶ - 経路情報には後述するAS番号が含まれる
AS番号
- ASはAutonomous Systemの略。超要約するとインターネットを構成する各ネットワークのことを指し、学校、企業、インターネットサービスプロバイダなど特定の組織が組織のポリシーに従って管理している。
- AS番号はASを区別するための番号。重複防止の為IANAが統一的に管理し各地域のインターネットレジストリに配布。
- AS番号にはインターネット上の経路制御に用いられるAS番号と、AS内部で用いられるプライベートAS番号がある。
- Direct ConnectのルーティングではプライベートAS番号が使用される。
- AWS側のAS番号は、デフォルト値として64512を推奨。オンプレミス側は重複しない番号を使用する必要がある。
参考:AS番号とは - 意味をわかりやすく - IT用語辞典 e-Words
ASパスプリペンド
BGPにおいて、特定の経路の優先度を下げるための仕組み。
- BPGではターゲットまでのルートをAS番号のリストで表現する(=パス属性)
- パス属性のAS番号数が少ない=距離が近い→優先的に選択されるルートとなる
- パス属性のAS番号が同じルートが複数ある場合は、どちらのルートも等しく利用する
- ルートを冗長構成にし、現用系と待機系で役割を分けたい場合はASパスプリペンドを使用する
- ASパスプリペンドを待機系側の設備に設定するとパス属性のAS番号が余分に1つ追加され、現用系と比べて距離が長くなり、経路選択されなくなる
- 現用系に障害が発生し利用できなくなると待機系が利用される
MED属性
- Multi-Exit-Discriminatorの略
- 自ASと隣接するASの間の経路が複数ある場合に、使用する経路を指定する
- AWSでは非推奨 https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/routing-and-bgp.html
LocalPrefernce(LP)属性
- パス属性より優先して経路の優先度を設定できる仕組み
- AWS側から広告されるパス属性は利用者側で制御できない→経路を選べない
- 利用者側で優先したい経路がある場合LP属性を使用する
- 優先したい経路のLP属性値を大きく設定する
BFD
- Bidirectional Forwarding Detection(双方向フォワーディング検出)の略
- 隣りあう2台のルータ間の障害を高速に検出しルーティングプロトコルに通知する
- BGPはBFDの通知を受け取ることができる
- Direct ConnectではBFDの利用を推奨
- BFDで通信断を検知したあと、一定時間(最小値300ms x 3回連続NG)で障害と判断し経路切替
- BGPにも障害検知の仕組みはあるが、通信断検知後の待機時間がBFDと比較して長い(最小3秒)
ダイレクトコネクト物理接続
接続方式が、専有接続(ホスト型VIF)とホスト型接続の2パターンある。
専有接続(ホスト型VIF)
- ダイレクトコネクトルーターの物理的なポートを専有し複数VIFを収容することができる
- ダイレクトコネクト物理接続を作成したあとにダウンロードする
LoA-CFA
ファイルをデータセンター業者に提出し構内配線を依頼する - コロケーションやネットワーク機器の準備を利用者自信で行う必要がある
ホスト型接続
- AWSダイレクトコネクトデリバリーパートナーが提供するサービスを通じてダイレクトコネクトと接続する
- コロケーションやネットワーク機器などはAWSダイレクトコネクトデリバリーパートナーが用意し、それらをサービス利用者が共用する
- VIFを1つ作成できる
カスタマールーター
- ダイレクトコネクトルーターと通信を行うルーター
- 必要な仕様は以下
- シングルモードファイバ(1000BASE-LX, 10GBASE-LR)
- VLAN(802.1q)
- BGP+MD5認証
- BFD
仮想インターフェース(VIF)
- ダイレクトコネクト物理接続の中に作成される仮想インターフェース
- パブリックVIF、プライベートVIF、トランジットVIFがある
パブリックVIF
- インターネット上に公開されているAWSリソースにアクセスするためのVIF
- パブリック公開したS3やCLIでアクセスするエンドポイントなど
- グローバルIPアドレスでBGPする必要があるため、オンプレミス側からはNAPTでプライベート→グローバル変換が必要(AWSから/31のグローバルIP提供を受けられる)
- 作成に必要な情報は以下
- VIFに使用するダイレクトコネクト物理接続
- VLAN ID
- カスタマールーターで使用するAS番号
- カスタマールーターおよびダイレクトコネクトルーターで使用するIPアドレス
- カスタマールーターから広報するプレフィックスのリスト
- MD5認証キー文字列
プライベートVIF
- VPCにアタッチしたダイレクトコネクトゲートウェイやVGWに接続するためのVIF
- 作成に必要な情報は以下
- VIFに使用するダイレクトコネクト物理接続
- ダイレクトコネクトゲートウェイまたはVGWのID
- VLAN ID
- カスタマールーターで使用するAS番号
- カスタマールーターおよびダイレクトコネクトルーターで使用するIPアドレス
- MD5認証キー文字列
トランジットVIF
- トランジットゲートウェイを関連付けたダイレクトコネクトゲートウェイに接続するためのVIF
- 専有接続の場合1つまで、ホスト型接続の場合帯域幅1Gbps以上なら作成可能
- 作成に必要な情報は以下
- VIFに使用するダイレクトコネクト物理接続
- ダイレクトコネクトゲートウェイ(VGWは使用できない)
- VLAN ID
- カスタマールーターで使用するAS番号
- カスタマールーターおよびダイレクトコネクトルーターで使用するIPアドレス
- MD5認証キー文字列
暗号化
- パブリックVIFを使用したAWSサイト間VPNの使用
- プライベートVIFを使用したサードパーティVPN
拡張
- BGPマルチパス(アクティブ/アクティブ)
- LAG(Link Aggregation Group)
- LAGを構成する接続がすべて同一の速度
- LAGを構成する接続がすべて同一のAWSデバイスと接続すること
- 100Gbps未満のポートは4本まで、100Gbpsは2本までの構成
- スケールアップ(1Gbps→10Gbpsなど)
冗長化
シングルコネクション・デュアルロケーション | デュアルコネクション・デュアルロケーション | デュアルコネクション・シングルロケーション | +AWSサイト間VPN | |
---|---|---|---|---|
概要 | 2つの異なるダイレクトコネクトロケーションでそれぞれ1つのダイレクトコネクト接続を用意する。AWS推奨構成1 | 2つの異なるダイレクトコネクトロケーションそれぞれで2つのダイレクトコネクト接続を用意する。AWS推奨構成2 | 1つのダイレクトコネクトロケーションで2つのダイレクトコネクト接続を用意する。ミッションクリティカル環境では非推奨。 | DirectConnect障害時のバックアップ回線としてAWSサイト間VPNを使用する。DirectConnectとVPN接続は異なる設備のためお互いの障害やメンテナンスの影響を受けにくい。 |
耐障害性 | 中 | 高 | 低 | - |
コスト | 中 | 高 | 低 | 低 |
参考: 回復性に関する推奨事項 - AWS Direct Connect | AWS
VPCを経由してVPC外リソースにアクセスする
- プロキシサーバをたてて利用する
- Transit VPC
- トランジットゲートウェイは?
Transit Gateway
VPC間の通信を制限する Route Domain
- VPCは共有リソースVPCに接続できる
- VPC間(共有リソースVPC除く)は相互接続させない
- VPC(共有リソースVPC除く)は共有リソースへのルートを持つルーティングテーブルにアタッチ
- 共有リソースは各VPCへのルートを持つルーティングテーブルにアタッチ
【AWS Black Belt Online Seminar】AWS Transit Gateway
- メリット
- Transit GatewayですべてのVPC/DX/VPN間の通信を制御できる
- マルチアカウントで自信でVPC内のNACLやSGを制御できない場合でも有効
- デメリット
- ルーティングテーブルの管理が煩雑になる
- ルーティングの知識が必要
補足
- VPC間の相互接続を制限するのであればDirectConnectGateway+VPC Peeringでも実現可能
インターネットに抜けるOutbound Domain
【AWS Black Belt Online Seminar】AWS Transit Gateway
VPC間トラフィックをインライン監査するRoute Domain
【AWS Black Belt Online Seminar】AWS Transit Gateway
- 10.4.0.0/16でインライン監査する
- 監査用のミドルボックスを冗長化する場合、監視用のインスタンスもしくはLambdaを作成し、ミドルボックスが落ちたらルーティングテーブルを待機系のアタッチメントに変更する
Transit Gateway + Direct Connect/VPN
【AWS Black Belt Online Seminar】AWS Transit Gateway
- Transit Gatewayにアタッチするリソースは他アカウントのものでもOK(Resource Access Managerを利用して共有する)
Route 53
DNSSEC署名の設定
Amazon Route 53 での DNSSEC 署名の設定
- DNSSEC署名によりDNS応答が改ざんされていないことを検証できる
- DNSSECのエラーをすばやく検知するために以下2つのCloudWatchメトリクスに対してアラームを設定することを推奨
- DNSSECInternalFailure
- DNSSECKeySigningKeysNeedingAction
- DNSSECに使用するキーは2種類。KSK(キー署名キー)とZSK(ゾーン署名キー)。前者はユーザーが、後者はAWSが管理する。
- DNSSEC署名を設定するとRoute53のTTLは1週間に制限される。
- DNSSEC署名は「KSK作成」→「親ゾーンに委任署名者(DS)レコード追加して信頼チェーン作成」の順で行う。