業務で本格的にAWSを使うことになりそうなので勉強中です。
今回は、運用管理のためにVPC内の各リソースに対しコマンド実行できる環境を作ろうと思い、Cloud 9 を導入しようと考えました。
しかし、AWSコンソールで Cloud 9 へアクセスすると下記のメッセージが。
あれ?と思って調べてみると、Cloud 9 の新規利用はできなくなったとのこと。
慎重に検討した結果、2024 年 7 月 25 日をもって、AWS Cloud9 への新規顧客アクセスを終了することを決定しました。AWS Cloud9 の既存の顧客は、引き続き通常どおりサービスをご利用いただけます。AWS は、AWS Cloud9 のセキュリティ、可用性、パフォーマンスの向上に投資を続けていますが、新機能の導入は予定していません。
参考:AWS Cloud9 から AWS IDE ツールキットまたは AWS CloudShell に移行する方法
代替手段として、ユーザーが作成した VPC 上に CloudShell を起動できる「CloudShell VPC environment」を触ってみたのでそのメモを残しておこうと思います。
まだAWSは詳しくなく学習中のため嘘や誤り、もっといい方法があるよ、などあればコメントで教えていただけると大変助かります。
今回やりたいこと
今回やりたいことは Private Subnet で運用しているアプリケーションやDBに対し、インターネット経由でコマンド実行できる環境を CloudShell で構築します。
CloudShell VPS environment の導入
まずは、AWSコンソールから CloudShell へアクセスし、「+」タブから「Create VPC environment(max 2)」をクリック。
下記をそれぞれ設定し「Create」ボタンをクリック。
- Name
- Virtual private cloud(VPC)
- Subnet
- Secutity group
すると、CloudShell で作成した環境のコンソール画面が起動できます。
CloudShell の ENI に EIP を割り当てる
CloudShell の設定が完了したらインターネットへアクセスできるようCloudShellに割り当てられているENIにEIPを割り当てる必要があります。
VPC 設定の確認
まずは念の為 CloudShell を導入したサブネットが パブリックサブネットであるか確認しておきます。
Elastic IP を作成
次に EIP を作成します。
「EC2 > Elastic IP アドレス > EIP アドレスを割り当てる」の順に。
情報を設定し「割り当て」をクリック。
CloudShell の ENI を特定
EIP を割り当てるために CloudShell のENI を確認しておきます。
確認方法は CloudShell でifconfig
コマンドを実行するか、
ifconfig
「EC2 > ネットワークインターフェース」から確認できます。
Elastic IP を ENI に関連付け
割り当てた EIP を ENI に関連付けしたらすべての設定が完了となります。
接続確認
CloudShell からインターネットへアクセスできるか確認します。
curl -I https://github.com
無事に接続できました。
以上。