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
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
Search
Itaru Ota
August 21, 2025
Programming
1
120
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
JAWS-UGコンテナ支部 入門編 #8 初心者大歓迎LT大会のLT登壇資料です。
https://jawsug-container.connpass.com/event/361918/
Itaru Ota
August 21, 2025
Tweet
Share
More Decks by Itaru Ota
See All by Itaru Ota
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
1
920
放送コンテンツに対する ツイートの<一様率>分析
ota1022
0
25
Twitterを用いたラジオ番組圧縮手法の提案
ota1022
0
23
Other Decks in Programming
See All in Programming
生成AI、実際どう? - ニーリーの場合
nealle
0
110
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
280
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
530
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
3
880
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1.1k
AHC051解法紹介
eijirou
0
550
バイブコーディング × 設計思考
nogu66
0
120
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
830
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
7
2.8k
兎に角、コードレビュー
mitohato14
0
120
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
370
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
KATA
mclloyd
32
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
A designer walks into a library…
pauljervisheath
207
24k
Six Lessons from altMBA
skipperchong
28
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Transcript
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜 2025/08/21 JAWS-UGコンテナ支部 太田 暢 @iorandd Copyright
© 3-shake, Inc. All Rights Reserved.
太田 暢 株式会社スリーシェイク Sreake事業部アプリケーション開発支援チーム • バックエンドがメイン、たまにフロント • JAWS初登壇✨ 自己紹介
1. ローカルでモック環境を使う • LocalStack、MinIO など • ✅ 権限不要・高速・無料 • ⚠
本番との差異 2. 検証環境で頻繁に試す • dev/stgクラスタにデプロイ • ✅ 本番との差が小さい • ⚠ コスト・待ち時間が発生 マネージドコンテナサービスの前段階の開発パターン → 今回は1の流れで学んだことを共有 ※マネージドコンテナサービスの一例としてECSを取り上げます 3. IaCで環境を動的に作る • PR毎にephemeral環境 • ✅ 並行開発に強い • ⚠ 運用負荷大
ローカル環境とAWS環境の間に考慮すべきことがたくさんある IAMロール タスク定義 ログ メトリクス コスト セキュリティ ビルド デプロイ 環境変数
ワークフロー アカウントID
LocalStack https://github.com/localstack/localstack ローカルでAWSサービスをエミュレートできるプラットフォーム • CLIやDockerですぐ使える • バックエンドのロジック実装に集中できる • 無料で使える範囲でAPI GatewayやLambda、S3といった主要サービスをカバーしている
LocalStackで扱えるAWSサービス 最新情報
AWSの環境を触る上で知っておきたいこと ①CICDの全容 例 1. コードをGitHubにpush →トリガーはpush? PR merge? 手動dispatch? 2.
GitHub ActionsがECRにイメージをpush →ECRへの認証方法は?タグがずれていないか? 3. ECSサービスが新しいタスクを起動 →タスク定義のバージョンは?デプロイ方式は? ポイント • 設計に立ち返る • Terraform / CDK / コンソールからタスク定義を調べる方法を把握する • LocalStackとAWSの環境切り替えを考慮して実装する
AWSの環境を触る上で知っておきたいこと ②権限 LocalStackとの違い • LocalStack:権限設定不要 • AWS環境:権限がないと動かない ポイント 何が必要かコミュニケーションを密に取る! •
GitHub ActionsがAWSに認証するためのロールなど • Execution Role ◦ ECRからイメージ取得・CloudWatch Logsの出力・SSM/Secretsの参照など • Task Role ◦ アプリのAWS API呼び出し=S3, DynamoDB, SQS 等に使う
AWSの環境を触る上で知っておきたいこと ③観測性 LocalStackとの違い • LocalStack:docker logs • CICDツール:ワークフローのログ • ECS:CloudWatch
Logs ポイント • ログの構造化、詳細化(ジョブの実行を待つ→失敗→修正→…の手戻りを減らす) • メトリクス・トレースも重要
まとめ ローカルでの開発からAWS環境へ移行する際に知っておくべきこと 1. CICDの全容→ 設計ドキュメントなどに立ち返る 2. 権限 → 必要なアクセスをアプリ側から提示、コミュニケーションを密に取る 3.
観測性 → ログを仕込んでおく 他にも • コスト:LocalStack vs ECS • セキュリティ:Secrets Managerでの機密情報管理 • ネットワーク:Dockerコンテナ間 vs AWSサービス間・アカウント間
Thank you! ↑ Moby Dockという名前らしい