

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EKS での Amazon ECR イメージの使用
<a name="ECR_on_EKS"></a>

Amazon EKS で Amazon ECR イメージを使用できます。

Amazon ECR からイメージを参照する場合は、イメージに `registry/repository:tag` の形式の完全な名前を使用する必要があります 例えば、`aws_account_id.dkr.ecr.region.amazonaws.com``/my-repository:latest`。

## 必要な IAM 許可
<a name="ECR_on_EKS_iampermissions"></a>

マネージドノード、セルフマネージドノード、または でホストされている Amazon EKS ワークロードがある場合は AWS Fargate、以下を確認してください。
+ 管理ノードまたは自己管理ノードでホストされる Amazon EKS ワークロードの場合: Amazon EKS ワーカーノード IAM ロール (`NodeInstanceRole`) が必要です。Amazon EKS ワーカーノード IAM ロールには、Amazon ECR の次の IAM ポリシー許可が含まれている必要があります。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ecr:BatchCheckLayerAvailability",
                  "ecr:BatchGetImage",
                  "ecr:GetDownloadUrlForLayer",
                  "ecr:GetAuthorizationToken"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
**注記**  
`eksctl` または[「Amazon EKS の開始方法」の](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) CloudFormation テンプレートを使用してクラスターとワーカーノードグループを作成した場合、これらの IAM アクセス許可はデフォルトでワーカーノードの IAM ロールに適用されます。
+ でホストされる Amazon EKS ワークロード AWS Fargate: Fargate ポッド実行ロールを使用します。これにより、プライベート Amazon ECR リポジトリからイメージをプルするアクセス許可がポッドに付与されます。詳細については、「[Fargate ポッド実行ロールの作成](https://docs.aws.amazon.com/eks/latest/userguide/fargate-getting-started.html#fargate-sg-pod-execution-role)」を参照してください。

# Amazon EKS クラスターに Helm チャートをインストールする
<a name="using-helm-charts-eks"></a>

Amazon ECR でホストされている Helm チャートを Amazon EKS クラスターにインストールできます。

**前提条件**
+ Helm クライアントの最新バージョンをインストールします。これらのステップは、Helm バージョン `3.9.0` を使用して作成されました。詳細については、「[Installing Helm](https://helm.sh/docs/intro/install/)」を参照してください。
+ 少なくとも、 AWS CLI のバージョン `1.23.9` または `2.6.3` がコンピュータにインストールされています。詳細については、「[Installing or updating the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。
+ Helm チャートを Amazon ECR リポジトリにプッシュします。詳細については、「[Amazon ECR プライベートリポジトリへの Helm チャートのプッシュ](push-oci-artifact.md)」を参照してください。
+ Amazon EKS で使用する `kubectl` を設定します。詳細については、**Amazon EKS ユーザーガイド**の「[Amazon EKS の `kubeconfig` を作成する](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html)」を参照してください。次のコマンドがクラスターに対して正常に実行された場合は、正しく設定されています。

  ```
  kubectl get svc
  ```

**Amazon EKS クラスターへの Helm チャートのインストール手順**

1. Helm チャートがホストされている Amazon ECR レジストリで Helm クライアントを認証します。認証トークンは、使用するレジストリごとに取得する必要があり、トークンは 12 時間有効です。詳細については、「[Amazon ECR でのプライベートレジストリ認証](registry_auth.md)」を参照してください。

   ```
   aws ecr get-login-password \
        --region us-west-2 | helm registry login \
        --username AWS \
        --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
   ```

1. グラフをインストールします。*helm-test-chart*をリポジトリに、*0.1.0*をHelm チャートのタグに置き換えます。

   ```
   helm install ecr-chart-demo oci://aws_account_id.dkr.ecr.region.amazonaws.com/helm-test-chart --version 0.1.0
   ```

   出力は次のようになります。

   ```
   NAME: ecr-chart-demo
   LAST DEPLOYED: Tue May 31 17:38:56 2022
   NAMESPACE: default
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   ```

1. チャートのインストールを検証します。

   ```
   helm list -n default
   ```

   出力例:

   ```
   NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
   ecr-chart-demo  default         1               2022-06-01 15:56:40.128669157 +0000 UTC deployed        helm-test-chart-0.1.0   1.16.0
   ```

1. (オプション) インストールされている Helm チャート `ConfigMap` を確認します。

   ```
   kubectl describe configmap helm-test-chart-configmap
   ```

1. 終了したら、クラスターからチャートのリリースを削除できます。

   ```
   helm uninstall ecr-chart-demo
   ```