AWS Hands-on for Beginners Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する
https://gyazo.com/975395c71ada2d1e84f26c8fa9a4a944
ネットマスクの範囲は16 ~ 28 bit
03 Amazon VPCの作成とインターネット接続環境の構築 〜Amazon VPC構築ハンズオン〜
https://gyazo.com/a4201cf00a032db7f785189033602409
デフォルトVPC、デフォルトサブネット
VPC作成
サブネット作成
インターネットゲートウェイ作成
作成直後はどのVPCにも紐付けられていないのでDetached状態 作成したVPCにアタッチする
1つのVPCに1つのInternet Gatewayしかアタッチできない
デフォルトVPCはすでに別のインターネットゲートウェイがアタッチされているので紐付けられない
Public / Privateはどう設定する?
ネットワークトラフィックの経路を決定するRouteと呼ばれる一連のルールが定義されたテーブル情報
各サブネットにルートテーブルを関連付けることにより、サブネットのネットワークルーティングが決定する
https://gyazo.com/e5f8c625edfe716a0e98c93b2c4ad996
04 Amazon VPCの作成とインターネット接続環境の構築 〜Public SubnetとPrivate Subnet〜
VPCの各サブネットには必ず1つのRoute tableが紐付けられている
サブネット作成時にデフォルトで存在する
デフォルトの設定ではVPC内の通信経路しか持っていない
https://gyazo.com/2fc04bcf212d63077de3e37788380a52
1つのルートテーブルに複数のサブネットを関連付けることができる
ルートテーブル has_many サブネットであり、逆の方向で複数持つことはできない
インターネットへの経路をつくることでPublic subnetとなる
0.0.0.0/0 Internet Gateway
ルーティングの優先度
ルートテーブル内に定義された最も具体的なルートが優先される
ネットマスクの数字が大きい方
10.0.0.0/16 local
0.0.0.0/0 Internet Gateway
のような設定があった際に 10.0.10.111 のトラフィックを受信した場合、ターゲットはlocalが選択される
ルートテーブルの作成
ルートの追加
デフォルトルートテーブルのrename
サブネットの関連付けの編集
いずれのルートテーブルとも明示的に関連付けられていないサブネットはメインルートテーブルに関連付けられる
メインルートテーブルはデフォルトで作成された private route table になっている
明示的に関連付けをしておくと良い
メインルートテーブルはなるべくセキュアにしておくほうがよい 05 ルートテーブルによる経路設定を理解する
EC2インスタンスをPublic subnetに配置する EC2インスタンス作成時
ネットワークを指定
Apacheをインストールして起動させる
パブリックIPにアクセス出来ることを確認
Apacheの画面が見える
プライベートサブネット用のルーティングテーブルを割り当てるとアクセスできなくなる
06 プライベートサブネットからインターネットへのアクセス方法
EC2インスタンスをPrivate subnetに配置する よくある要件
Inbound (インターネットからのアクセス) は拒否したいが、Outbound (インターネットへのアクセス) は許可したい
外部から情報を取得するようなシステム
EC2インスタンスをPublic subnetに配置し、NAT変換を行う
Private subnetのルーティングテーブルでは 0.0.0.0/0 NAT instanceのnic(ENI) を指定
後発のサービス、こちらがおすすめ
EC2インスタンスの運用がいらず、マネージド
NATゲートウェイをPublic subnetに配置し、NAT変換を行う
Private subnetのルーティングテーブルでは 0.0.0.0/0 NAT Gateway を指定
複数のインスタンスを1つのNAT Gatewayに紐付けることもできる
SSMはVPCの外側にあるので、プライベートサブネットにいるインスタンスにSSMで接続するにはNAT Gatewayが必要
ルーティングテーブルでは 0.0.0.0/0 NAT Gateway のエントリを削除するとSSMでの接続ができなくなる
07 VPC外サービスへの接続方法 〜VPC Endpoint〜
VPC外のAWSマネージドサービスに接続する
ここまでのハンズオンではAWSのサービスであってもVPCの外に出るにはInternet Gatewayを通らないといけない
セキュアなシステムではPrivate subnetのみ構成し、VPCからインターネットに接続性を持たせたくないケースもある
VPC内Subnet上で稼働するサービスから、Internet Gateway、NAT Gateway、NAT Instanceを経由せずにVPC外サービスと直接通信させることができる
VPC Endpoint
Gateway型
S3、DynamoDBとの接続方式
AWS PrivateLink
Interface型
多数サービスとの接続方式
https://gyazo.com/975db29e9ebb0e14b26e30e44ddb5c2c
08 VPC外サービスへの接続方法 〜VPC Endpoint(Interface型)ハンズオン〜
DNSホスト名を有効化
ルーティングテーブルからNAT Gatewayへのエントリを削除
VPC Endpointを3つ作成し、SSMで接続できることを確認
Interface型はサブネットにENIを接続口として設ける 09 VPC外サービスへの接続方法 〜VPC Endpoint(Gateway型)ハンズオン〜
Gateway型は経路的に接続口を設ける
S3に接続するためのVPC Endpointを作り、ルーティングテーブルにVPC Endpointのエントリを追加する 発展資料