目次
はじめに
こんにちは、ディーネットの山田です。
CloudShell が VPC で実行できるようになっていたので、早速試してみました。
Using AWS CloudShell in Amazon VPC
AWS CLI 実行の踏み台環境が社内にあったりしますが、 CloudShell が VPC 起動に対応したことで少しずつ CloudShell の幅が広がっている気がします。
構成図
VPC 内で CloudShell が起動したかどうか確かめたいので、以下のような構成を作成して検証してみました。
CloudShell を VPC で使ってみる
CloudShell 専用のセキュリティグループを作成する
「default」でも利用は可能ですが、正しく使う場合は専用に作成しましょう。
以下のサンプルでは、アウトバウンドルールを私の考える最低限のルールのみに制限しています。
VPC で CloudShell を起動する
VPC 環境で CloudShell が起動するように選択する。
必要なパラメータを入れる
対象にしたい VPC と Subnet と セキュリティグループ(先ほど作成したもの)を選択する。
CloudShell が起動する
私の環境だと体感1分程度で起動できました。
(検証のためになんども CloudShell 周りを触っていたので、その影響があるかもしれません)
少し試してみる
本当に CloudShell は、VPC で起動しているのか裏取り
[cloudshell-user@ip-10-10-138-233 ~]$ curl http://checkip.amazonaws.com/
57.181.11.61
57.181.11.61は、本当に NAT ゲートウェイの IP アドレスなのか?
★ちゃんと、NAT ゲートウェイを経由しておりました。
制限事項
AWS ドキュメントに書かれていることにはなりますが、以下がございます。
- IAM プリンシパルごとに最大 2 つの VPC 環境を作成できます。
- VPC 環境の [アクション] メニューでは、CloudShell のアップロードおよびダウンロード オプションは使用できません。
- VPC 環境では永続的なストレージはサポートされません。ストレージは一時的なものです。アクティブな環境セッションが終了すると、データとホーム ディレクトリは削除されます。
- AWS CloudShell 環境は、プライベート VPC サブネット内にある場合にのみインターネットに接続できます。
- お客様のアカウントにマネージド CloudShell 環境を提供するために、AWS は基盤となるコンピューティングホストの次のサービスへのネットワークアクセスをプロビジョニングする場合があります。
まとめ
VPC を利用しない CloudShell と比較して、現時点では以下を考慮する必要がありますね。
- CloudShell 単体で、ファイルのアップロードおよびダウンロードができない。
- CloudShell 単体で、永続的なストレージがサポートされない。
どちらも、AWS CLI を使って、S3 などと組み合わせることで、回避はできそうです。
プロフィール
テクニカルサポートは卒業して、フロントサイドでお客様環境の構築をさせていただいております。
たまに、テクニカルサポートでご対応させていただくことがあるかもしれませんが、その際はよろしくお願いいたします。
インフラ系のエンジニアですが、時々休日プログラマー(Python、PHP)をやっております。
LINK
クラウドベリージャム:プロフィールページ