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を使ってFargateにログインしてみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryohei Hisamitsu
November 20, 2021
Technology
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ECS Execを使ってFargateにログインしてみた
Ryohei Hisamitsu
November 20, 2021
More Decks by Ryohei Hisamitsu
See All by Ryohei Hisamitsu
re:Invent参加フィードバック会
hisami
0
110
GoのアプリをEKS(Fargate)にデプロイしてみた話
hisami
0
260
Greengrassを使ったIoTのアーキテクチャ
hisami
0
180
TypeScriptでDIしてみた
hisami
0
520
Other Decks in Technology
See All in Technology
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
190
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
130
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
270
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
120
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
210
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.9k
MCP Appsを作ってみよう
iwamot
PRO
4
510
手塩にかけりゃいいってもんじゃない
ming_ayami
0
250
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
9.8k
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
280
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
We Have a Design System, Now What?
morganepeng
55
8.2k
Designing Experiences People Love
moore
143
24k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Side Projects
sachag
455
43k
The browser strikes back
jonoalderson
0
1.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Transcript
ECS Execを使ってFargateにログインしてみた 久光遼平 AWS LT会 2021.11.17
自己紹介:久光 遼平(ひさみつ りょうへい) l 自動車業界約6年、IT業界約3年半のエンジニア l 大学:Java l 自動車会社:Matlab、C++ l
前職:PHP l 現職:TypeScriptでのバックエンド開発、AWSでのインフラ構築 l マラソン、サッカーが趣味 2
今日のお話 l FargateにログインできるECS Execが今年の3月にリリースされたので使っ てみたら、すごく簡単に設定できた l 心おきなくFargateを選択して、インフラ管理の手間を省きましょう 3
そもそも、なんでコンテナ使うんだっけ? l 不変の実行環境 l Aさんは動くけどBさんは動かないといったことが起きない l 本番でもそのまま動かせる l 充実したエコシステム l
Dockerfileはレイヤを追加していく書き方 l 自分で1から書かなくて良い l 各種クラウドベンダが持つマネージドサービス l 本番環境を簡単に作れる l サーバ管理の手間を省く選択肢が存在する → AWSのFargate 4
AWSにおけるコンテナ実行基盤(EC2 vs Fargate) l Fargateのメリット l インフラレイヤーの管理が不要 l 脆弱性対応のためのパッチ当て、OSアップグレード l
異常発生時のEC2インスタンスの再起動や入れ替え l Fargateのデメリット l 単価が少し高い l Windowsコンテナが使えない →10/28からサポートされるようになった l SSHによるローカルアクセスができない 5
SSHできなくて困ること l トラブルシューティング l コンテナではログを標準出力に出してCloudWatchで収集するのが定石だけど、、 l 実際にトラブルがおきて、この情報も見たかった!ってことありますよね 6
そこで、ECS Exec l Dockerでコンテナに入る時に使うdocker exec的なもの l ECS on EC2、Fargate両方に対応 l
Systems Managerのセッションマネージャーを使用 l 通信ポートを解放せずにアクセスできるのでセキュア、踏み台サーバ不要 l Linuxコンテナのみサポート、Management Consoleでの設定は現時点不可 7
実際の手順 l 前提 l AWS CLIのバージョン:v1.19.28以降 or v2.1.31以降 l セッションマネージャープラグインのインストールが必要
l CloudFormationで構築されたFargateのインフラが既に存在している (CLIを使用する場合も、同じくらい簡単に変更できます) l 流れ 1. ECSタスクロールの変更 2. サービスのEnableExecuteCommandオプションを有効にする 3. タスクの再デプロイ 4. コンテナへのログイン 8
手順1:ECSタスクロールの変更 l SSM関連のポリシーを作成して既存のロールにアタッチ 9
l 1行追記して、CloudFormationをデプロイ 手順2:サービスのEnableExecuteCommandオプションを有効にする 10
手順3:タスクの再デプロイ l CI/CDの仕組みも作っていたのでCodePipelineからデプロイ 11
手順4:コンテナへのログイン l 以下コマンドを実行 l 成功すると、コンテナ内でコマンドを実行できる 12 BXT FDT FYFDVUFDPNNBOEʘ DMVTUFSIJTBUFTUDMVTUFSʘ
UBTLYYYYYYYYYYYYYYYYYYYYYYY ʘ DPOUBJOFSIJTBUFTUDPOUBJOFSBQQʘ JOUFSBDUJWFʘ DPNNBOECJOTI 5IF4FTTJPO.BOBHFSQMVHJOXBTJOTUBMMFETVDDFTTGVMMZ6TFUIF"84$-*UPTUBSUBTFTTJPO 4UBSUJOHTFTTJPOXJUI4FTTJPO*EFDTFYFDVUFDPNNBOEYYYYYYYYYYY MT %PDLFSGJMF CVJMETQFDZNM JOGSB OPEF@NPEVMFT QBDLBHFMPDLKTPO QBDLBHFKTPO TFSWFSKT
まとめ l Fargateにログイン可能なECS Execはすごく簡単に設定できる 1. ECSタスクロールの変更 2. サービスのEnableExecuteCommandオプションを有効にする 3. タスクの再デプロイ
4. コンテナへのログイン l 心おきなくFargateを選択して、インフラ管理の手間を省きましょう l ただし、エラーログなどはこれまで通りCloudWatchなどに出力すべき l ヘルスチェックなどでコンテナが置き換わると、トラブルシューティングが困難に なるケースがあるため l ECS Execに頼りすぎるのではなく、最後の砦という位置付け 13
None