

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

# Amazon EKS AWS Batch 에서 시작하기
<a name="getting-started-eks"></a>

AWS Batch Amazon EKS의는 배치 워크로드를 기존 Amazon EKS 클러스터로 예약 및 확장하는 관리형 서비스입니다. AWS Batch 는 사용자를 대신하여 Amazon EKS 클러스터의 수명 주기 작업을 생성, 관리 또는 수행하지 않습니다. AWS Batch 오케스트레이션은에서 관리하는 노드를 확장 및 축소 AWS Batch 하고 해당 노드에서 포드를 실행합니다.

AWS Batch 는 Amazon EKS 클러스터 내의 AWS Batch 컴퓨팅 환경과 연결되지 않은 노드, Auto Scaling 노드 그룹 또는 포드 수명 주기를 터치하지 않습니다. 가 효과적으로 작동 AWS Batch 하려면 [서비스 연결 역할에](using-service-linked-roles.md) 기존 Amazon EKS 클러스터의 Kubernetes 역할 기반 액세스 제어(RBAC) 권한이 필요합니다. 자세한 내용은 *Kubernetes 설명서*의 [RBAC 승인 사용](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)을 참조하세요.

AWS Batch 에는 포드의 범위를 AWS Batch 작업으로 지정할 수 있는 Kubernetes 네임스페이스가 필요합니다. 포 AWS Batch 드를 다른 클러스터 워크로드와 격리하려면 전용 네임스페이스를 사용하는 것이 좋습니다.

 AWS Batch 에 RBAC 액세스 권한이 부여되고 네임스페이스가 설정되면 [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) API 작업을 사용하여 해당 Amazon EKS 클러스터를 AWS Batch 컴퓨팅 환경에 연결할 수 있습니다. 작업 대기열은이 새로운 Amazon EKS 컴퓨팅 환경과 연결할 수 있습니다. AWS Batch 작업은 [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) API 작업을 사용하여 Amazon EKS 작업 정의를 기반으로 작업 대기열에 제출됩니다. AWS Batch 그런 다음 Kubernetes는 AWS Batch 관리형 노드를 시작하고 작업 대기열의 작업을 포드로 AWS Batch 컴퓨팅 환경과 연결된 EKS 클러스터에 배치합니다.

다음 섹션에서는 Amazon EKS AWS Batch 에서를 설정하는 방법을 다룹니다.

**Contents**
+ [개요](#getting-started-eks-context)
+ [사전 조건](#getting-started-eks-prerequisites)
+ [1단계: 용 Amazon EKS 클러스터 생성 AWS Batch](#getting-started-eks-step-0)
+ [2단계: Amazon EKS 클러스터 준비 AWS Batch](#getting-started-eks-step-1)
+ [3단계: Amazon EKS 컴퓨팅 환경 생성](#getting-started-eks-step-2)
+ [4단계: 작업 대기열 생성 및 컴퓨팅 환경 연결](#getting-started-eks-step-3)
+ [5단계: 작업 정의 생성](#getting-started-eks-step-4)
+ [6단계: 작업 제출](#getting-started-eks-step-5)
+ [7단계: 작업 출력 보기](#getting-started-eks-step-7)
+ [8단계: (선택 사항) 재정의를 통한 작업 제출](#getting-started-eks-step-6)
+ [9단계: 자습서 리소스 정리](#getting-started-eks-step-8)
+ [추가 리소스](#getting-started-eks-additional-resources)

## 개요
<a name="getting-started-eks-context"></a>

이 자습서에서는 AWS CLI`kubectl` 및를 사용하여 Amazon EKS AWS Batch 로를 설정하는 방법을 보여줍니다`eksctl`.

**대상**  
이 자습서는 AWS Batch의 설정, 테스트 및 배포를 담당하는 시스템 관리자 및 개발자를 위해 설계되었습니다.

**사용된 기능**  
이 자습서에서는를 사용하여 다음을 AWS CLI수행하는 방법을 보여줍니다.  
+ Amazon EKS 컴퓨팅 환경 생성 및 구성
+ 작업 대기열을 생성합니다.
+ 작업 정의 생성
+ 실행할 작업 생성 및 제출
+ 재정의를 통한 작업 제출

**필요한 시간**  
이 자습서를 완료하는 데 약 30\$140분이 소요됩니다.

**리전별 제한 사항**  
이 솔루션의 사용과 관련된 국가별 또는 리전별 제한은 없습니다.

**리소스 사용 비용**  
 AWS 계정 생성에는 요금이 부과되지 않습니다. 그러나 이 솔루션을 구현하면 아래 표에 나열된 비용이 일부 또는 전부 발생할 수 있습니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/batch/latest/userguide/getting-started-eks.html)

## 사전 조건
<a name="getting-started-eks-prerequisites"></a>

이 자습서를 시작하기 전에 및 AWS Batch Amazon EKS 리소스를 모두 생성하고 관리하는 데 필요한 다음 도구와 리소스를 설치하고 구성해야 합니다.
+ **AWS CLI** - Amazon EKS를 비롯한 AWS 서비스를 사용한 작업을 위한 명령줄 도구입니다. 이 가이드에서는 버전 2.8.6 이상 또는 1.26.0 이상을 사용해야 합니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [AWS CLI의 설치, 업데이트, 제거](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)를 참조하세요. 설치 후 도 구성하는 것이 AWS CLI좋습니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*에서 [`aws configure`를 사용한 빠른 구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)을 참조하세요.
+ **`kubectl`** - Kubernetes 클러스터 작업을 위한 명령줄 도구입니다. 이 가이드에서는 버전 `1.23` 이상을 사용해야 합니다. 자세한 내용은 *Amazon EKS 사용 설명서*의 [`kubectl` 설치 또는 업데이트](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)를 참조하세요.
+ **`eksctl`** - 많은 개별 태스크를 자동화하는 Amazon EKS 클러스터를 사용하기 위한 명령줄 도구입니다. 이 가이드에서는 버전 `0.115.0` 이상을 사용해야 합니다. 자세한 내용은 **Amazon EKS 사용 설명서**의 [`eksctl` 설치 또는 업데이트](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html)를 참조하세요.
+ **필수 IAM 권한** - 사용 중인 IAM 보안 주체는 Amazon EKS IAM 역할 및 서비스 연결 역할 CloudFormation, VPC 및 관련 리소스를 사용할 수 있는 권한이 있어야 합니다. 자세한 내용은 IAM 사용 설명서의 [Amazon Elastic Kubernetes Service에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html)와 [서비스 연결 역할 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)을 참조하세요.** 이 가이드의 모든 단계를 동일한 사용자로 완료해야 합니다.
+ **권한** - Amazon EKS 리소스를 사용하는 컴퓨팅 환경을 생성하기 위해 [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) API 작업을 호출하는 사용자는 `eks:DescribeCluster` API 작업에 대한 권한이 필요합니다.
+ **AWS 계정 number** - AWS 계정 ID를 알아야 합니다. [AWS 계정 ID 보기](https://docs.aws.amazon.com/IAM/latest/UserGuide/console-account-id.html)의 지침을 따릅니다.
+ **(선택 사항) CloudWatch** - [(선택 사항) 재정의로 작업 제출](#getting-started-eks-step-6)의 세부 정보를 검사하려면 로깅을 구성해야 합니다. 자세한 내용은 [CloudWatch Logs를 사용하여 Amazon EKS 작업 AWS Batch 에서 모니터링](batch-eks-cloudwatch-logs.md) 단원을 참조하십시오.

## 1단계: 용 Amazon EKS 클러스터 생성 AWS Batch
<a name="getting-started-eks-step-0"></a>

**중요**  
이 자습서에는 가능한 한 간단하고 빠르게 시작하기 위해 기본 설정을 사용하는 단계가 포함되어 있습니다. 프로덕션 용도로 생성하기 전에 모든 설정을 숙지하고 요구 사항을 충족하는 설정으로 배포하는 것이 좋습니다.

사전 조건을 설치한 후에는 `eksctl`을 사용하여 클러스터를 생성해야 합니다. 클러스터 생성에는 10\$115분이 소요될 수 있습니다.

```
$  eksctl create cluster --name my-cluster-name --region region-code
```

앞의 명령에서 다음 항목을 교체합니다.
+ *new-cluster-name*을 새 클러스터에 사용할 이름으로 바꿉니다.
+ *region-code*를 로 바꾸 AWS 리전 어 예를 들어에서 클러스터를 생성합니다`us-west-2`.

클러스터 이름과 리전은 이 자습서의 뒷부분에서 필요합니다.

## 2단계: Amazon EKS 클러스터 준비 AWS Batch
<a name="getting-started-eks-step-1"></a>

필요한 단계는 다음과 같습니다.

1. 

**AWS Batch 작업을 위한 전용 네임스페이스 생성**

   `kubectl`을 사용하여 새 네임스페이스를 생성합니다.

   ```
   $ namespace=my-aws-batch-namespace
   ```

   ```
   $ cat - <<EOF | kubectl create -f -
   {
     "apiVersion": "v1",
     "kind": "Namespace",
     "metadata": {
       "name": "${namespace}",
       "labels": {
         "name": "${namespace}"
       }
     }
   }
   EOF
   ```

   출력:

   ```
   namespace/my-aws-batch-namespace created
   ```

1. 

**역할 기반 액세스 제어(RBAC)를 통한 액세스 활성화**

   `kubectl`를 사용하여가 노드와 포드를 감시하고 Kubernetes 역할을 바인딩할 수 AWS Batch 있도록 클러스터에 대한 역할을 생성합니다. 이 작업은 각 EKS 클러스터마다 한 번씩 수행해야 합니다.

   ```
   $ cat - <<EOF | kubectl apply -f -
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRole
   metadata:
     name: aws-batch-cluster-role
   rules:
     - apiGroups: [""]
       resources: ["namespaces"]
       verbs: ["get"]
     - apiGroups: [""]
       resources: ["nodes"]
       verbs: ["get", "list", "watch"]
     - apiGroups: [""]
       resources: ["pods"]
       verbs: ["get", "list", "watch"]
     - apiGroups: [""]
       resources: ["events"]
       verbs: ["list"]
     - apiGroups: [""]
       resources: ["configmaps"]
       verbs: ["get", "list", "watch"]
     - apiGroups: ["apps"]
       resources: ["daemonsets", "deployments", "statefulsets", "replicasets"]
       verbs: ["get", "list", "watch"]
     - apiGroups: ["rbac.authorization.k8s.io"]
       resources: ["clusterroles", "clusterrolebindings"]
       verbs: ["get", "list"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: aws-batch-cluster-role-binding
   subjects:
   - kind: User
     name: aws-batch
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: aws-batch-cluster-role
     apiGroup: rbac.authorization.k8s.io
   EOF
   ```

   출력:

   ```
   clusterrole.rbac.authorization.k8s.io/aws-batch-cluster-role created
   clusterrolebinding.rbac.authorization.k8s.io/aws-batch-cluster-role-binding created
   ```

1. 에 대한 네임스페이스 범위 Kubernetes 역할을 생성 AWS Batch 하여 포드를 관리하고 수명 주기로 바인딩합니다. 이 작업은 각 고유 네임스페이스마다 한 번씩 수행해야 합니다.

   ```
   $ namespace=my-aws-batch-namespace
   ```

   ```
   $ cat - <<EOF | kubectl apply -f - --namespace "${namespace}"
   apiVersion: rbac.authorization.k8s.io/v1
   kind: Role
   metadata:
     name: aws-batch-compute-environment-role
     namespace: ${namespace}
   rules:
     - apiGroups: [""]
       resources: ["pods"]
       verbs: ["create", "get", "list", "watch", "delete", "patch"]
     - apiGroups: [""]
       resources: ["serviceaccounts"]
       verbs: ["get", "list"]
     - apiGroups: ["rbac.authorization.k8s.io"]
       resources: ["roles", "rolebindings"]
       verbs: ["get", "list"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: RoleBinding
   metadata:
     name: aws-batch-compute-environment-role-binding
     namespace: ${namespace}
   subjects:
   - kind: User
     name: aws-batch
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: Role
     name: aws-batch-compute-environment-role
     apiGroup: rbac.authorization.k8s.io
   EOF
   ```

   출력:

   ```
   role.rbac.authorization.k8s.io/aws-batch-compute-environment-role created
   rolebinding.rbac.authorization.k8s.io/aws-batch-compute-environment-role-binding created
   ```

1. Kubernetes `aws-auth` 구성 맵을 업데이트하여 이전 RBAC 권한을 AWS Batch 서비스 연결 역할에 매핑합니다.

   다음 명령에서 다음 항목을 교체합니다.
   + *<your-account-number>*를 AWS 계정 번호로 바꿉니다.

   ```
   $ eksctl create iamidentitymapping \
       --cluster my-cluster-name \
       --arn "arn:aws:iam::<your-account-number>:role/AWSServiceRoleForBatch" \
       --username aws-batch
   ```

   출력:

   ```
   2022-10-25 20:19:57 [ℹ]  adding identity "arn:aws:iam::<your-account-number>:role/AWSServiceRoleForBatch" to auth ConfigMap
   ```
**참고**  
서비스 연결 역할의 ARN에서 `aws-service-role/batch.amazonaws.com/` 경로가 제거되었습니다. 이는 구성 맵에 `aws-auth` 문제가 있기 때문입니다. 자세한 내용은 [경로가 aws-authconfigmap의 ARN에 포함될 때 경로가 있는 역할이 작동하지 않는 경우](https://github.com/kubernetes-sigs/aws-iam-authenticator/issues/268)를 참조하세요.

## 3단계: Amazon EKS 컴퓨팅 환경 생성
<a name="getting-started-eks-step-2"></a>

AWS Batch 컴퓨팅 환경은 배치 워크로드 요구 사항에 맞게 컴퓨팅 리소스 파라미터를 정의합니다. 관리형 컴퓨팅 환경에서 AWS Batch 를 사용하면 Amazon EKS 클러스터 내에서 컴퓨팅 리소스(Kubernetes 노드)의 용량 및 인스턴스 유형을 관리할 수 있습니다. 이는 컴퓨팅 환경을 생성할 때 사용자가 정의한 컴퓨팅 리소스 사양을 기반으로 합니다. 사용자는 EC2 온디맨드 인스턴스 또는 EC2 스팟 인스턴스를 선택할 수 있습니다.

이제 **AWSServiceRoleForBatch** 서비스 연결 역할이 Amazon EKS 클러스터에 액세스할 수 있으므로 AWS Batch 리소스를 생성할 수 있습니다. 먼저 Amazon EKS 클러스터를 가리키는 컴퓨팅 환경을 생성합니다.
+ `subnets`에는 `eksctl get cluster my-cluster-name`를 실행하여 클러스터에서 사용하는 서브넷을 가져옵니다.
+ `securityGroupIds` 파라미터에는 Amazon EKS 클러스터와 동일한 보안 그룹을 사용할 수 있습니다. 이 명령은 클러스터의 보안 그룹 ID를 검색합니다.

  ```
  $ aws eks describe-cluster \
      --name my-cluster-name \
      --query cluster.resourcesVpcConfig.clusterSecurityGroupId
  ```
+ `instanceRole`은 클러스터를 생성할 때 생성됩니다. `AmazonEKSWorkerNodePolicy`을 찾으려면 `instanceRole` 정책을 사용하는 모든 엔터티를 나열합니다.

  ```
  $  aws iam list-entities-for-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
  ```

  정책 역할의 이름에는 `eksctl-my-cluster-name-nodegroup-example`을 생성한 클러스터의 이름이 포함됩니다.

  `instanceRole` arn을 찾으려면 다음 명령을 실행합니다.

  ```
  $  aws iam list-instance-profiles-for-role --role-name eksctl-my-cluster-name-nodegroup-example        
  ```

  출력:

  ```
  INSTANCEPROFILES        arn:aws:iam::<your-account-number>:instance-profile/eks-04cb2200-94b9-c297-8dbe-87f12example
  ```

  자세한 내용은 *Amazon EKS 사용 설명서*의 [Amazon EKS 노드 IAM 역할 생성](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html#create-worker-node-role) 및 [클러스터에 대한 IAM 엔터티 액세스 활성화](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)를 참조하세요. 포드 네트워킹을 사용하는 경우 **Amazon EKS 사용 설명서**의 [서비스 계정에 IAM 역할을 사용하도록 Kubernetes에 Amazon VPC CNI 플러그인 구성](https://docs.aws.amazon.com/eks/latest/userguide/cni-iam-role.html)을 참조하세요.

```
$ cat <<EOF > ./batch-eks-compute-environment.json
{
  "computeEnvironmentName": "My-Eks-CE1",
  "type": "MANAGED",
  "state": "ENABLED",
  "eksConfiguration": {
    "eksClusterArn": "arn:aws:eks:region-code:your-account-number:cluster/my-cluster-name",
    "kubernetesNamespace": "my-aws-batch-namespace"
  },
  "computeResources": {
    "type": "EC2",
    "allocationStrategy": "BEST_FIT_PROGRESSIVE",
    "minvCpus": 0,
    "maxvCpus": 128,
    "instanceTypes": [
        "m5"
    ],
    "subnets": [
        "<eks-cluster-subnets-with-access-to-internet-for-image-pull>"
    ],
    "securityGroupIds": [
        "<eks-cluster-sg>"
    ],
    "instanceRole": "<eks-instance-profile>"
  }
}
EOF
```

```
$ aws batch create-compute-environment --cli-input-json file://./batch-eks-compute-environment.json
```

**참고**
+ Amazon EKS 컴퓨팅 환경의 유지 관리는 공동 책임입니다. 자세한 내용은 [Kubernetes 노드에 대한 공동 책임](eks-ce-shared-responsibility.md) 단원을 참조하십시오.

## 4단계: 작업 대기열 생성 및 컴퓨팅 환경 연결
<a name="getting-started-eks-step-3"></a>

**중요**  
진행하기 전에 컴퓨팅 환경이 정상인지 확인하는 것이 중요합니다. [DescribeComputeEnvironments](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeComputeEnvironments.html) API 작업을 사용하여 이 작업을 수행할 수 있습니다.  

```
$ aws batch describe-compute-environments --compute-environments My-Eks-CE1
```
`status` 파라미터가 `INVALID`로 되어 있지 않은지 확인합니다. 그럴 경우 `statusReason` 파라미터에서 원인을 확인합니다. 자세한 내용은 [문제 해결 AWS Batch](troubleshooting.md) 단원을 참조하십시오.

이 새 작업 대기열에 제출된 작업은 컴퓨팅 환경과 연결된 Amazon EKS 클러스터에 조인된 AWS Batch 관리형 노드에서 포드로 실행됩니다.

```
$ cat <<EOF > ./batch-eks-job-queue.json
 {
    "jobQueueName": "My-Eks-JQ1",
    "priority": 10,
    "computeEnvironmentOrder": [
      {
        "order": 1,
        "computeEnvironment": "My-Eks-CE1"
      }
    ]
  }
EOF
```

```
$ aws batch create-job-queue --cli-input-json file://./batch-eks-job-queue.json
```

## 5단계: 작업 정의 생성
<a name="getting-started-eks-step-4"></a>

다음 작업 정의는 포드가 60초 동안 절전 모드로 전환하도록 지시합니다.

```
$ cat <<EOF > ./batch-eks-job-definition.json
{
  "jobDefinitionName": "MyJobOnEks_Sleep",
  "type": "container",
  "eksProperties": {
    "podProperties": {
      "hostNetwork": true,
      "containers": [
        {
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
          "command": [
            "sleep",
            "60"
          ],
          "resources": {
            "limits": {
              "cpu": "1",
              "memory": "1024Mi"
            }
          }
        }
      ],
      "metadata": {
        "labels": {
          "environment": "test"
        }
      }
    }
  }
}
EOF
```

```
$ aws batch register-job-definition --cli-input-json file://./batch-eks-job-definition.json
```

**참고**
+ `cpu`및 `memory` 파라미터에 대한 고려 사항이 있습니다. 자세한 내용은 [Amazon EKS의 AWS Batch에 대한 메모리 및 vCPU 고려 사항](memory-cpu-batch-eks.md) 단원을 참조하십시오.

## 6단계: 작업 제출
<a name="getting-started-eks-step-5"></a>

다음 AWS CLI 명령을 실행하여 새 작업을 제출합니다.

```
$ aws batch submit-job --job-queue My-Eks-JQ1 \
    --job-definition MyJobOnEks_Sleep --job-name My-Eks-Job1
```

작업의 상태를 확인하려면:

```
$ aws batch describe-jobs --job <jobId-from-submit-response>
```

**참고**
+ Amazon EKS 리소스에서 작업을 실행하는 방법에 대한 자세한 내용은 [Amazon EKS 작업](eks-jobs.md) 섹션을 참조하세요.

## 7단계: 작업 출력 보기
<a name="getting-started-eks-step-7"></a>

작업의 출력을 보려면 다음을 수행합니다.

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) AWS Batch 콘솔을 엽니다.

1. 탐색 창에서 **작업**을 선택합니다.

1. **작업 대기열** 드롭다운에서 자습서를 위해 생성한 작업 대기열을 선택합니다.

1. **작업** 테이블에는 모든 작업과 현재 상태가 나열됩니다. 작업 **상태**가 **성공**이 되면 작업의 **이름**에 *My-Eks-JQ1*을 선택하여 작업의 세부 정보를 봅니다.

1. **세부 정보** 창에서 **시작 시간**과 **중지 시간**의 간격은 1분이어야 합니다.

## 8단계: (선택 사항) 재정의를 통한 작업 제출
<a name="getting-started-eks-step-6"></a>

이 작업은 container. AWS Batch aggressively에 전달된 명령을 재정의합니다. 작업이 완료된 후 포드를 정리하여에 대한 부하를 줄입니다Kubernetes. 작업의 세부 정보를 검사하려면 로깅을 구성해야 합니다. 자세한 내용은 [CloudWatch Logs를 사용하여 Amazon EKS 작업 AWS Batch 에서 모니터링](batch-eks-cloudwatch-logs.md) 단원을 참조하십시오.

```
$ cat <<EOF > ./submit-job-override.json
{
  "jobName": "EksWithOverrides",
  "jobQueue": "My-Eks-JQ1",
  "jobDefinition": "MyJobOnEks_Sleep",
  "eksPropertiesOverride": {
    "podProperties": {
      "containers": [
        {
          "command": [
            "/bin/sh"
          ],
          "args": [
            "-c",
            "echo hello world"
          ]
        }
      ]
    }
  }
}
EOF
```

```
$ aws batch submit-job --cli-input-json file://./submit-job-override.json
```

**참고**
+ 작업 세부 정보에 대한 가시성을 높이려면 Amazon EKS 컨트롤 플레인 로깅을 활성화합니다. 자세한 내용을 알아보려면 *Amazon EKS 사용 설명서*의 [Amazon EKS 클러스터 컨트롤 플레인 로깅](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html)을 참조하세요.
+ Daemonsets 및 kubelets 오버헤드는 사용 가능한 vCPU 및 메모리 리소스, 특히 규모 조정 및 작업 배치에 영향을 줍니다. 자세한 내용은 [Amazon EKS의 AWS Batch에 대한 메모리 및 vCPU 고려 사항](memory-cpu-batch-eks.md) 단원을 참조하십시오.

작업의 출력을 보려면 다음을 수행합니다.

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) AWS Batch 콘솔을 엽니다.

1. 탐색 창에서 **작업**을 선택합니다.

1. **작업 대기열** 드롭다운에서 자습서를 위해 생성한 작업 대기열을 선택합니다.

1. **작업** 테이블에는 모든 작업과 현재 상태가 나열됩니다. 작업의 **상태**가 **성공**이 되면 작업 **이름**을 선택하여 작업의 세부 정보를 봅니다.

1. **세부 정보** 창에서 **로그 스트림 이름**을 선택합니다. 작업에 대한 CloudWatch 콘솔이 열리고 `hello world` **메시지** 또는 사용자 지정 메시지가 포함된 이벤트가 하나 있을 것입니다.

## 9단계: 자습서 리소스 정리
<a name="getting-started-eks-step-8"></a>

Amazon EC2 인스턴스가 활성화된 동안 요금이 부과됩니다. 요금이 발생하지 않도록 해당 인스턴스를 종료할 수 있습니다.

생성한 리소스를 삭제하려면 다음과 같이 합니다.

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) AWS Batch 콘솔을 엽니다.

1. 탐색 창에서 **작업 대기열**을 선택합니다.

1. **작업 대기열** 테이블에서 자습서를 위해 생성한 작업 대기열을 선택합니다.

1. **비활성화**를 선택합니다. 작업 대기열 **상태**가 비활성화가 되면 **삭제**를 선택할 수 있습니다.

1. 작업 대기열이 삭제되면 탐색 창에서 **컴퓨팅 환경**을 선택합니다.

1. 이 자습서용으로 생성한 컴퓨팅 환경을 선택한 후 **비활성화**를 선택합니다. 컴퓨팅 환경 비활성화가 완료되는 데는 1\$12분 정도 걸릴 수 있습니다.

1. 컴퓨팅 환경의 **상태**가 비활성화가 되면 **삭제**를 선택합니다. 컴퓨팅 환경이 삭제되는 데는 1\$12분 정도 걸릴 수 있습니다.

## 추가 리소스
<a name="getting-started-eks-additional-resources"></a>

자습서를 완료한 후 다음과 같은 주제를 살펴보세요.
+ [모범 사례](best-practices.md#best-practices.title)에 대해 자세히 알아봅니다.
+  AWS Batch 핵심 구성 요소를 살펴봅니다. 자세한 내용은 [AWS Batch의 구성 요소](batch_components.md) 단원을 참조하십시오.
+  AWS Batch에서 사용할 수 있는 다양한 [컴퓨팅 환경](compute_environments.md#compute_environments.title)에 대해 자세히 알아봅니다.
+ [작업 대기열](job_queues.md#job_queues.title) 및 다양한 예약 옵션에 대해 자세히 알아봅니다.
+ [작업 정의](job_definitions.md#job_definitions.title) 및 다양한 구성 옵션에 대해 자세히 알아봅니다.
+ 다른 [작업](jobs.md#jobs.title) 유형에 대해 자세하 알아봅니다.