ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
2019/05/02
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS Batchで使いたいので、ECR(Amazon Elastic Container Registry)にアップロードします。

最終的にはマークダウンからEPUB3への変換をAWS Batchで自動化したいと思います。
目次
ECRリポジトリの作成
[Amazon Container Services]にアクセスして、[Amazon ECR]を選択します。
[リポジトリの作成]ボタンをクリックしました。
リポジトリの名前を入力して作成しました。
リポジトリが出来ました。
ECRリポジトリにイメージをプッシュ
リポジトリ名をクリックして、[プッシュコマンドの表示]をクリックすると、このリポジトリにイメージをプッシュするためのコマンドが表示されます。
ここからはAWS CLIでこのコマンドを実行します。
CLIコマンドを実行するユーザーのIAMポリシーは、最小権限になるようにしてみました。
このポリシーは最終的にこうなったポリシーです。
最初はecr:PutImageとecr:GetAuthorizationTokenだけで開始して、エラーメッセージごとに追加していきました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "sid1", "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:PutImage" ], "Resource": "arn:aws:ecr:us-east-1:123456789012:repository/pandoc" }, { "Sid": "sid2", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] } |
|
1 2 3 4 5 6 |
$ (aws ecr get-login --no-include-email --region us-east-1) WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded $ docker tag pandoc:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/pandoc:latest $ docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/pandoc:latest |
イメージはすでに作成済ですので、docker buildはスキップしてます。
エラーが発生しました。
「error parsing HTTP 403 response body: unexpected end of JSON input: “”」
ここまでも権限不足が発生するごとに
「denied: User: arn:aws:iam::123456789012:user/ecr is not authorized to perform: ecr:InitiateLayerUpload on resource: arn:aws:ecr:us-east-1:123456789012:repository/pandoc」というようなメッセージが表示されていたので、該当のポリシーをリソース限定で追加していました。
ですが、今回のメッセージは権限不足なのかどうかよくわかりませんでした。
このメッセージそのもので検索していくつかの検索結果を見ますと、「”ecr:BatchCheckLayerAvailability”」を追加しよう、ということだったので追加しました。
アップロードできました!
次はAWS Batchで使ってみます。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Organizations対応のAWS CloudTrailのAthenaテーブルでPartition Projectionを使用しました
パーティション向けのAlterテーブルの定期実行が面倒だと思っていたら、Part …
-
-
Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました
AWS Summit Tokyo 2017でセッション「Going Server …
-
-
S3をトリガーにしたときのLambdaのリソースベースポリシー
LambdaのトリガーでS3を設定したとき、自動的にLambdaのリソースベース …
-
-
Amazon Linux2(EC2)にEC-CUBE 4をインストール
こちらのHOMEお知らせ・コラムAmazon Linux2にEC-CUBE4.0 …
-
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …
-
-
Lambda関数で自分自身の環境変数を更新する
Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …
-
-
「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた
サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …
-
-
MySQL WorkbenchからRDSに接続する
MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …
-
-
WordPressで画像アップロードができなくなった(AWS WAFでブロックしていた)
WordPressで画像がアップロードできなくなりました。 こんなメッセージです …
-
-
Amazon S3バケットでMFA Deleteを有効にする
バージョニングが有効なバケットでバージョン削除でMFA Deleteを有効にして …






