AWSのマネージドサービスとVPCを設計するときの要件まとめ
2018/02/05 表の記載に誤りがあったたため、訂正(RDSとRedshiftのPublic/Private併用は可能でした)
ども、大瀧です。
AWSでシステムを設計するときに欠かせないポイントとして、ユーザー専用のネットワークを提供するVPCの適用があります。VPCは柔軟なネットワークが構成できる一方でAWSのマネージドサービスごとにサポート状況や制約がまちまちで、設計フェーズで要件を確認するのは結構大変だったりします。そこで今回は、AWSマネージドサービスとVPCを設計するときの要件をまとめてみました。
クライアント→AWSマネージドサービスのVPC対応
マネージドサービスで作成したサーバーリソースに対してクライアントからアクセスするときのVPCの対応について、表でまとめてみました。
サービス名 | インターネットからのアクセス(Public) | VPC内からのアクセス(Private) | PublicとPrivateの併用 | ピア接続、Direct ConnectおよびハードウェアVPN接続での留意事項 |
---|---|---|---|---|
EC2 | ○ パブリックIPを有効にするかElastic IPを割り当て | ○ | ○ | - |
ELB - CLB, ALB | ○ 「インターネット向け」を選択 |
○ 「内部」を選択 |
× (どちらか選択) |
リスナ、Privateのみ、要DNS |
ELB - NLB | ○ 「インターネット向け」を選択 |
○ 「内部」を選択 |
× (どちらか選択) |
リスナはピア接続、Direct Connect、VPN不可、ターゲットはIPタイプでDirect Connectのみ可 |
RDS | ○ パブリックアクセス可能を「はい」 |
○ パブリックアクセス可能を「いいえ」 |
○ | 要DNS |
Redshift | ○ パブリックアクセス可能を「はい」 |
○ パブリックアクセス可能を「いいえ」 |
○ | 要DNS |
Elasticsearch Service | ○ *1 | ○ VPCアクセスを選択 |
× (どちらか選択) |
Privateのみ、要DNS |
ElastiCache | × | ○ | × | 要DNS |
WorkSpaces | ○ | ○ (RDP接続のみ) |
○ (PrivateはRDP接続のみ) |
RDP接続のみ |
Directory Service | × | ○ | × | - |
EFS | × | ○ | × | - |
補足
- Amazon EMRとAWS Lambdaはクライアントからアクセスするエンドポイントを持たないため、今回の表には載せていません。どちらもVPC内に配置することが可能です。
- WorkSpacesへのアクセスはWorkSpacesクライアントとRDPの2通りがあります。
- NLBは、トラフィックの転送先であるターゲットに特有のネットワーク要件があるので注意が必要です。関連するブログ記事を参考にしてください。
- 「要DNS」は、ノードの入れ替えなどでAWSによるPrivate IP変更があることを指します。AWSが用意するDNSの正引きレコードがPrivate IPの変更に追随するので、実運用としてはDNSを利用することになります。Direct ConnectやVPN経由でのDNSの適用についてはこちらの記事を参考にしてください。
マネージドサービス→S3のVPC対応
マネージドサービスの多くはS3と連携するため、S3とのネットワーク疎通性についての考慮が必要です。基本的な考え方は以下になりますが、漏れているサービス特有の要件もあると思うので、ドキュメントをよく確認しましょう。
- 「スナップショット」と呼ばれるバックアップ機能では、S3への疎通性は不要(AWS管理下のストレージレイヤーで連携する模様)
- Redshiftのデータロードは、拡張VPCルーティングで選択が可能
- EMRのデータロードは、こちらの記事を参考にしてください。
- LambdaからS3やインターネット上のリソースへのアクセスは、NAT経由かVPC Endpoint経由になります。
まとめ
AWSマネージドサービスとVPCの機能との対応表をご紹介しました。ここが違うよ!やこのサービスも入れて!といったご意見・ご要望があればコメントやSNSでお寄せください。直します!
参考URL
脚注
- 非VPC環境に設置されます ↩