AWS ECS(Elastic Container Service)でコンテナを運用している場合、デバッグやトラブルシューティングのためにコンテナ内部にアクセスする必要が出てきます。
ECS Execを使用してコンテナに直接アクセスする方法を解説します。
ECS Execとは
ECS Execは、AWS ECSの実行中のコンテナに直接SSHのような形でアクセスできる機能です。この機能により、以下のようなことが可能になります。
- コンテナ内でのコマンド実行
- ログファイルの直接確認
- プロセスの状態確認
- ファイルシステムの調査
前提条件
- AWS CLIがインストールされていること
- AWSプロファイルが設定されていること
- 対象のECSタスクでECS Execが有効になっていること
- 適切なIAM権限が付与されていること
手順
1. AWS認証情報の設定
開発環境用のプロファイルを設定します:
2. 必要な情報の確認
ECS Execを使用するために必要な情報は以下の3つです:
- クラスター名
- タスクID
- コンテナ名
これらの情報は、AWS Management ConsoleのECSダッシュボードから確認できます。
3. ECS Execの実行
以下のコマンドを使用してコンテナにアクセスします:
4. シェルの変更
コンテナに接続後、より使いやすいbashシェルに切り替えます。
接続エラーが発生する場合
- タスク定義でECS Execが有効になっているか確認
- IAM権限が適切に設定されているか確認