

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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": "*"
          }
      ]
  }
  ```

------
**참고**  
[Amazon EKS 시작하기](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html)에서 `eksctl` 또는 CloudFormation 템플릿을 사용하여 클러스터 및 작업자 노드 그룹을 생성한 경우 이러한 IAM 권한은 기본적으로 작업자 노드 IAM 역할에 적용됩니다.
+ 호스팅되는 Amazon EKS 워크로드 AWS Fargate: 포드에 프라이빗 Amazon ECR 리포지토리에서 이미지를 가져올 수 있는 권한을 제공하는 Fargate 포드 실행 역할을 사용합니다. 자세한 내용은 [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`. 자세한 정보는 [Helm 설치](https://helm.sh/docs/intro/install/)를 참조하세요.
+ 최소한 AWS CLI 의 `1.23.9` 또는`2.6.3` 버전이 컴퓨터에 설치되어 있어야 합니다. 자세한 내용은 [최신 버전의 AWS CLI설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.
+ Amazon ECR 리포지토리에 Helm 차트를 푸시했습니다. 자세한 내용은 [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
   ```