AWS CloudShellのVPC起動をやってみます。
はじめに
先日 (2024/06/26)、CloudShellがVPC内で起動できるようになる機能がGAされました。
AWS CloudShell now supports Amazon Virtual Private Cloud (VPC) - AWS
地味に見えてなかなか嬉しいアップデートですね。
今回はこのCloudShellのVPC起動を試してみます。
CloudShellをVPCで起動する
やってみる
まずはポチポチ試してみます。
1. CloudShellのActions
からCreate VPC environment (max2)
を選択する
2. VPC起動設定を入力して、作成する
- 名前
- 起動するVPC
- Subnet
- Security group
Create
ボタンをクリックすると、CloudShellのVPC環境が作成されます
3. CloudShellのVPC起動完了
これでVPC起動完了です。
ローカルIP172.31.36.170
が割り振られていることがわかります。
(今回起動したVPCのCIDRは172.31.0.0/16
)
制約
ドキュメントベースで、気になった制約や条件をまとめます。
Using AWS CloudShell in Amazon VPC - AWS CloudShell
- 1つのIAM principalごとに作成できるCloudShell VPC環境は最大2つ
- アタッチできるsecurity groupは最大5つ
- アップロード/ダウンロード機能は利用不可
- 永続ストレージは利用不可。セッションごとにデータは削除される
- パブリックIPは付与されない
- インターネットにアクセスしたいならNATなどを立てること
- 暗黙的に指定のVPCエンドポイントが作成される
- AWS管理のリソースとして作成される。ユーザー側からは管理できない(ユーザーには見えない)
- 対象のVPCエンドポイントは上記ドキュメント参照 (結構多い)
- CloudShellのVPC環境を利用するためには下記のIAM権限が必要
- ec2:DescribeVpcs
- ec2:DescribeSubnets
- ec2:DescribeSecurityGroups
- ec2:DescribeDhcpOptions
- ec2:DescribeNetworkInterfaces
- ec2:CreateTags
- ec2:CreateNetworkInterface
- ec2:CreateNetworkInterfacePermission
- ec2:DeleteNetworkInterface
- 厳密には
ec2:DeleteNetworkInterface
は必須ではないが、これがないとリソース削除時にENIが削除されない
- 厳密には
ちょいちょい機能が制限されてますね。
なお、CloudShellのVPC起動がサポートされているリージョンは下記に記載があります。 執筆時点で、Tokyoリージョンを含む主要リージョンではサポートされています。
Supported Regions for AWS CloudShell VPC - AWS CloudShell
おわりに
CloudShellの新機能であるVPC起動を試してみました。
以前まさにCloudShellをVPC起動できたらなーと思ったことがあり、個人的には痒い所に手が届く嬉しいアップデートです。
以上、どなたかの参考になれば幸いです。
[関連記事]
参考
AWS CloudShell now supports Amazon Virtual Private Cloud (VPC) - AWS