0
1

ECS Fargateにログイン

Posted at

はじめに

ECS FargateからMongodb Atlasに接続するアプリケーションを作成したときに、エラーの原因がわからず、結局Fargateにログインして確認した。以下、ログインしたときの手順のメモ。
大まかには、次のような流れでログインした。

  1. Session Manager pluginをインストールする
  2. タスク実行ロールにSession Manager 機能のアクセス許可を追加
  3. ECS Exec機能を有効にする
  4. ECSタスクのARNの確認
  5. コンテナ名を取得する
  6. ECS Fargateにログイン

前提

  • AWS CLIはインストール済み
  • OSはWindows 11

手順

1. Session Manager pluginをインストールする

Curlコマンドで次のURLからインストーラをダウンロードして実行する。

curl https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe -o SessionManagerPluginSetup.exe

ダウンロードしたインストラーを実行する。

./SessionManagerPluginSetup.exe

2.タスク実行ロールにSession Manager 機能のアクセス許可を追加

ECSのタスク実行ロールに設定しているロールに対して、Systems Manager のSession Manager 機能のアクセス許可を追加する。

ECSのタスク実行ロールに設定しているロールに対して、IAMから次のポリシーを設定する。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel",
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenControlChannel",
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": "*"
        }
    ]
}

3. ECS Exec機能を有効にする

コマンドプロンプトからAWS CLIを使用して、ECS Execコマンドを機能を有効にする。

aws ecs update-service --cluster <クラスター名> --service <サービス名> --enable-execute-command  

ECS Execコマンド機能が有効になったかどうかは、次のコマンドで確認する。

aws ecs describe-services <クラスター名> --service <サービス名> | findstr enableExecuteCommand

有効の場合、enableExecuteCommandがtrueにになっている。

"enableExecuteCommand": true

4. ECSタスクのARNの確認

ログイン時に必要となる、ECSタスクのARNを次のコマンドで取得する。

aws ecs list-tasks --cluster <クラスター名> --query "taskArns[]" --output text

5. コンテナ名を取得する

次のコマンドでコンテナ名も取得する。

aws ecs  describe-tasks --cluster SQSCluster --tasks <タスクのARN> --query "tasks[].containers[].name" --output text

6. ECS Fargateにログイン

次のコマンドでFargateにログイン

aws ecs execute-command --cluster <クラスタ名> --task <タスクのARN>  --container <コンテナ名> --interactive --command "/bin/bash"

おわりに

Fargateにログインすることで、コマンドラインによる接続確認、ネットワークツールのダウンロード等、直接サーバを調べることができ、不具合調査をすすめることができた。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1