CodeBuildが正常に動くまでにしたことリスト


はじめに

CodePipelineでCI/CDフローを作成したが、初回実行だったこともありCodeBuild部分でエラーが数件連続した。
解消までの道のりをまとめる。誰かの役にたてば幸いです。

PROVISIONING フェーズでエラー

エラーコード

PROVISIONING クライアントエラー VPC_CLIENT_ERROR: Unexpected EC2 error: InvalidGroup.NotFound

キャプチャ

対応

CodeBuildの環境タブを見直したところ、セキュリティグループが設定されていなかったので設定したことで解消。

AWSのログインに失敗

CodeBuildでbuildしたものをECRに登録しているが、ログイン失敗エラーが発生。

実行コード

 Running command $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) 

エラーメッセージ

An error occurred (InvalidSignatureException) when calling the GetAuthorizationToken operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. 

対応

エラーメッセージを確認すると、シークレットの値が合わないとしてエラー出ていた。
CodeBuildの環境変数にシークレット値を設定しているため、当該箇所のAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYを確認した。
結果、行末にスペースが含まれていたので、削除したことで解消。
GUIからの見た目ではわかりにくいので注意です。

Dockerに接続に失敗

docker imageをECRに登録する部分で接続失敗エラーが発生。

実行コード

Running command docker push $REPOSITORY_URI:latest 

エラーコード

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

対応

調べてみると、CodeBuildからDockerのアクセスには特権が必要との記事を発見した。
https://qiita.com/reireias/items/c02e5e7b2f099f2dab9e
環境の設定を確認すると、特権付与されていなかったので、付与したこと解消。