この記事で分かること
- AWS Certified Advanced Networking(ANS)試験について
試験の難易度
難易度:
この記事では、専門知識「AWS Certified Advanced Networking」について纏めたいと思います。
まず最初に書いておくと、私が落ちた最初で最後の試験です。
以下の記事で書きましたが、私は試験範囲を全く見ずに
問題集の学習のみでテストに挑むスタイルでした。

ANSは2022/7に改定され、DirrectConnectありきの試験から、
TransitGatewayありきの試験に大きく変わったのですが、
このTransitGatewayについて深く理解していないと歯が立たなかったです。
(もちろんDirrectConnecは今も現役なサービスですが、
「もう知ってるよね」とAWSが言っているように感じました)
もちろん厳密には試験が改定されたことは知ってはいましたが、
「深く」は考えていませんでした。
変わったといっても、サービスそのものが変わったわけではないから~
とかよく分からない自信を持って試験に臨んだことを覚えています。
恥ずかしい話ですが、
大事な経験でもあるので記載しました。
さて、試験の難易度ですが、文句なしのMAX5です。
これは私がNWを不得意としていることもありますが、
NWの問題なので、登場人物ならぬ登場場所が多くて問題文が長く、そして設問も長く
整理に非常に時間が掛かります。
そのため、各サービスやそのサービスのコンポーネントを理解していることは必須で、
おおよその回答を想定してから設問を読む、という戦法をとりました。
十分に勉強して臨んだ2回目ですが、それでも3時間目いっぱい使いました。
勉強方法
この試験に限っては「要点から整理する」の参考書では歯が立ちません(2023/6/18時点)。
というのも、上述したTransitGatewayの情報が不十分だからです。
これは執筆タイミングの問題であって、
参考書としては非常に丁寧で、私は好きです。
改定して日も浅いということもあり、問題集が十分に存在しなかったため、
旧試験には存在しないサービス(TransitGatewayやNetworkFirewall等)の
AWSブログを読み漁り、構成を暗記しました。
ただ、問題集が一切存在しないというわけではなく、
以下WhizlabsのANS-C01対応の問題(130問ほど)を実施しました。
◆Whizlabs
AWS Certified Advanced Networking Specialty
https://www.whizlabs.com/aws-advanced-networking-speciality/
また、以下重要ポイントにあげるBlackBeltはとにかく読み込みましょう。
個人的な感想ですが、NWは言っていることは難しくないのですが、
「分かった気になる」不思議な分野に思います。
以下リンクにBlackBelt他、サービス別資料が本当に沢山あります。
AWS サービス別資料
私からアドバイスできることとしては、
以下重要ポイントに挙げた”程度”の構成図は、何も見なくても書けるレベルでないと、
試験で「考える時間」が足らなくなります。
試験問題を読んですぐにある程度の構成が頭に浮かぶ状態になるようにしたいところです。
重要ポイント
構成に関して参考にしたBlackBelt等を紹介します。
多いのでサクサクと紹介してきます。
◆VPN
以下3種類は頭に入れておきましょう。

引用元:[AWS Black Belt Online Seminar] AWS Site-to-Site VPN
◆GWLBの基本構成
簡単に言えば、Applience製品が配置されたVPCへ通信を送って検査をし、
問題なければ宛先に送るロードバランサです。

引用元:[AWS Black Belt Online Seminar] Gateway Load Balancer 資料及び QA 公開
◆NetworkFirewall(NF)
注意事項としてNFの標準構成は以下です。
(More Specific Routing機能追加により可能となった構成)

引用元:[AWS Black Belt Online Seminar]AWS Network Firewall 応用編1 資料公開
昔は、NFは以下のように
NAT GatewayとInternet gatewayとに挟まれる形でした。
そのため、外への通信においてNFから見て送信元は常にNAT Gatewayでした。
入門編はこちらの構成で書かれているため、注意してください。

引用元:[AWS Black Belt Online Seminar] AWS Network Firewall 入門 資料公開
また、NFはデプロイのタイミングで、「ファイアウォールサブネット」に配置することになります。
(デプロイ時にファイアウォールサブネットの名前を設定する必要がある)
マネージメントコンソール上で「ファイアウォールサブネット」という言葉が使われておりますので、
試験でもその言葉が使用されると考えられます。
◆NetworkFirewall(NF)+TransitGateway(TGW)
上述のNFの標準構成を「監査用VPC」とし、
配下のVPCは全て監査用VPCを通る設計とした構成です。
このあたりから「RouteTable」を書く練習をしましょう。
例えば、TransitGatewayは複数のRouteTableを管理できる、など
発見があります。
こういった気づきは、実際に落書きレベルでいいので書いてみるのが一番です。
少なくとも私はこれで一気に理解度が上がりました。

引用元:[AWS Black Belt Online Seminar]AWS Network Firewall 応用編1 資料公開
◆TransitGateway(TGW) アプライアンスモード
複数AZにまたがるアプライアンスVPCを使用するときの機能です。
簡潔に言うと、
「送信元」と「受信側」が同じAZで通信しようとすることによる仕様のため
この機能を「有効」にする必要があります。
以下がアプライアンスモードを「有効」にした場合ですが、
「無効」である場合の図を見る方が分かりやすいかもしれません。
アプライアンスモード:有効

アプライアンスモード:無効

ステートフルアプライアンスを利用する際に出てくる問題となります。
橙色線
AZ1から出た通信が、右側のアプライアンスVPCのAZ1側のアプライアンスに入ります。
検査が終了し、AZ2に通信を流します。
緑色線
通信を返すためにTGWに返信すると、再度アプライアンスVPCに入ります。
AZ2から来た通信のため、AZ2のアプライアンスに通信を渡します。
しかし、AZ2のアプライアンス的には寝耳に水な通信なので、通信をドロップします。
キーワードは、ステートフル、アプライアンスが複数のAZにまたがっている、といったところです。
◆分離されたVPCとTranitGateway(TGW)のルートテーブル設定
以下のように、複数VPCとVPNgatewayが、
TGWに接続されて通信する際のルートテーブルを書けるようになりましょう。

引用元:分離されたVPC
VPC Aのルートテーブルは以下のとおりで、
VPC BとVPC Cもローカルの送信先IP帯が変わるだけで、設定は同じです。

引用元:分離されたVPC
恥ずかしい話、、、最初0.0.0.0/0がなんだか分からなかったんですよ・・・。
ほんとNW嫌いでした。
0.0.0.0/0は全てのIPを意味するので、
上記のルートテーブルは
ローカルで指定したIP以外の宛先の場合はTGW(tgw-id)へ通信を送る
という単純な話なんですよね。
そして、これを「デフォルトルート」と言います。
要は「よく分からん宛先はここへ送れー!」⇒デフォルトルート、ということですね。
次の「伝搬」は少し注意が必要。
TGW側のVPCと通信するためのルートテーブル設定です。

引用元:分離されたVPC
「伝搬済み」とありますが、「伝搬」・・要は、各VPCに設置されたアタッチメント(※)情報が
TGWのルートテーブルに伝搬されてくること、です。
※厳密には、アタッチメントは1Azにつき1つまで設置できますが、
今回は簡易例なので気にせずに。
この「伝搬済み」は「Propagated」と表記されるので、
試験問題で面食らわないようにしてください。
◆AWS Global Accelerator
以下のサイトに非常に詳細にまとまっていますので、
一読を強くお勧めします。
AWS再入門ブログリレー2022 AWS Global Accelerator 編
CloudFrontに似た構造となっていて、ユーザに近いエッジロケーションで通信受取を構え、
いち早くAWS網に通信を入れることを目的としています。
TCP/UDP通信のレイテンシーが遅くユーザからの苦情が・・・のようなことが記載されていたら、
真っ先に回答候補に挙がります。
◆Route53
DNSも私が不得意な分野でした。
Route53も頻出中の頻出なので、しっかり押さえましょう。
少なくとも以下の構成は頭に入れて、
各コンポーネントの役割を押さえてください。

引用元:[AWS Black Belt Online Seminar] Amazon Route 53 Resolver 資料及び QA 公開
・フォワーダー(Forwader)
イメージは「ルートテーブル」で良いと思います。
特定のドメイン(例えば自前のドメイン/DNS環境)は、オンプレのDNSに向けて、
他はフルリゾルバーに転送する、という感じです。
・フルサービスリゾルバー
要は、何が何でもIPを取ってきてくれるサービス(コンポーネント)ですね。
一般的な用語なので、ここは自身で調べて抑えておきましょう。
・Outbound Endpoint
VPCの中から外に通信を送るときに通るエンドポイントです。
意外と混乱するのでちゃんと抑えておきましょう。
・タイプ(再帰的、転送、システム)
通信の流れ的には、全て「転送」っちゃ転送なのですが、
発信元の役割?が異なるため、3種類のタイプがあります。
「再帰」とは、マシンラーニング(ML)の試験でも頻出する言葉ですが、
簡単に言うと、問い合わせた結果「何かしらの答えを得る」ことです。
つまり上の例だと、「example.com」「www.example.com」以外の問い合わせだった場合、
フォワーダーが問い合わせ元となり、答えを入手する(=再帰)行為を行うため、
タイプが「再帰的」となります。
ルールを定義していないドメイン問い合わせの場合に実行されるタイプとなります。
(前述のデフォルトルートのようなイメージ)
「転送」は、イメージが湧きやすいですが、上述の再帰と区分けするのであれば、
機械的に/何も考えず/左から右/何か知らんけど「あとよろしく~」と、定義された宛先にぶん投げるタイプです。
もちろん結果的に問い合わせ結果を得るかもしれませんが、
「問い合わせ」という行為自体をフォワーダーがしているわけではないのです。
「システム」が一番ややこしいのですが、
「転送」せずにちゃんと問い合わせてほしい、というタイプです。
上の例だと「www.example.com」のため、「転送」したくなりますが、
そうではなく「再帰的」と同様にフルサービスリゾルバーに通信を流しIPを入手します。
なぜタイプが「システム」なのかは分かりません。(どなたか教えてください。。。)

引用元:[AWS Black Belt Online Seminar] Amazon Route 53 Resolver 資料及び QA 公開
・Inbound Endpoint
当然Outboundの反対ですね。DNSサービスをAWSで行っている場合に、
オンプレミスから問い合わせを受ける窓口/VPCに入ってくる通信であるため「Inbound」です。
フォワーダーがルールに沿って捌く流れは変わりません。
・Amazon Route53 Public/Priate Hosted Zone
いわゆるDNSサーバ(ネームサーバ)で、まずは良いと思います。
上の例で言うと、フォワーダーがドメイン名を元にIPを問い合わせているわけですが、
そのドメイン名とIPの紐づけを管理しているサーバと捉えればOKです。
レコードについては次項で2つ説明します。
引用元:[AWS Black Belt Online Seminar] Amazon Route 53 Hosted Zone
・Aレコード:
ドメインに対しIPを紐づけている。このレコードがあるため、問い合わせ元に対してIPを返答できる。
・CNAMEレコード
Canonical Nameの略で、ドメイン名やホスト名の別名を定義するもの、と一般的には説明されます。
ややこしいのですが「Canonical」とは「正規」とか「正式」という意味なので、
Canonical Nameそのものは、正式名、という和訳になります。
別名と正式名を紐づけているレコードなので、どちらに着目するかで、
その呼び名が変わるということなのでしょう。
AレコードとCNAMEを分かりやすく説明していただいているURLをご紹介します。
東京ビックサイト(別名) ⇒ 東京国際展示場(正式名) (CNANE)
東京国際展示場 ⇒ 東京都江東区有明三丁目 (Aレコード)
なるほど、分かりやすい。
さいごに
ANSは私の試験ヒストリーの中でも苦い思い出となりますが、
こうやって纏めてみてもやはり難しい、と思いました。
この記事で効率よく学び、資格取得できれば幸いです。