ラボ対策用の個人的な備忘録ページです。マネジメントコンソールで操作していきます。
全3記事ぐらいを予定して今回は次の通り。
- VPC作成、サブネット作成、IGW作成、NGW作成、ルートテーブル作成設定
- AWS ConfigでVPC Flow Logsのルール設定
- VPC Flow Logsの設定
- セキュリティグループ作成
個人的な感想や勉強になった点
- NATGWはElasticIPが必要です。
- NATGWは任意「Publicサブネット」に割付ける。

では早速!
VPC関係の基本構築
AWSのハンズオンにあるような基本的な内容で進めます。
- VPC内にサブネットは4つ作成する。
- サブネットはPrivate2つ(複数AZ)、Public2つ(複数AZ)とする。
- Publicなサブネットはインターネットゲートウェイ(IGW)を通して通信できるようにする。
- Privateなサブネットは内部からのみインターネットと通信できるようにする。言い換えるとNATゲートウェイを通して通信出来るようにする。
- 上記を満たすカスタムルートテーブルを作成・設定する。
VPC作成
適当なリージョンで「10.0.0.0/16」でVPCを作成します。
VPCサービスより作成を進めます。

サブネット作成
プライベートサブネットを2つ、パブリックサブネットを2つ作ります。
アベイラビリティゾーン(AZ)を跨るように作成します。
- test-sub-pub1a 10.0.1.0/24
- test-sub-pub1b 10.0.2.0/24
- test-sub-pri1a 10.0.3.0/24
- test-sub-pri1b 10.0.4.0/24
※レンジは適当にわかりやすく割り振りました。
VPCサービスのサブネットの設定より作成を行っていきます。

インターネットゲートウェイ(IGW)作成&アタッチ
VPCメニューよりIGWを作成します。

作成時にアタッチは出来なかったため、作成後に「VPC」にアタッチします。

※1個のVPCにアタッチ可能なIGWは1個だけです。
NATゲートウェイ作成
NATゲートウェイのメニューより作成を進めます。
対象サブネットは任意パブリックサブネットを選択します。なお、NATゲートウェイにはElastic IPアドレスが必要です。Elastic IPアドレスの割付は、NATゲートウェイの設定画面上から画面を切り替えることなく実施出来ました。

※念のため通信ルートの確認です。「Private → PublicのNATGW → IGW」となります。このルートはルートテーブルのとこで設定します。NATGWを使ってもIGWは必要になります。NATGWは単にPrivateIP/PublicIP(ここでは割付けたElasticIP)の変換をするに過ぎません。
※NATGWは時間課金もあるためお試しの際は使ってなくてもすぐに削除しましょう。
・・・
全然関係ありませんが、ルートテーブル設定後にNATゲートウェイを削除すると状態は「ブラックホール」(blackhole)となります。Udemyか何かの問題集で見かけたことあるので参考までに試してみました。

ルートテーブル作成・編集
カスタムルートテーブルを作成していきます。
※後から自分で作成したルートテーブルはカスタムルートテーブルと呼ばれる(VPC作成直後に存在するルートテーブルはデフォルトルートテーブル)。

作成後にルートテーブルの変更を行う。VPC内IP以外の通信(0.0.0.0/0)は、インターネットGWを通ってインターネット通信出来るようにする。

続いてサブネットの関連付けを行う(パブリック)。

同様にプライベート向けのルートテーブルの作成・変更を行います。ここでは0.0.0.0/0に対する通信はNATゲートウェイを通るようにルート設定を行っています。

(参考) 最近は一括作成できる
試験ラボでは対象外だろうけど、最近は進んでいて、設計図を確認しつつ、簡単に作成できるようになっていました。

※上記は省略していますが、VPCエンドポイントの同時作成も出来ました。

めちゃくちゃ便利。
AWS ConfigでVPCフローログの設定状況をチェック
AWS Configサービスを利用すると設定状況の準拠・非準拠をチェックすることが出来ます。
今回はVPCフローログの設定状況をチェックするルールを作成します。

AWSによって管理されるルールのため「flow」等を入力して検索します。
「vpc-flow-logs-enabled」を選択します。

次の画面(省略)ではルール名、実行頻度の選択がありました。
最後に「確認と作成」です。

続いて、VPCフローログの設定方法を載せておきます。
最初にVPCフローログ設定はVPCを選択して「フローログ」タブから「フローログを作成」で作成へ進めることが出来ます。
※保存先はS3やCloudWatch Logsを選択可能です。(もし試験で出されるならばS3なら事前にS3バケットを作成、CloudWatch LogsならIAMロールを準備して割付け。)

※ここでは割愛しますが、フローログはサブネット単位やENI単位にも設定出来ます。
セキュリティグループの作成
セキュリティグループはVPCサービスだけではく、EC2サービスからも作成出来ます。

なお、デフォルトでアウトバンドルールは全許容になっていて、インバウンドルールは無しです。SSH接続を受けれるようにする等であれば、インバウンドルールにSSH(ポート22)、接続元のIPアドレスを指定すればOKです。

まとめ
ラボ対策としてVPC周りを中心に実際に操作してみました。
自分で操作するとやはり理解が深まります。

最後までご覧いただきありがとうございました。
コメント