AWS ECS(fargate)+ECR コンテナでバッチをつくる① ※CodeBuildの設定からECRの設定まで

AWS ECS(fargate)+ECR コンテナでバッチをつくる① ※CodeBuildの設定からECRの設定まで:

ECSでバッチを実行するシステムをつくります。

※今回の記事では、ECRにイメージファイルを登録するところまで


構成図 



aa.PNG



①CodeCommitにソースを登録する。

CodeBuildeで必要となる、buildspec.yml(ビルドの指示書)が必要となります。

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-docker.html


CC1.PNG


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 
⇒内容は、ビルドをして、ビルド結果のイメージファイルをECRに登録するとなっています。

FROM python:3.6.8-alpine3.8 
WORKDIR /temp 
COPY ./test.py . 
CMD [ "python", "./test.py" ] 
test.py
print("batch execute") 
⇒文字列"batch execute"を出力するだけ


②ECRにリポジトリを登録する

リポジトリを登録(test)


ECR1.PNG


パーミッションの設定

(CodeBuildからイメージファイルを登録できるように)

※IAMでしばることもできますが、全員に指定のアクションを許可するようにしています。
ECR3.PNG

ECR4.PNG

ECR5.PNG



③CodeBuildでビルドし、イメージファイルをECRに保存する。

ビルドプロジェクト作成

※ソースは、CodeCommitで登録したものを設定

※環境変数は、buildspec.ymlに設定した変数の値を設定します。

 [AWS_DEFAULT_REGION] ※ECRリポジトリのリージョン

 [IMAGE_REPO_NAME ] ※ECRリポジトリ名

 [IMAGE_TAG ] ※ECRリポジトリのタグ名(ver)

 [AWS_ACCOUNT_ID ] ※AWSのアカウントID



CB1.PNG

CB2.PNG

CB3.PNG

CB4.PNG

CB5.PNG

CB7.PNG

CB8.PNG

CB6.PNG


ビルドプロジェクトに設定したサービスロールにECRへの操作権限を付与
IAM1.PNG


ビルドを実行すると、ECRにイメージファイルが登録されます。
CBS2.PNG

ECR6.PNG


↓↓↓

今回はここまでとします。

次の記事は作成中です!

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)