AWS Cloud9は統合開発環境・IDEのこと
1.統合開発環境・IDEとは
プログラム開発ツールをブラウザ上で提供する開発環境のことで、具体的には以下機能などがあります
・ソースコードエディタ
・デバッガ
・ビルド
・プログラミング言語(JavaScript,Python,PHPなど)
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/welcome.html
2.AWS Cloud9の仕組み
・ローカルコンピュータのウェブブラウザでAWS Cloud9 IDEを使用して、AWS Cloud9環境をコンピューティングリソースを作成し、そのサーバで操作する
3.AWS Cloud9環境
・作成したコードは実行環境に保存され、AWS CodeCommitまたはGitなどのリポジトリに保存することも可能
4.Cloud9環境を作成する
a ) AWS管理コンソールからナビゲーションバーにCloud9を入力し、Cloud9サービス画面へ移動する
※前提としてパブリックサブネットがあること
b ) 新しいEC2インスタンス
・インスタンスタイプは使用目的に応じて変更します
今回は、Terraformでいろいろ検証したいので、t2.microを選択します
・プラットフォーム
今回はAmazon Linux 2023が推奨されているため、使用します
https://aws.amazon.com/jp/linux/amazon-linux-2023/faqs/
・タイムアウト
自動休止時間は30分で指定します
接続
・SSM
SSM Session Managerを利用すると、Cloud9とEC2の間にSSMを経由する構成となり、EC2インスタンスのインバウンド通信を閉じたまま使用できる
Cloud9上から以下のコマンドを入力することで、ssmセッションIDを確認することができる
ec2-user:~/environment $ ps -ef|grep ssm-session-worker|grep -v grep
system session manager
また、コンソール上からも確認することが可能
AWS Systems Manager > Session Manager
セッションIDが同じであることも確認できる
・SSH
Cloud9 と EC2インスタンスの間にsshのセッションを張ることで接続でき、セキュリティグループが自動的に作成される
インスタンス間のインバウンド通信は許可されるため、SSMに比べ汎用性はあるように見える
今回は、SSM等でセッション管理する必要もなければ、制約を設ける理由もないため、接続方法はSSHを選択する
・インターネットにアクセスできるVPCを選択します
d ) タグ
こちらに関しては、タグによる戦略等は特に考慮していないため、設定はなし