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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Lambda Layersのアーカイブファイルをダウンロードする
Cloud9にLambda Layersをダウンロードしたかったので検索してみた …
-
-
Lucidchart AWSアカウントからインポート機能で自動作図
SNSでLucidchartというサービスが話題になってました。 AWSの環境を …
-
-
執筆環境(PyCharm, CodeCommit, CodePipeline, S3, Lambda, 署名付きURL)
2018年から、年に1回ぐらい商業本の執筆をさせていただいております。 2020 …
-
-
Amazon Connectの新規作成からプッシュボタン入力と発信元電話番号をLambdaで処理するまで
とりあえずやりたいことはタイトルに書いたとおり、「電話をかけて、プッシュボタンに …
-
-
「最小限のコードで機械学習のためのトレーニングデータを準備する」チュートリアル記録
Amazon SageMaker Data Wranglerのチュートリアルをや …
-
-
CloudWatch Logs機密データ保護を設定しました
Amazon CloudWatch Logs を使用して機密データを保護するがリ …
-
-
AMIをOrganizations組織で共有しました
よく使うAMIをOrganizations組織内のリソースパブリッシュ用のアカウ …
-
-
AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)
AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …
-
-
CloudWatch Internet Monitor(プレビュー)を試しました
Amazon CloudWatch Internet Monitor プレビュー …
-
-
AWSのサービス数を数えてみました(2020/5/23)
何をもってサービスという単位にするかというのはあるかもしれませんが、とりあえず情 …






