翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECR レジストリへのリクエストの実行
IPvIPv4-only4 および IPv6) エンドポイントを使用して、Amazon ECR プライベートレジストリの OCI イメージ、Docker イメージ、および OCI 互換アーティファクトをプッシュ、プル、削除、表示、管理できます。IPv4 IPv4 ネットワークからのリクエストには、デュアルスタックまたは IPv4 エンドポイントを使用できます。IPv6 ネットワークからリクエストを行うには、デュアルスタックのエンドポイントを使用します。IPv4 エンドポイントとデュアルスタックエンドポイントを使用して Amazon ECR パブリックレジストリにリクエストを行う方法の詳細については、「Amazon ECR パブリックレジストリにリクエストを行う」を参照してください。IPv6 経由で Amazon ECR にアクセスする場合、追加料金は発生しません。料金の詳細については、「Amazon Elastic Container Registry の料金
注記
Amazon ECR は、デュアルスタックエンドポイント経由の AWS PrivateLink トラフィックをサポートしていません。 AWS PrivateLink サポートが必要な場合は、IPv4-only Amazon ECR エンドポイントを使用する必要があります。
Amazon ECR エンドポイントは、IPv4-onlyエンドポイントまたはデュアルスタックエンドポイントのサポートを超える属性によって指定されます。これらの属性には以下が含まれます。
-
リージョン – 各エンドポイントはリージョンに固有です。
-
タイプ – エンドポイントの選択は、 AWS SDK と OCI 互換の Docker コマンドラインインターフェイスのどちらを使用しているかによって異なります。
-
セキュリティ – 一部のリージョンでは、Amazon ECR は FIPS 準拠のエンドポイントを提供します。FIPS 準拠の Amazon ECR エンドポイントのリストの詳細については、「連邦情報処理規格 (FIPS) 140-3
」を参照してください。
CLI および SDK からの Amazon ECR API コールを処理する IPv4、デュアルスタック、Docker、および OCI AWS クライアントでサポートされるサービスエンドポイントの詳細については、「サービスエンドポイント」を参照してください。 AWS SDKs
IPv6 経由のリクエストの開始方法
IPv6 経由で Amazon ECR レジストリにリクエストを行うには、デュアルスタックエンドポイントを使用する必要があります。IPv6 経由で Amazon ECR レジストリにアクセスする前に、次の要件を確認してください。
-
クライアントとネットワークは IPv6 をサポートしている必要があります。
-
Amazon ECR は、IPv6 経由で次のリクエストタイプをサポートしています。
-
OCI および Docker クライアントリクエスト:
<registry-id>
.dkr-ecr.<aws-region>
.on.aws -
AWS API リクエスト:
ecr.
<aws-region>
.api.aws
-
-
IPv6 アドレス範囲を含めるには、ソース IP アドレスフィルタリングを使用する AWS Identity and Access Management (IAM) またはレジストリポリシーを更新する必要があります。詳細については、「IAM ポリシーでの IPv6 アドレスの使用」を参照してください。
-
IPv6 を使用すると、サーバーアクセスログに IPv6 形式の
Remote IP
アドレスが表示されます。既存のツール、スクリプト、ソフトウェアを更新して、これらの IPv6-formatted IP アドレスを解析します。注記
ログファイルで IPv6 アドレスに関連する問題を見つけた場合、AWS サポート
にお問い合わせください。
IP アドレス互換性のテスト
Linux/Unix または Mac OS X を使用している場合、次の例に示すように curl
コマンドを使用して IPv6 でデュアルスタックのエンドポイントにアクセスできるかどうかテストできます。
curl --verbose https://ecr.us-west-2.api.aws
次の例のような情報を取得できます。IPv6 で接続している場合、接続されている IP アドレスは IPv6 アドレスです。
* About to connect() to ecr.us-west-2.api.aws port 443 (#0) * Trying IPv6 address... connected * Connected to ecr.us-west-2.api.aws (IPv6 address) port 443 (#0) > Host: ecr.us-west-2.api.aws * Request completely sent off
Microsoft Windows 7 または Windows 10 を使用している場合は、次の例に示すように ping
コマンドを使用して、IPv4 または IPv6 経由でデュアルスタックエンドポイントにアクセスできるかどうかをテストできます。
ping ecr.us-west-2.api.aws
デュアルスタックのエンドポイントを使用して IPv6 経由でリクエストを実行する
デュアルスタックエンドポイントを使用して、IPv6 経由で Amazon ECR API コールを行うことができます。Amazon ECR API オペレーションの機能とパフォーマンスは、IPv4 と IPv6 のどちらを使用する場合でも一貫しています。
AWS Command Line Interface (AWS CLI) と AWS SDKs を使用する場合、IPv6 を有効にするには、パラメータまたはフラグを使用してデュアルスタックエンドポイントに切り替えるか、設定ファイルでデュアルスタックエンドポイントを直接指定してデフォルトの Amazon ECR エンドポイントを上書きします。デフォルトのプロファイルで を true use_dualstack_endpoint
に設定する コマンドを使用して、設定を変更することもできます。の詳細についてはuse_dualstack_endpoint
、「デュアルスタックと FIPS エンドポイント」を参照してください。
例 コマンドを使用して設定を変更する
aws configure set default.ecr.use_dualstack_endpoint true
例 を使用した IPv6 経由のリクエストの実行 AWS CLI
aws ecr describe-repositories --region us-west-2 --endpoint-url
https://ecr.us-west-2.api.aws
Docker CLI からの Amazon ECR エンドポイントの使用
Amazon ECR リポジトリにサインインしてイメージにタグを付けると、OCI イメージと Docker イメージを Amazon ECR レジストリとの間でプッシュおよびプルできます。次の例は、デュアルスタックエンドポイントの両方を使用した docker push コマンドと docker pull コマンドを示しています。
例 IPv4 エンドポイントを使用した Docker イメージのプッシュ
docker push
<registry-id>
.dkr.ecr.us-west-1.amazonaws.com/my-repository:tag
例 デュアルスタックエンドポイントを使用した Docker イメージのプッシュ
docker push
<registry-id>
.dkr-ecr.us-west-1.on.aws/my-repository:tag
例 IPv4 エンドポイントを使用した Docker イメージのプル
docker pull
<registry-id>
.dkr.ecr.us-west-1.amazonaws.com/my-repository:tag
例 デュアルスタックエンドポイントを使用した Docker イメージのプル
docker pull
<registry-id>
.dkr-ecr.us-west-1.on.aws/my-repository:tag
IAM ポリシーでの IPv6 アドレスの使用
IPv6 を使用してレジストリにアクセスする前に、IP アドレスフィルタリングを使用する IAM ユーザーと Amazon ECR レジストリポリシーに IPv6 アドレス範囲が含まれていることを確認してください。IPv6 アドレスを処理するように IP アドレスフィルタリングポリシーが更新されない場合、クライアントは IPv6 の使用を開始したときに誤ってレジストリを失ったり、レジストリにアクセスしたりする可能性があります。IAM でのアクセス許可管理の詳細については、「Amazon Elastic Container Registry の Identity and Access Management」を参照してください。
IP アドレスをフィルタリングする IAM ポリシーは、IP アドレス条件演算子を使用します。次のレジストリポリシーの例は、IP アドレス条件演算子を使用して、許可された IPv4 アドレス54.240.143.*
の範囲を識別する方法を示しています。この範囲外の IP アドレスは、レジストリ () へのアクセスを拒否されますexampleregistry
。すべての IPv6 アドレスが許容範囲外であるため、このポリシーは IPv6 アドレスが にアクセスできないようにしますexampleregistry
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "ecr:*", "Resource": "arn:aws:ecr:::
exampleregistry
/*", "Condition": { "IpAddress": {"aws:SourceIp": "54.240.143.0/24"} } } ] }
IPv4 (54.240.143.0/24
) アドレス範囲と IPv6 (2001:DB8:1234:5678::/64
) アドレス範囲の両方を許可するには、次の例に示すようにレジストリポリシーの条件要素を変更します。このCondition
ブロック形式を使用して、IAM ユーザーポリシーとレジストリポリシーの両方を更新できます。
"Condition": { "IpAddress": { "aws:SourceIp": [ "54.240.143.0/24", "2001:DB8:1234:5678::/64" ] } }
重要
IPv6 を使用する前に、IP アドレスフィルタリングを使用する関連するすべての IAM ユーザーおよびレジストリポリシーを更新する必要があります。レジストリポリシーで IP アドレスフィルタリングを使用することはお勧めしません。
IAM ユーザーポリシーは、https://console.aws.amazon.com/iam/