背景・目的
本日、AWS CloudShell now supports Amazon Virtual Private Cloud (VPC)が発表されました。
VPC内で CloudShellが使用できるとのことですので試してみました。
まとめ
下記に特徴をまとめます
特徴 | 説明 |
---|---|
概要 | VPCでCloudShellが使えるようになる |
制約 | IAMプリンシパル毎に最大2つのVPCの作成まで VPCには最大5つのSGまで割り当てが可能 アップロード、ダウンロードオプションは使用できない ストレージは一時的なもの |
概要
Using AWS CloudShell in Amazon VPCを基に整理します
AWS CloudShell は VPC のネットワーク構成を継承し、VPC 内の他のリソースと同じサブネット内で AWS CloudShell を安全に使用し、それらに接続できるようにします。
- VPCでCloudShellが使えるようになる
Operating constraints
AWS CloudShell VPC 環境には次の制約があります。
- IAM プリンシパルごとに最大 2 つの VPC 環境を作成できます。
- VPC 環境には最大 5 つのセキュリティ グループを割り当てることができます。
- VPC 環境の [アクション] メニューでは、CloudShell のアップロードおよびダウンロード オプションは使用できません。
- IAMプリンシパル毎に最大2つのVPCが作成できる
- VPCには最大5つのSGを割り当てられる
- アップロード、ダウンロードオプションは使用できない
VPC 環境では永続的なストレージはサポートされません。ストレージは一時的なものです。アクティブな環境セッションが終了すると、データとホーム ディレクトリは削除されます。
- 一時的なストレージのみ
AWS CloudShell 環境は、プライベート VPC サブネット内にある場合にのみインターネットに接続できます。
- プライベートサブネットがあるVPCにのみ接続できる
デフォルトでは、パブリック IP アドレスは CloudShell VPC 環境に割り当てられません。すべてのトラフィックをインターネット ゲートウェイにルーティングするようにルーティング テーブルが設定されたパブリック サブネットに作成された VPC 環境はパブリック インターネットにアクセスできませんが、ネットワーク アドレス変換 (NAT) が設定されたプライベート サブネットはパブリック インターネットにアクセスできます。このようなプライベート サブネットに作成された VPC 環境はパブリック インターネットにアクセスできます。
- デフォルトではパブリックIPアドレスがはCloudShell VPCには割り当てられていない
- IGWにルーティングするようにルーティングテーブルが設定されたパブリックサブネットに作成された、VPCはインターネットにアクセスできない
- インターネットアクセスするには、NATをアタッチする
実践
CloudShellの起動
VPCの作成
EC2の起動
- EC2に移動します
- 「インスタンスの起動」をクリックします
- 作成したVPCで、キーペア無し、パブリックIP無しでインスタンスを起動します
セキュリティグループの修正
- 上記のEC2で作成したSGを修正します
- VPC内からのICMPだけ受け付けるように変更します
CloudShellの起動
-
CloudShellを選択します
-
下記を入力し、「Create」をクリックします
インターネットに接続可能な環境でCloudShellを起動する
VPCの作成
CloudShellの起動
- CloudShellを選択します
- 「+」>「Create VPC envrionment(max 2) 」を選択します
- 作成したVPCとPrivate Subnetに作成します
- できました
- curl でインターネットにアクセスします。接続できました
考察
VPCでCloudShellが起動できるようになり、今後は踏み台やSession Managerなど使用するためにVPCeやインスタンスを用意していましたが、それらは不要になりそうだと思いました!
参考