Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜

Avatar for Itaru Ota Itaru Ota
August 21, 2025

DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜

JAWS-UGコンテナ支部 入門編 #8 初心者大歓迎LT大会のLT登壇資料です。
https://jawsug-container.connpass.com/event/361918/

Avatar for Itaru Ota

Itaru Ota

August 21, 2025
Tweet

More Decks by Itaru Ota

Other Decks in Programming

Transcript

  1. 1. ローカルでモック環境を使う • LocalStack、MinIO など • ✅ 権限不要・高速・無料 • ⚠

    本番との差異 2. 検証環境で頻繁に試す • dev/stgクラスタにデプロイ • ✅ 本番との差が小さい • ⚠ コスト・待ち時間が発生 マネージドコンテナサービスの前段階の開発パターン → 今回は1の流れで学んだことを共有  ※マネージドコンテナサービスの一例としてECSを取り上げます 3. IaCで環境を動的に作る • PR毎にephemeral環境 • ✅ 並行開発に強い • ⚠ 運用負荷大
  2. AWSの環境を触る上で知っておきたいこと ①CICDの全容 例 1. コードをGitHubにpush →トリガーはpush? PR merge? 手動dispatch? 2.

    GitHub ActionsがECRにイメージをpush →ECRへの認証方法は?タグがずれていないか? 3. ECSサービスが新しいタスクを起動 →タスク定義のバージョンは?デプロイ方式は? ポイント • 設計に立ち返る • Terraform / CDK / コンソールからタスク定義を調べる方法を把握する • LocalStackとAWSの環境切り替えを考慮して実装する
  3. AWSの環境を触る上で知っておきたいこと ②権限 LocalStackとの違い • LocalStack:権限設定不要 • AWS環境:権限がないと動かない ポイント 何が必要かコミュニケーションを密に取る! •

    GitHub ActionsがAWSに認証するためのロールなど • Execution Role ◦ ECRからイメージ取得・CloudWatch Logsの出力・SSM/Secretsの参照など • Task Role ◦ アプリのAWS API呼び出し=S3, DynamoDB, SQS 等に使う
  4. AWSの環境を触る上で知っておきたいこと ③観測性 LocalStackとの違い • LocalStack:docker logs • CICDツール:ワークフローのログ • ECS:CloudWatch

    Logs ポイント • ログの構造化、詳細化(ジョブの実行を待つ→失敗→修正→…の手戻りを減らす) • メトリクス・トレースも重要
  5. まとめ ローカルでの開発からAWS環境へ移行する際に知っておくべきこと 1. CICDの全容→ 設計ドキュメントなどに立ち返る 2. 権限 → 必要なアクセスをアプリ側から提示、コミュニケーションを密に取る 3.

    観測性 → ログを仕込んでおく 他にも • コスト:LocalStack vs ECS • セキュリティ:Secrets Managerでの機密情報管理 • ネットワーク:Dockerコンテナ間 vs AWSサービス間・アカウント間