概要
AWS ECS環境でGravitonプロセッサ(ARM64アーキテクチャ)を使用できるよう、Dockerイメージのマルチプラットフォームビルドに対応する。
背景
- AWS GravitonプロセッサはARMアーキテクチャで、コストパフォーマンスが高い
- 現在のDockerイメージはAMD64のみ対応
- マルチプラットフォーム対応により、同じイメージでAMD64とARM64の両方で動作可能
実装内容
- Docker Buildxを使用したマルチプラットフォームビルドの設定
- compose.production.yamlに各サービスのplatforms設定を追加
- buildspec.ymlでdocker buildx bakeコマンドを使用
- READMEにGraviton対応の説明を追加
技術的詳細
- ベースイメージ(Amazon Linux 2023)は既にマルチアーキテクチャ対応
- linux/amd64とlinux/arm64の両方のプラットフォームでビルド
- ECSタスク定義でarm64を指定することでGravitonインスタンスで実行可能