Closed7

AWSコンテナ設計・構築[本格]入門

たぬたぬ

Dockerへの認証ができない

p242

環境

m1 mac

仮定

m1Macなので、 docker image build をする時にPlatformの追記をしないといけないか可能性があるかも

エラー内容

**:~/environment/sbcntr-backend (main) $ aws ecr --region ap-northeast-1 get-login-password | docker login --username AWS --password-stdin https://${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/sbcntr-backend
Error response from daemon: Get "https://**.dkr.ecr.ap-northeast-1.amazonaws.com/v2/": dial tcp: lookup **.dkr.ecr.ap-northeast-1.amazonaws.com on 10.0.0.2:53: no such host
たぬたぬ
docker image build -t sbcntr-backend:v1 --platform amd64 .

とpaltformを追記してもエラー解消されなかった

たぬたぬ

VPCのエンドポイントの設定を見ると、サブネットの紐付けができていなかったので、egressを紐づけて再度実施する

たぬたぬ
$ docker image rm -f $(docker image ls -q)
$ docker image build -t sbcntr-backend:v1 --platform amd64 .
$ docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
$ AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)
$ docker image tag sbcntr-backend:v1 ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/sbcntr-backend:v1
$ docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
aws ecr --region ap-northeast-1 get-login-password | docker login --username AWS --password-stdin https://${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/sbcntr-backend

→ Login Succeeded

解決方法

VPCエンドポイント作成時にVPCのサブネットIDの指定ができていなかった

Cloud9からECRへのアクセスはVPCエンドポイント経由のため、セキュリティグループやVPCが正しく設定していないと、Cloud9からECRに接続ができない
今回の場合は、com.amazonaws.ap-northeast-1.ecr.dkr のサービス作成時にサブネット指定をしていないため、Dokerログインができなかった

たぬたぬ

CodeDeployでBlue/Greenのデプロイメントが完了しない

ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secret from asm: service call has been retried 1 time(s): retrieved secret from Secrets Manager did not contain json key dbname

codedepolyがうまくいかない、、、

  • IAMの設定もしてるし
  • secretMangerの値も正しい
たぬたぬ

CodeDeployでBlue/Greenのデプロイメントが完了しない原因

secret maneger のキーに「dbname:sbcntrapp」がなかった

解決策

secret maneger のシークレットの値に以下を追加

キー:dbname
シークレットの値:sbcntrapp

## エラー文

ResourceInitializationError: unable to pull secrets or registry auth: 
execution resource retrieval failed: unable to retrieve secret from asm: 
service call has been retried 1 time(s): retrieved secret from Secrets Manager 
did not contain json key dbname
このスクラップは2022/09/25にクローズされました