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
5
2k
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
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
220
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
2
980
放送コンテンツに対する ツイートの<一様率>分析
ota1022
0
31
Twitterを用いたラジオ番組圧縮手法の提案
ota1022
0
30
Other Decks in Programming
See All in Programming
CSC305 Lecture 03
javiergs
PRO
0
220
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
0
530
Server Less Code More - コードを書かない時代に生きるサーバーレスデザイン / server-less-code-more
gawa
5
1.9k
dynamic!
moro
9
4k
Reactをクライアントで使わない
yusukebe
7
6.2k
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
310
まだ世にないサービスをAIと創る話 〜 失敗から学ぶフルスタック開発への挑戦 〜
katayamatg
0
160
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
180
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
930
半自動E2Eで手っ取り早くリグレッションテストを効率化しよう
beryu
6
2.3k
実践AIチャットボットUI実装入門
syumai
7
2.3k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
940
Featured
See All Featured
Facilitating Awesome Meetings
lara
56
6.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Designing Experiences People Love
moore
142
24k
KATA
mclloyd
32
14k
Agile that works and the tools we love
rasmusluckow
330
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Cult of Friendly URLs
andyhume
79
6.6k
The Invisible Side of Design
smashingmag
301
51k
RailsConf 2023
tenderlove
30
1.2k
Producing Creativity
orderedlist
PRO
347
40k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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サービス 最新情報: https://docs.localstack.cloud/aws/services/
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という名前らしい