ECS Fargate のコンテナに VSCode Tunnel で接続
接続できると、下記のように ECS Fargate
のコンテナ内を ローカルの VSCode でファイル編集・シェル実行できるようになります。
目的
ECS Fargate のコンテナ内に接続し、VSCode から編集
前提条件
1. (Must) curl か wget が使用できる ECS Fargate コンテナ
2. (Must) Github アカウント必要(認証)
3. (Must) Remote Tunnels
4. (Option) AWS Toolkit
Option については、ecs fargate exec
ができれば OK です。
接続手順
1. ECS Fargate(リモート) 側で VSCode CLI インストール
※ ecs fargate exec
で コンテナの中に入るか、dockerfile
に書くでもいいです。
curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gz;
tar -xf vscode_cli.tar.gz;
2. Tunnel 作成
./code tunnel;
3. Github 認証
ブラウザで https://github.com/login/device
にアクセスして、コード入力
※ 入力コードは、./code tunnel
実行したターミナルに表示されてます
- 認証画面
↓
↓
任意の tunnel 名入力
4. VSCode の拡張でアクセス
Remote Explorer
↓
REMOTES(TUNNELS/SSH)
↓
先程任意の tunnel 名をクリック
↓
Connect in Current Window
or Connect in New Window
※ コマンドパレットでConnect to Tunnel
でも実行できます ↓
接続解除手順
- リモート側で、
./code tunnel unregister
- VSCode から 右クリックで
Unregister Tunnel
メリット
- セキュリティグループに SSH 用のポート開ける必要なし
- ローカルの VSCode で fargate 内部を編集(Vim インストール必要なし)
参考
注意
- 検証したコンテナは
Public Subnet
に配置されたECS Fargateで検証しました。Private Subnet
に配置されたコンテナでは未検証です。 - 未検証ですが、EC2でも可能だと思います。