VPCエンドポイントによるプライベートAWSサービスアクセス設定 は何をしますか?
AWS PrivateLinkを使用して、インターネットゲートウェイやNATデバイス、パブリックIPアドレスなしでS3、DynamoDBなどのAWSサービスにプライベートに接続するためのVPCエンドポイント(インターフェース型とゲートウェイ型)を設定します。エンドポイントの作成、セキュリティグループ、ルートテーブル、DNS設定をカバーします。
概要
このスキルは、VPCエンドポイントを使用してAWSサービスへのプライベートアクセスを構成するための手順を提供します。VPCエンドポイントを使用すると、VPCとAWSサービスの間のトラフィックがAWSネットワーク内に留まるため、セキュリリティが向上し、レイテンシが低減されます。
前提条件
- 有効なAWSアカウント
- AWS CLIがインストールされ、適切な認証情報が設定されていること
- 既存のVPCとサブネット
手順
1. VPCエンドポイントのタイプを決定する
- ゲートウェイエンドポイント: S3およびDynamoDBに使用
- インターフェースエンドポイント: その他のサポートされているAWSサービスに使用
2. ゲートウェイエンドポイントの作成
aws ec2 create-vpc-endpoint \
--vpc-id vpc-xxxxxxxx \
--service-name com.amazonaws.region.s3 \
--route-table-ids rtb-xxxxxxxx
3. インターフェースエンドポイントの作成
aws ec2 create-vpc-endpoint \
--vpc-id vpc-xxxxxxxx \
--service-name com.amazonaws.region.ec2 \
--subnet-ids subnet-xxxxxxxx \
--security-group-ids sg-xxxxxxxx
4. セキュリティグループの設定
インターフェースエンドポイントの場合、セキュリティグループを使用してトラフィックを制御します。
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol tcp \
--port 443 \
--cidr 10.0.0.0/16
5. ルートテーブルの更新
ゲートウェイエンドポイントの場合、ルートテーブルにエントリを追加して、トラフィックをエンドポイント経由でルーティングします。
aws ec2 create-route \
--route-table-id rtb-xxxxxxxx \
--destination-cidr-block 0.0.0.0/0 \
--vpc-endpoint-id vpce-xxxxxxxx
6. DNS設定の構成
プライベートDNSを使用する場合は、VPCのDNS設定を有効にします。
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxxxxxxx \
--enable-dns-support
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxxxxxxx \
--enable-dns-hostnames
注意事項
- ゲートウェイエンドポイントは無料ですが、インターフェースエンドポイントは時間単位で課金されます。
- エンドポイントポリシーを使用して、エンドポイント経由のアクセスをさらに制限できます。
- エンドポイントは、同じリージョン内のAWSサービスにのみ接続できます。
トラブルシューティング
- エンドポイントが利用可能な状態になっていることを確認します。
- セキュリティグループのルールが適切に設定されていることを確認します。
- ルートテーブルに正しいエントリが追加されていることを確認します。