コンテンツにスキップ

AWS FargateでECS Execを使用するための必要な設定作業についてまとめてみた - NRIネットコムBlog

チェック

  • [ ] 本文を確認した
  • [ ] 概要を確認した
  • [ ] タグを確認した
  • [ ] inbox/ 直下へ移行した

概要

AWS FargateでECS Execを使用するための必要な設定作業についてまとめてみた - NRIネットコムBlog のWebクリップ。本文からGo、AWS、Observability、設計、キャリア評価などの学習材料として使えそうな内容を保存した。関連タグ: aws, infra/aws, web-clip。

本文

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

AWS FargateでECS Execを使用するための必要な設定作業についてまとめてみた

  • Copy

  • LINE

  • facebook

  • Pocket

  • はてブ

クラウド事業推進部の石倉です。

表題の通りではありますが、AWS FargateでECS Execを使用するための必要な設定作業についてまとめてみました。

Amazon ECSをAmazon EC2で利用する場合はEC2インスタンスをこちらで管理できるのでEC2インスタンスに入りコンテナとやり取りできますが、AWS Fargateの場合それができません。 そのため、AWS Fargateでコンテナとやり取りする際はECS Execが必要になりますが、この際にはいくつかの設定作業が必要になります。 毎回「何をすればいいんだっけ?」と調べ直している自分がいたので改めてまとめてみました。

    1. AWS CLIのインストールと設定
    1. AWS CLI のセッションマネージャープラグインのインストール
    1. タスクロールの設定
    1. ECS Execの有効化
    1. VPCエンドポイントの作成(Fargateをプライベートサブネットに配置してNATゲートウェイを利用しない場合)
  • ECS Execを使用してみる

  • 最後に

  • 参考

  • おまけ

ECS Execを使用するために必要な設定作業

ECS Execを使えるようにするためには大きく以下の作業が必要になります。

  • AWS CLIのインストールと設定

  • AWS CLI のセッションマネージャープラグインのインストール

  • タスクロールの設定

  • ECS Execの有効化

  • VPCエンドポイントの作成(Fargateをプライベートサブネットに配置してNATゲートウェイを利用しない場合)

1. AWS CLIのインストールと設定

ECS ExecをCloudShellなどから使用する場合は必要ありませんが、ローカルのPCなどからECS Execを使用する場合はAWS CLIを使える状態にする必要があります。 下記ドキュメントを参考にAWS CLIのインストールと設定を行います。

AWS CLI の最新バージョンのインストールまたは更新 - AWS Command Line Interface

AWS CLI の設定 - AWS Command Line Interface

ちなみにECS Execを使用する(execute-commandを実行する)ために必要なユーザー権限は最低限以下が必要になります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:ExecuteCommand", "ecs:DescribeTasks" ], "Resource": "*" } ] }

2. AWS CLI のセッションマネージャープラグインのインストール

こちらもCloudShellなどの場合は既にインストールされているので必要ありませんが、ローカルのPCなどの場合は対応が必要になります。

AWS CLI 用の Session Manager プラグインをインストールする - AWS Systems Manager

3. タスクロールの設定

ECSで利用するタスク定義に次のような信頼ポリシーおよびIAMポリシーを設定したIAMロールをタスクロールに設定する必要があります。 ECS ExecはSSMセッションマネージャーを利用してコンテナと接続するためSSMサービスへのアクセス許可のIAMポリシーを設定します。

信頼ポリシー

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ecs-tasks.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:ecs:<region>:111122223333:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }

IAMポリシー

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

Amazon ECS タスクの IAM ロール - Amazon Elastic Container Service

4. ECS Execの有効化

"enableExecuteCommand": false
## サービスに対してECS Execが有効かどうか aws ecs describe-services --cluster {クラスター名} --services {サービス名} | grep enableExecuteCommand ## タスクに対してECS Execが有効かどうか aws ecs describe-tasks --cluster {クラスター名} --tasks {タスクID} | grep enableExecuteCommand

無効になっている場合はECS Execを有効にする必要があります。

aws ecs update-service --cluster {クラスター名} --service {サービス名} --enable-execute-command
"enableExecuteCommand": true

ちなみにコンソール上からもECS Execが有効かどうかを確認することができます。

5. VPCエンドポイントの作成(Fargateをプライベートサブネットに配置してNATゲートウェイを利用しない場合)

ssmmessages

ステップ 6: (オプション) AWS PrivateLink を使用して Session Manager の VPC エンドポイントを設定する - AWS Systems Manager

ECS Execを使用してみる

ここまでの設定が完了していればECS Execが使用できるようになっているはずです。

~ $ aws ecs execute-command --cluster dev-ishikura-fargate --task cd73df94e5c4476dbfa0831bccd13d9d --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-nxzkgu2yvuyr8qy8bgtpbzyhc4 #

最後に

ECS Execを使用するためにはこのようにいくつか設定作業が必要になるので「何をすればいいんだっけ?」となる方の手助けになれば幸いです。

参考

ECS Exec を使用して Amazon ECS コンテナをモニタリングする - Amazon Elastic Container Service

ecs — AWS CLI 2.28.6 Command Reference

おまけ

AWS Documentation MCP Serverを使ってFargateでECS Execを使用するための必要な設定作業について聞いてみたところ、上記の作業含め前提条件やオプションまで教えてくれました。うーんすごい。

執筆者 石倉弘隆 クラウド事業推進部 / クラウドエンジニア

  • 2026-05-11 ジュニアエンジニアはSREとどう向き合うべきか/AI時代に求められる思考のパラダイムシフト ~N… クラウド AWS イベント・告知 TECH & DESIGN STUDY こんにちは、ブログ運営担当の遠藤です。 5/19(火)19:00~20:00 当社主催の勉強会「NRIネットコム TECH AND DESIGN STUDY #99」が開催…

  • 2026-04-28 IAMは誰の責任か? ~ABAC・SCP・委譲の設計~ クラウド JAWS DAYS 2026レポート AWS Secrets Manager 管理(IAM, アカウント等) 2026年3月7日、AWSユーザーコミュニティ「JAWS-UG」主催の国内最大規模イベント JAWS DAYS 2026 に参加しました。 本記事では、 JAWS DA…

  • 2026-04-27 【Google Cloud Next 2026 in Las Vegas】Day 2 現地参加レ… テクノロジー クラウド Google Cloud BigQuery Google Cloud Next 2026 はじめに 一般提供(General Availability)になった注目機能 BigQuery tools for custom agents BigQuery Agent Analytics Plugin プレ…

  • 2026-04-27 【Google Cloud Next 2026 in Las Vegas】Opening key… クラウド Google Cloud Next 2026 はじめに 概要 新機能とアップデート 1. AI Hypercomputer 2. Agentic Data Cloud 3. Agentic Defense 4. Agent Platform and Models 5.…

  • 2026-04-24 【Google Cloud Next 2026 in Las Vegas】現地参加レポート ~ … クラウド Google Cloud Next Google Cloud Next 2026 レポート はじめに 開催概要 バッジ受け取り オープニング基調講演 セッション会場 エキスポ会場 ランチ会場 認定者ラウンジ おまけ まとめ はじ…

  • id:cqwfunp

  • id:r-ikebe

  • id:s4-yamada

  • id:nnc-t2-hashimoto

  • id:t-takanashi

  • id:y-nishioka

  • id:s3-matsumura

  • id:baba0

  • id:k3-watanabe

  • id:k2-ito

  • id:y0uk1

  • id:t-kikuchi1

  • id:k-osada

  • id:k-kanzaki

  • id:m-ono

  • id:nnc-t-fujimoto

  • id:y-kadowaki

  • id:uio8

  • id:k2-okazaki

  • id:t3-komiyama

  • id:e-fukuda

  • id:y-omuro

  • id:r-osawa

  • id:m2-toyoda

  • id:m4-yamamoto

  • id:t-matsuzawa

  • id:f-minamino

  • id:r-okuyama

  • id:k3-fujiwara

  • id:n1-kobayashi

  • id:y-obayashi

  • id:t5-inotaku

  • id:e-unno

  • id:s5-takahashi

  • id:a-otani

  • id:y3-shimizu

  • id:s12-kozaki

  • id:t-onouchi1

  • id:r-horiuchi

  • id:s-tanabe

  • id:c-koyama

  • id:k2-fukui

  • id:s2-shimizu

  • id:r-sekiya

  • id:k2-onishi

  • id:m-terashima

  • id:k5-kobayashi

  • id:t3-hayashi

  • id:r-minami

  • id:y-aoki

  • id:y2-shibahara

  • id:s5-fujimoto

  • id:r2-takeuchi

  • id:y2-ozawa

  • id:a3-kubota

  • id:n-yamauchi

  • id:m2-ajima

  • id:f-nishide

  • id:nnc-r-emori

  • id:m3-furukawa

  • id:h3-matsuura

  • id:a-nishimoto

  • id:t-koshikawa

  • id:k4-inoue

  • id:nnc-y-sakamoto

  • id:k10-matsumoto

  • id:nnc_hayashi

  • id:a-nagakawa

  • id:t-kinoshita

  • id:y-nishimoto-blog

  • id:nnc-h-yamada

  • id:nnc-kobayashi

  • id:h-ishikura

  • id:r3-yamazaki

  • id:r-ide-ryota

  • id:Y-youyou

  • id:nnc-y-higashikage

  • id:m-danjo

  • id:t2-furuta

  • id:f-masaoka

  • id:m-kuwano

  • id:nnc-m-nakayama

  • id:nnc-t-kita

  • id:s4-ito

  • id:m2-yokota

  • id:m2-kamimura

  • id:n-hidaka

  • id:t3-kato

  • id:h-katsuura

  • id:m-fuyutsume

  • id:s-fujimura

  • id:naruhide-202405-netcom

  • id:maokurita

  • id:t7-watanabe

  • id:nnc-y-matsuo

  • id:n-fukase

  • id:y2-kitano

  • id:m6-yamada

  • id:y-utsugi

  • id:m4-nakamura

  • id:h3-sasaki

  • id:h-ukita

  • id:nnc-y-nishi

  • id:a2-koizumi

  • id:s3-sato

  • id:k2-kobayashi

  • id:h-kajix

  • id:s2_ono

  • id:takurosasaki

  • id:nnc-k-ozawa

  • id:k-nishiuchi

  • id:r-goto

  • id:tan12

  • id:nnc-shigemoto

  • id:t2-tsutsumi

  • id:k-tamamura

  • id:t5-takahashi

  • id:k-umehara

  • id:t-nakayama-nnc

  • id:nnc-k-takata

  • id:a-isogawa

  • id:t-iwasaki_nnc

  • id:h-hagiwara

  • id:n-aota

  • id:s-nakahira

  • id:u-kobayashi

  • id:maehiranetcom

  • id:k2-kato

  • id:s3-goto

  • id:m-takahata

  • id:k-morimura

  • id:j-yoshii

  • id:y2-haga

  • id:k2-maki

  • id:y-funakawa

  • id:k4-aoki

  • id:m-ishigami

  • id:t-idenoue

  • id:r-ito

  • id:h-susano

  • id:n-tsunekawa

  • id:n-yamagaya

  • id:m-kontani

  • id:c2-ishikawa

  • id:h-iino

  • id:r3-takahashi

  • id:ka-araki

  • id:m-tanibe

  • id:m-sakaii

  • id:k-nakatsuka

  • id:a-ikeshita

  • id:y3-imamura

  • id:m2-kojima

  • id:t-kofude

  • id:s-yatagai

  • id:t3-kawabata

  • id:y-sanekata

  • id:r-kusano

  • id:a-matsuno

  • id:y-ushizuka

  • id:m-takeshita

  • id:nnc-sato

  • id:r2-sasaki

  • id:r-tsuboi

  • id:nnc-yamamoto

  • id:k1-wakabayashi

  • id:s3-nakagawa

  • id:j-takahashi

  • id:n-ishimoto

  • id:kumazc0914

  • id:e-nishigaya

  • id:n-kuwahara

  • id:r-gulley

  • id:t-shiomi

  • id:nnc-k-tsujishita

  • id:nnc-h-nishimoto

  • id:m-kobatake

  • id:m-shimazaki2

  • id:nnc-k-nakano

  • id:y4-kobayashi

  • id:nnc-t-mochizuki

  • id:t2-sakamoto

  • id:y6-nakamura

  • id:y2-kuroki

  • id:a-kisou

  • id:r-igarashi

  • id:nnc-r-yamada

  • id:nnc-y-hanada

  • id:nnc-d-ootsubo

  • id:n-wada

  • id:m-toda

  • id:nnc_shibuya

  • id:k-horiyama

  • id:d-naito_nnc

  • id:a-ochi

  • id:nnc-r-nagatsuji

  • id:y2matsumoto-nnc

  • id:n-tokunaga

  • id:a2-sakamoto

  • id:t-nishibe

  • id:yocchan-ika

  • id:y10-watanabe

  • id:a-mitsui

  • id:k-zenigame

  • id:k5-matsumoto

  • id:nnc-k-kawano

  • id:t-fukushima

  • id:m3-kimura

  • id:t-nagasako

  • id:nnc-h-fujimoto

  • id:k3-kawashima

  • id:s3-masuda

  • id:s-fukukawa

  • id:y5-hirose

  • id:y7-hayashi

  • id:miyata-h

  • id:y-ohno

  • id:m6-nakagawa

  • id:m2-fujii

  • id:n-kojima

  • id:n-kawabe

  • id:m-kunihiro

  • id:a-ushiroya

  • id:h2-nakano

  • id:m1-hasegawa

  • id:h-kawai

  • id:shiota708nc

  • id:h-okuno

  • id:r-hu

  • id:m-yamaoka

  • id:k-shioya

  • id:k3-mizuno

  • id:shimbe256

  • id:k-horix

  • id:c-hayashi

  • id:t-yamakawa-nrinetcom

  • id:c-hirooka

  • id:nnc-r-shimizu

  • id:nnc_a_tomono

  • id:m-ajima

  • id:h-minatogawa

  • id:a-nishida

  • id:r3-yamada

  • id:nnc-m-moriguchi

  • id:a-kako

  • id:s-kanai

  • id:nnc-y-tahara

  • id:fu3ak1

  • id:h2-ohkubo

  • id:nnc-n-matsumoto

  • id:y-mita

  • id:n-hommoto

  • id:y-oka

  • id:m2-kikuchi

  • id:s-arai

  • id:s2-iwasaki

  • id:t-jinno

  • id:nnc_t_yamasawa

  • id:nnc_r_morita

  • id:nnc_m2_yamada

  • id:m-nakahara

  • id:kajino10914

  • id:t10-suzuki

  • id:y-osanai

  • id:k9-matsumoto

  • id:sho_ishi

  • id:s2-tada

  • id:y-arimitsu

  • id:r2-fujino

  • id:r-sakuraba

  • id:t5-takeuchi

  • id:y2-arakawa

  • id:m-yamanishi

  • id:TERU_YAMADA

  • id:k3-saito

  • id:kondo_a

  • id:c-sawai

  • id:h-hoji

  • id:m3-wada

  • id:t-tezuka

  • id:c2-nishimura

  • id:nnc-j2-baba

  • id:nnc-n-makita

  • id:nnc-k-yanagida

  • id:ckakizaki

  • id:k-minaba

  • id:MHnnc

  • id:tmktkg

  • id:ankjm0

  • id:nnc_s-koide

  • id:n-adachi

  • id:nnc-t-matsuda

  • id:j-takasuka

  • id:NaohiroOtake

NRIネットコムからのお知らせ

NRIネットコムBlog アクセス数ランキング

NRIネットコムの公式アカウント

NRIネットコムについて

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

要点

  • AWS運用、保守、ECS/Fargate/CloudFrontなどの実務Tipsとして確認する。
  • 元URL: https://tech.nri-net.com/entry/configuring_aws_fargate_for_ecs_exec

タグ

aws #infra/aws #web-clip