CircleCI_setting_with_AWS_ECR

AWS ECRを利用したCircleCIの構築

実現したいこと

  • AWS ECR に 開発環境で利用している docker image をアップロードする
  • アップロードしたイメージを pull して CircleCIを実行

概要

お勧めするのアプローチは、OpenID Connect(OIDC)を使用して AWS ECR からイメージをプルすることです。

  • メリット
    • セキュリティの向上
      • OIDC 認証を利用することで、CircleCI の設定や環境変数に直接 AWS の認証情報を保存することが避けられ、漏洩のリスクを低減できます。
    • クレデンシャル管理の簡素化: 
      • OIDC により、CircleCI は認証プロセスを自動的に管理し、AWS のクレデンシャルを手動で管理しローテーションする必要がなくなります。
    • **きめ細かなアクセスコントロール:
      • **OIDC 認証に IAM ロールを関連付けることで、CircleCI がECR イメージを取り込む際に付与する権限を厳密にコントロールし、最小特権を確保することが可能です。

やり方

前提

CLI

AWS Configure

AWS ECR権限

  • ロールを作成してもらう必要がある

その他

  • GibHub に CircleCI が連携されている
  • AWS で CircleCI を信頼できる ID プロバイダとして設定されている

Docker image を用意

任意のリージョンの ECR リポジトリから、プライベート イメージをプルできます。 ただし、最高のエクスペリエンスを得るために、us-east-1 リージョンにイメージのコピーを作成し、その us-east-1 のイメージを Docker Executor に指定することを強くお勧めします。 CircleCI のジョブ実行インフラストラクチャは us-east-1 リージョンにあります。 そのため、us-east-1 のイメージを使用すると、環境のスピンアップ プロセスにかかる時間が短縮されます。

参考

AWSにリポジトリを作成する

参考

AWS ECR にdocker image を配置する

参考

CircleCI で docker image pull する

参考