AWS ECS(fargate)+ECR コンテナでバッチをつくる① ※CodeBuildの設定からECRの設定まで
AWS ECS(fargate)+ECR コンテナでバッチをつくる① ※CodeBuildの設定からECRの設定まで:
ECSでバッチを実行するシステムをつくります。
※今回の記事では、ECRにイメージファイルを登録するところまで
CodeBuildeで必要となる、buildspec.yml(ビルドの指示書)が必要となります。
⇒内容は、ビルドをして、ビルド結果のイメージファイルをECRに登録するとなっています。
⇒文字列"batch execute"を出力するだけ
リポジトリを登録(test)
パーミッションの設定
(CodeBuildからイメージファイルを登録できるように)
※IAMでしばることもできますが、全員に指定のアクションを許可するようにしています。
ビルドプロジェクト作成
※ソースは、CodeCommitで登録したものを設定
※環境変数は、buildspec.ymlに設定した変数の値を設定します。
[AWS_DEFAULT_REGION] ※ECRリポジトリのリージョン
[IMAGE_REPO_NAME ] ※ECRリポジトリ名
[IMAGE_TAG ] ※ECRリポジトリのタグ名(ver)
[AWS_ACCOUNT_ID ] ※AWSのアカウントID
ビルドプロジェクトに設定したサービスロールにECRへの操作権限を付与
ビルドを実行すると、ECRにイメージファイルが登録されます。
↓↓↓
今回はここまでとします。
次の記事は作成中です!
ECSでバッチを実行するシステムをつくります。
※今回の記事では、ECRにイメージファイルを登録するところまで
構成図
①CodeCommitにソースを登録する。
CodeBuildeで必要となる、buildspec.yml(ビルドの指示書)が必要となります。https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-docker.html
buildspec.yml
version: 0.2 phases: pre_build: commands: - echo Logging in to Amazon ECR... - $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION) build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
FROM python:3.6.8-alpine3.8 WORKDIR /temp COPY ./test.py . CMD [ "python", "./test.py" ]
test.py
print("batch execute")
②ECRにリポジトリを登録する
リポジトリを登録(test)パーミッションの設定
(CodeBuildからイメージファイルを登録できるように)
※IAMでしばることもできますが、全員に指定のアクションを許可するようにしています。
③CodeBuildでビルドし、イメージファイルをECRに保存する。
ビルドプロジェクト作成※ソースは、CodeCommitで登録したものを設定
※環境変数は、buildspec.ymlに設定した変数の値を設定します。
[AWS_DEFAULT_REGION] ※ECRリポジトリのリージョン
[IMAGE_REPO_NAME ] ※ECRリポジトリ名
[IMAGE_TAG ] ※ECRリポジトリのタグ名(ver)
[AWS_ACCOUNT_ID ] ※AWSのアカウントID
ビルドプロジェクトに設定したサービスロールにECRへの操作権限を付与
ビルドを実行すると、ECRにイメージファイルが登録されます。
↓↓↓
今回はここまでとします。
次の記事は作成中です!
コメント
コメントを投稿