Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ECS Exec を使った ECS の トラブルシューティング
Search
Ryuki Dohara
August 09, 2022
Technology
0
720
ECS Exec を使った ECS の トラブルシューティング
イベント「
JAWS-UGコンテナ支部 入門編 #7 初心者大歓迎LT大会
」での登壇資料です。
[概要]
業務でECS Execを使った時の経験をベースに、ECS Execの使い方や便利な点を紹介
Ryuki Dohara
August 09, 2022
Tweet
Share
More Decks by Ryuki Dohara
See All by Ryuki Dohara
AWS のコンテナサービスについて整理してみる
dohara
0
43
新卒が半年で AWS 認定資格11冠取得した勉強記
dohara
0
1.2k
Other Decks in Technology
See All in Technology
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
210
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
210
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
360
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
890
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
150
Android Audio: Beyond Winning On It
atsushieno
0
100
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Speed Design
sergeychernyshev
32
1.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Why Our Code Smells
bkeepers
PRO
339
57k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Language of Interfaces
destraynor
161
25k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Side Projects
sachag
455
43k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Gamification - CAS2011
davidbonilla
81
5.4k
Transcript
[JAWS-UG コンテナ支部 入門編 #7] ECS Exec を使った ECS の トラブルシューティング
アイレット株式会社 堂原 竜希
自己紹介 名前 : 堂原 竜希(ドウハラ リュウキ) 所属 : アイレット株式会社
インフラエンジニア 入社 : 2021 年(新卒) Twitter : @ryu_dohara 2
クラウドのコンテナはローカル検証が難しい 一年間新卒として過ごし、初の ECS 絡みのインフラ構築 3 クラウドのコンテナならではの要件 • ECS 間通信管理に App
Mesh 使用 • ECS 外のサービスへのアクセス • AWS API を叩く …
クラウドのコンテナはローカル検証が難しい クラウドならではの要件 → クラウドならではの設定 • セキュリティグループ • IAM ロール /
ポリシー • VPC エンドポイント 4 データベースにアクセスできないのは? • 記述ミス? • psql などのツールでもアクセスできない? API を叩けないのは? • 記述ミス? • 名前解決はできてる? • 権限がある? エラー発生 コンテナの外から見ただけでは切り分けが難しい
Docker なら docker exec が 使えるのに・・・ 5 ECS でもできます!
ECS Exec ECS で実行されているコンテナで以下が可能に • コマンドの実行 • シェルへのアクセス まさに Docker
の docker exec と同様のことができます! 6
ECS Exec 使用例 7 $ aws ecs execute-command --cluster cluster-name
\ --task task-id \ --container container-name \ --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-xxx #
ECS Exec の便利な点 8 コンテナイメージを変更する必要がない コンテナへの特定のツールのインストール不要 セキュリティグループで特定のポートを開放する必要なし AWS System Manager
(SSM) のセッションマネージャーを用いてるため ログ記録 コマンド及び出力結果は CloudWatch Logs へ ECS Exec の使用履歴は CloudTrail へ IAM ベースでの権限管理
色々と説明 9 SSM のセッションマネージャーが使われています そのため、タスクロールで SSM アクセス権限を付与する必要があります また、プライベートなサブネットに配置している場合、 VPC エンドポイントが必要です
マネージドコンソールから、 ECS Exec の有効化及び使用はできません
ECS Exec を有効化するには? 10 ざっくりまとめると、ECS に対して以下の設定が必要です • タスクロールに必要な権限付与 • (推奨)タスク定義において、
initProcessEnabled を有効化 • ECS サービスにおいて、ECS Exec (enableExecuteCommand) を有効化 また、次の設定も必要です • (プライベートサブネットの場合 ) VPC エンドポイント作成 • ECS Exec の実行アカウントに IAM ポリシー付与 (ここまでで思った方もいるかもしれませんが ) 設定内容が多く、初めてだとハマりやすいです・・・ そこで・・・
Amazon ECS Exec チェッカー 11 ECS Exec を使用するにあたり、 ECS やその他
AWS リソースが正しく設定されているかの確認をしてくれます フリーツールとして、 GitHub で展開 例) タスクロールの権限が未設定 引用元 : https://github.com/aws-containers/amazon-ecs-exec-checker
まとめ トラブルシューティングのお供として、 ECS Exec を有効活用しましょう! ECS Exec 自体の設定にハマってしまったら Amazon ECS
Exec チェッカーを活用 12 参考 • https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/ecs-exec.html • https://github.com/aws-containers/amazon-ecs-exec-checker