AWS Amplifyでdocker-composeを使ってバックエンドサーバを利用するときに、amplify push
でエラーが出たので、その時の対処法を備忘録として書いておきます。
エラーの内容
amplify push
すると、下記のエラーが出る
No definition available (docker-compose.yaml / docker-compose.yml / Dockerfile)
% amplify push
✔ Successfully pulled backend environment dev from the cloud.
Current Environment: dev
┌──────────┬────────────────────────┬───────────┬───────────────────┐
│ Category │ Resource name │ Operation │ Provider plugin │
├──────────┼────────────────────────┼───────────┼───────────────────┤
│ Api │ container9999999999999 │ Create │ awscloudformation │
└──────────┴────────────────────────┴───────────┴───────────────────┘
? Are you sure you want to continue? Yes
An error occurred when pushing the resources to the cloud
An error occurred during the push operation: /
No definition available (docker-compose.yaml / docker-compose.yml / Dockerfile)
Review the Amplify CLI troubleshooting guide for potential next steps: https://docs.amplify.aws/cli/project/troubleshooting/
エラーの理由
ファイルdocker-compose.yml
を*.gitのルートディレクトリに置いていた。
対応方法
ファイルdocker-compose.yml
を、aplify/backend/api/<APP_NAME>/src
の下に置く。
参考: amplify push
で作成されるリソース
初回のamplify push
は時間がかかる。進捗はCloudFormationで確認できる。
主に以下のようなリソースが作成される。
- ECR
- ECS
- CodeBuild
- StepFunctions
- ApiGatewayV2
こちらもおススメ