ECRでホストされているDockerイメージを使用したいのですが、cloudformationテンプレートを使用してプル操作を自動化したいと思います。
Ec2インスタンスへのECRフルアクセスでIAMロールをアタッチしましたが、機能しません。
私がやっている docker pull 1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag
とiamがエラーを取得Error response from daemon: Get https://1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag/manifests/latest: no basic auth credentials
ECR、EC2、Dockerを使用する場合でも、docker login
を実行する必要があります。
ユーザーデータで
aws ecr get-login --no-include-email > login.sh
bash login.sh
その後、実行できるはずです
docker pull ecr_registry/repo:tag
https://docs.aws.Amazon.com/AmazonECR/latest/userguide/ECR_AWSCLI.html
Windowsを実行しているEC2インスタンスを実行している場合は、aws ecr get-login
の同等のPowerShellコマンドを実行する必要があります。
Invoke-Expression –Command (Get-ECRLoginCommand –Region region).Command