👍

ECS ExecがAWSマネジメントコンソールで利用可能になりました

に公開

はじめに

ECS ExecがAWSマネジメントコンソールで利用可能になりました

調査やトラブルシュートの際に、ECSのコンテナへ直接ログインしたいことは少なくありません。
そんなときに役立つ ECS Exec がマネジメントコンソールから簡単に利用できるようになりました。

調査などでたまにコンテナにログインことがある人にとって、これは嬉しいアップデートではないでしょうか。

従来の接続方法

これまでは、まず ECS Exec のコマンドを思い出す(もしくは探す) ところから始める必要がありました。

代表的なコマンド例はこちらです。

aws ecs execute-command --cluster <cluster-name> \
    --task <task-id> \
    --container <container-name> \
    --interactive \
    --command "/bin/sh"

ドキュメント:
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-exec.html#ecs-exec-enabling-and-using

さらに、実際にコンテナへ接続するには以下の手順が必要でした。

  1. コンソール画面または AWS CLI で調査対象の タスクIDやコンテナ名を確認
  2. その値をコマンドに埋め込み
  3. 実行してようやく接続

例:

$ aws ecs execute-command --cluster demo-ecs-cluster \
>     --task bec3cb4dd4e6484e865d891a3e4c492e \
>     --container nginx \
>     --interactive \
>     --command "/bin/sh"

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.


Starting session with SessionId: ecs-execute-command-a4gk9v2sxqbj7slxzi474d39ne
#

このように、細かい準備が毎回必要でした。

新しい接続方法

今回のアップデートにより、マネジメントコンソールのタスク詳細画面にちょっと分かりづらいですが「接続」ボタンが追加されています。

「接続」ボタンをクリックすると CloudShell が起動します。

ECS Exec のコマンドが自動で準備されるのであとは「実行」を押すだけでコンテナに接続できます。

これで、タスクIDやコンテナ名を調べてコマンドを修正する手間は不要になりました。

まとめ

  • これまではタスクIDやコンテナ名を調べてコマンドを修正し、実行する必要があった
  • 今後はマネジメントコンソールの「接続」ボタンを押すだけで簡単にアクセス可能

ちょっとした調査やトラブルシュートの際に役立つアップデートですね。

個人的には、「久しぶりに ECS Exec を使うけどコマンドを忘れてしまい、調べるのが面倒…」というちょっとしたストレスが解消されたことが、何よりも嬉しいポイントです。

Discussion