【VPCの基本】reInvent2017 NET201_Creating Your Virtual Data Center で初心に返る #reinvent
こんにちは。池田です。12月に入り、そろそろ来年のカレンダーを準備しておこうかなぁと思っていたところに、先輩が自作しためそ子さんカレンダーを送ってくれました。
素敵すぎます。
はじめに
re:Invet2017にて行われた「NET201_Creating Your Virtual Data Center」というセッションの内容について、公開されたスライドを参照しながらVPCの基本について自己学習用にまとめたものとなります。
掲載する解説については、原文を機械翻訳しつつ自分なりにまとめとして書き起こしたものであることを予めご承知おきください。
目次
- 本セッションで期待すること
- インターネットに接続されたVPCの作成手順
- IPアドレス範囲を選択する
- VPCのIPアドレス範囲の選択に関する注意点
- VPCサブネットとアベイラビリティゾーン(AZ)
- インターネットに接続する
- VPCの接続オプション
- オンプレミスネットワークへの接続
- VPCとその他のAWSリソース
- まとめ
本セッションで期待すること
- VPCの概念を理解する
- 基本的なVPCセットアップ
- ニーズに合わせて仮想ネットワークを調整する方法について学ぶ
インターネットに接続されたVPCの作成手順
- アドレス範囲の選択
- アベイラビリティゾーンにサブネットを作成する
- インターネットへのルートを作成する
- VPC IGWとの間でトラフィックを認可する
IPアドレス範囲を選択する
- CIDRの範囲の例:172.31.0.0/16
VPCのIPアドレス範囲の選択に関する注意点
- 接続可能な他のネットワークと重複する範囲は避ける
- 172.31.0.0/16 など
推奨:RFC1918の範囲
推奨:/ 16(65536アドレス)
VPCサブネットとアベイラビリティゾーン(AZ)
VPCサブネットの推奨事項
- /16 VPC(65,536アドレス)
- 少なくとも24個のサブネット(251個のアドレス)
- 複数のサブネットを介してVPCごとに複数のアベイラビリティゾーン(AZ)を使用する
インターネットに接続する
VPCのルーティング
- ルートテーブルには、パケットがどこに行くかのルールが含まれる
- VPCにはデフォルトルートテーブルがある
- 異なるルートテーブルを異なるサブネットに割り当てることができる
インターネットゲートウェイ(IGW)
- インターネットに接続する場合は、インターネットゲートウェイ(IGW)にパケットを送信する
VPCのネットワークセキュリティ(セキュリティグループ)
- セキュリティグループの例:WebサーバーすべてのHTTPトラフィックを許可する
- セキュリティグループの例:バックエンドWebサーバーからのアプリケーショントラフィックのみを許可する
- VPCのセキュリティグループその他の注意事項
「最小特権の原則」に従う
出力(アウトバウンド)および入力(インバウンド)のルールを作成
VPCの接続オプション
インターネットアクセスの制限
- サブネットごとにルーティングルールを用意する
出力(アウトバウンド)のみインターネットアクセスを許可
- NATgatewayを利用する
SSH踏み台サーバのセキュリティグループパターン
- パブリックサブネットにSSH踏み台サーバとなるEC2インスタンスを配置
- 踏み台サーバセキュリティグループを用意
ポート22への接続は既知のIPアドレス(事業所など)からのみ許可 - プライベートサブネットにSSHログイン対象サーバを配置
- SSHアクセスセキュリティグループを用意
ポート22への接続は踏み台サーバセキュリティグループからのみ許可
VPC間接続(VPCピアリング)
- VPCピアリングの使用例:共有サービスVPC
- 共通/コアサービス
認証/ディレクトリ
モニタリング
ロギング
リモート管理
スキャニング
VPCピアリングを確立するまでの流れ
- ステップ1:ピアリング要求を開始する
- ステップ2:ピアリング要求を受け入れる
- ステップ3:ピアリングされたVPCとの通信を開始
オンプレミスネットワークへの接続
AWS Direct Connect
- オンプレミスネットワークをVPCに拡張する
AWS Virtual Private Network
- Customer GatewayとVirtual Private GatewayによるIPSec接続
AWS VPNとAWS Direct Connect
- 両方とも、ネットワークとVPC間の安全な接続を許可
- 最高の可用性を実現するには両方を使う
VPCとその他のAWSリソース
VPC内のAWSサービス
- VPC内のAmazon RDSデータベースがDNS名でアクセス可能
mydb-cluster-1 ... .us-west-2.rds.amazonaws.com - VPC内のアプリケーション・ロード・バランサ
AWSサービスのVPCエンドポイント
- Amazon S3とDynamoDB
S3-bound trafficをVPCエンドポイントにルーティングする - VPCエンドポイントにおけるIAMポリシー
Amazon S3またはAmazon DynamoDBによるVPCの操作を制限する - S3バケットのIAMポリシー
VPCエンドポイントからのみアクセス可能 - AWSサービス用のプライベートリンク
Amazon Route 53でのDNS
- Amazon Route 53(DNSサーバ)を使用する
DNSホスト名をEC2インスタンスに自動割り当て プライベートホストゾーン
VPCフローを使用したVPCトラフィックのロギング
- Amazon CloudWatchログのVPCトラフィックメタデータ
セキュリティグループルールへの影響の可視化
ネットワーク接続のトラブルシューティング
トラフィックを分析 - VPCフローログのセットアップ
VPCの管理コンソール上から「Create Flow Log」ボタンで作成できる
まとめ
このように整理してみると、AWSリソースの中でも基本的なVPCについても、普段意識していなかった機能やルールがいくつもあると改めて認識できました。
いつでも基本を忘れず、より安全により効果的なAWSリソースの利用ができるよう心がけていこうと思います。