사용자 지정 AMI 사용 - Amazon EMR

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

사용자 지정 AMI 사용

Amazon EMR 5.7.0 이상을 사용하는 경우 Amazon EMR에 대한 기본 Amazon Linux AMI 대신 사용자 지정 Amazon Linux AMI를 지정하도록 선택할 수 있습니다. 다음을 수행할 경우 사용자 지정 AMI가 유용합니다.

  • 부트스트랩 작업을 사용하는 대신 애플리케이션을 사전 설치하고 다른 사용자 지정을 수행합니다. 이렇게 하면 클러스터 시작 시간이 향상되고 스타트업 워크플로우가 간소화됩니다. 자세한 내용과 예제는 사전 구성된 인스턴스에서 사용자 지정 Amazon Linux AMI 생성 단원을 참조하세요.

  • 부트스트랩 작업에서 허용되는 것보다 더 정교한 클러스터 및 노드 구성을 구현합니다.

  • 5.24.0보다 앞서 나온 Amazon EMR 버전을 사용 중인 경우 클러스터 내 EC2 인스턴스의 EBS 루트 디바이스 볼륨(부트 볼륨)을 암호화합니다. 기본 AMI와 마찬가지로 사용자 지정 AMI의 최소 루트 볼륨 크기는 Amazon EMR 릴리스 6.9 이하의 경우에는 10GiB이고, Amazon EMR 릴리스 6.10 이상의 경우에는 15GiB입니다. 자세한 정보는 암호화된 Amazon EBS 루트 디바이스 볼륨이 있는 사용자 지정 AMI 생성을 참조하세요.

    참고

    Amazon EMR 버전 5.24.0부터 키 제공자로 지정할 때 보안 구성 옵션을 사용하여 EBS 루트 디바이스 및 스토리지 볼륨을 암호화할 수 있습니다. AWS KMS 자세한 정보는 로컬 디스크 암호화을 참조하세요.

사용자 지정 AMI는 클러스터를 생성한 AWS 지역과 동일한 지역에 있어야 합니다. 또한 EC2 인스턴스 아키텍처와도 일치해야 합니다. 예를 들어 m5.xlarge 인스턴스에는 x86_64 아키텍처가 있습니다. 따라서 사용자 지정 AMI를 사용하여 m5.xlarge를 프로비저닝하려면 사용자 지정 AMI에도 x86_64 아키텍처가 있어야 합니다. 마찬가지로 arm64 아키텍처를 사용하는 m6g.xlarge 인스턴스를 프로비저닝하려면 사용자 지정 AMI에 arm64 아키텍처가 있어야 합니다. 인스턴스 유형에 맞는 Linux AMI를 식별하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서에서 Linux AMI 찾기를 참조하십시오.

중요

Amazon Linux 또는 Amazon Linux 2 Amazon Machine Image(AMI)를 실행하는 EMR 클러스터는 기본 Amazon Linux 동작을 사용하며, 재부팅이 필요한 중요한 핵심 커널 업데이트를 자동으로 다운로드하여 설치하지는 않습니다. 이는 기본 Amazon Linux AMI를 실행하는 다른 Amazon EC2 인스턴스와 동일한 동작입니다. Amazon EMR 릴리스가 출시된 후 재부팅이 필요한 새로운 Amazon Linux 소프트웨어 업데이트(예: 커널, NVIDIA, CUDA 업데이트)를 사용할 수 있게 되면 기본 AMI를 실행하는 EMR 클러스터 인스턴스는 해당 업데이트를 자동으로 다운로드하여 설치하지 않습니다. 커널 업데이트를 받으려면 최신 Amazon Linux AMI를 사용하도록 Amazon EMR AMI를 사용자 지정할 수 있습니다.

사전 구성된 인스턴스에서 사용자 지정 Amazon Linux AMI 생성

소프트웨어를 사전 설치하고 다른 구성을 수행하여 Amazon EMR용 사용자 지정 Amazon Linux AMI를 생성하는 기본 단계는 다음과 같습니다.

  • 기본 Amazon Linux AMI에서 인스턴스를 시작합니다.

  • 인스턴스에 연결하여 소프트웨어를 설치하고 다른 사용자 지정을 수행합니다.

  • 구성한 인스턴스의 새 이미지(AMI 스냅샷)를 생성합니다.

사용자 지정된 인스턴스를 기반으로 이미지를 생성한 후 암호화된 Amazon EBS 루트 디바이스 볼륨이 있는 사용자 지정 AMI 생성 단원에 설명된 대로 해당 이미지를 암호화된 대상에 복사할 수 있습니다.

자습서: 사용자 지정 소프트웨어가 설치된 인스턴스에서 AMI 생성

최신 Amazon Linux AMI를 기반으로 EC2 인스턴스를 시작하려면
  1. AWS CLI 를 사용하여 기존 AMI에서 인스턴스를 생성하는 다음 명령을 실행합니다. 인스턴스에 연결하는 데 사용하는 키 MyKeyName 페어와 적절한 Amazon Linux AMI의 MyAmiIdID로 대체하십시오. 최신 AMI ID는 Amazon Linux AMI를 참조하십시오.

    참고

    가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

    aws ec2 run-instances --image-id MyAmiID \ --count 1 --instance-type m5.xlarge \ --key-name MyKeyName --region us-west-2

    InstanceId 출력 값은 다음 단계에서 MyInstanceId로 사용됩니다.

  2. 다음 명령을 실행합니다:

    aws ec2 describe-instances --instance-ids MyInstanceId

    PublicDnsName 출력 값은 다음 단계에서 인스턴스에 연결하는 데 사용됩니다.

인스턴스에 연결하고 소프트웨어를 설치하려면
  1. Linux 인스턴스에 대해 셸 명령을 실행할 수 있는 SSH 연결을 사용합니다. 자세한 내용은 Amazon EC2 사용 설명서의 SSH를 사용하여 Linux 인스턴스에 연결을 참조하십시오.

  2. 필요한 사용자 지정을 수행합니다. 예:

    sudo yum install MySoftwarePackage sudo pip install MySoftwarePackage
사용자 지정된 이미지에서 스냅샷을 생성하려면

Amazon EMR 클러스터에서 사용자 지정 AMI를 사용하는 방법

사용자 지정 AMI를 사용하여 다음 두 가지 방법으로 Amazon EMR 클러스터를 프로비저닝할 수 있습니다.

  • 클러스터의 모든 EC2 인스턴스에 단일 사용자 지정 AMI를 사용합니다.

  • 클러스터에서 사용되는 여러 EC2 인스턴스 유형별로 다른 사용자 지정 AMI를 사용합니다.

EMR 클러스터를 프로비저닝할 때는 두 옵션 중 하나만 사용할 수 있으며 클러스터가 시작된 후에는 변경할 수 없습니다.

Amazon EMR 클러스터에서 단일 또는 다중 사용자 지정 AMI를 사용할 때 고려 사항
고려 사항 단일 사용자 지정 AMI 다중 사용자 지정 AMI

동일한 클러스터에서 사용자 지정 AMI와 함께 x86 및 Graviton2 프로세서 모두 사용

지원되지 않음

지원됨

AMI 사용자 지정은 인스턴스 유형에 따라 다릅니다.

지원되지 않음

지원됨

실행 중인 클러스터에 새 태스크 인스턴스 그룹 및 플릿을 추가할 때 사용자 지정 AMI를 변경합니다. 참고: 기존 인스턴스 그룹 및 플릿의 사용자 지정 AMI는 변경할 수 없습니다.

지원되지 않음

지원됨

AWS 콘솔을 사용하여 클러스터를 시작하십시오.

지원됨

지원되지 않음

클러스터를 시작하는 AWS CloudFormation 데 사용

지원됨

지원됨

EMR 클러스터에서 단일 사용자 지정 AMI 사용

클러스터를 생성할 때 사용자 지정 AMI ID를 지정하려면 다음 중 하나를 사용합니다.

Amazon EMR console
콘솔에서 단일 사용자 지정 AMI를 지정하는 방법
  1. 에 로그인하고 AWS Management Console https://console.aws.amazon.com/emr 에서 Amazon EMR 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 EMR on EC2에서 클러스터를 선택하고 클러스터 생성을 선택합니다.

  3. 이름 및 애플리케이션에서 운영 체제 옵션을 찾습니다. 사용자 지정 AMI를 선택하고 사용자 지정 AMI 필드에 AMI ID를 입력합니다.

  4. 클러스터에 적용할 다른 옵션을 선택합니다.

  5. 클러스터를 시작하려면 클러스터 생성을 선택합니다.

AWS CLI
를 사용하여 단일 사용자 지정 AMI를 지정하려면 AWS CLI
  • --custom-ami-id 명령을 실행할 때 aws emr create-cluster 파라미터를 사용하여 AMI ID를 지정합니다.

    다음은 부트 볼륨이 20GiB인 단일 사용자 지정 AMI를 사용하는 클러스터를 지정하는 예제입니다. 자세한 정보는 Amazon EBS 루트 디바이스 볼륨 사용자 지정을 참조하세요.

    참고

    가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

    aws emr create-cluster --name "Cluster with My Custom AMI" \ --custom-ami-id MyAmiID --ebs-root-volume-size 20 \ --release-label emr-5.7.0 --use-default-roles \ --instance-count 2 --instance-type m5.xlarge

Amazon EMR 클러스터에서 여러 사용자 지정 AMI 사용

다중 사용자 지정 AMI를 사용하여 클러스터를 생성하려면 다음 중 하나를 사용합니다.

AWS 관리 콘솔은 현재 여러 사용자 지정 AMI를 사용한 클러스터 생성을 지원하지 않습니다.

예 - AWS CLI를 사용하여 여러 사용자 지정 AMI를 사용하여 인스턴스 그룹 클러스터를 생성합니다.

AWS CLI 버전 1.20.21 이상을 사용하면 전체 클러스터에 단일 사용자 지정 AMI를 할당하거나 클러스터의 모든 인스턴스 노드에 여러 사용자 지정 AMI를 할당할 수 있습니다.

다음 예제는 여러 노드 유형(프라이머리, 코어, 태스크)에서 사용되는 두 개의 인스턴스 유형(m5.xlarge)으로 생성된 균일한 인스턴스 그룹 클러스터를 보여줍니다. 각 노드에는 여러 개의 사용자 지정 AMI가 있습니다. 이 예제는 다중 사용자 지정 AMI 구성의 여러 기능을 보여줍니다.

  • 클러스터 수준에서 할당된 사용자 지정 AMI는 없습니다. 다중 사용자 지정 AMI와 단일 사용자 지정 AMI 간 충돌로 인해 클러스터 시작이 실패하는 것을 방지하기 위해서입니다.

  • 클러스터에는 프라이머리, 코어 및 개별 태스크 노드에 걸쳐 여러 사용자 지정 AMI가 있을 수 있습니다. 이를 통해 사전 설치된 애플리케이션, 정교한 클러스터 구성, 암호화된 Amazon EBS 루트 디바이스 볼륨 등 개별 AMI 사용자 지정이 허용됩니다.

  • 인스턴스 그룹 코어 노드는 하나의 인스턴스 유형과 대응하는 사용자 지정 AMI만 가질 수 있습니다. 마찬가지로 프라이머리 노드는 하나의 인스턴스 유형과 대응하는 사용자 지정 AMI만 가질 수 있습니다.

  • 클러스터에는 여러 태스크 노드가 있을 수 있습니다.

aws emr create-cluster --instance-groups InstanceGroupType=PRIMARY,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=CORE,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-234567 InstanceGroupType=TASK,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-345678 InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-456789
예 - AWS CLI 버전 1.20.21 이상을 사용하여 여러 인스턴스 유형과 여러 사용자 지정 AMI가 있는 실행 중인 인스턴스 그룹 클러스터에 작업 노드를 추가합니다.

AWS CLI 버전 1.20.21 이상을 사용하면 실행 중인 클러스터에 추가하는 인스턴스 그룹에 여러 사용자 지정 AMI를 추가할 수 있습니다. 다음 예제와 같이 add-instance-groups 명령과 함께 CustomAmiId 인수를 사용할 수 있습니다. 동일한 다중 사용자 지정 AMI ID(ami-123456)가 둘 이상의 노드에서 사용됩니다.

aws emr create-cluster --instance-groups InstanceGroupType=PRIMARY,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=CORE,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-234567 { "ClusterId": "j-123456", ... } aws emr add-instance-groups --cluster-id j-123456 --instance-groups InstanceGroupType=Task,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-345678
예 - AWS CLI 버전 1.20.21 이상을 사용하여 인스턴스 플릿 클러스터, 다중 사용자 지정 AMI, 다중 인스턴스 유형, 온디맨드 기본, 온디맨드 코어, 다중 코어 및 태스크 노드를 생성합니다.
aws emr create-cluster --instance-fleets InstanceFleetType=PRIMARY,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge, CustomAmiId=ami-123456}'] InstanceFleetType=CORE,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}'] InstanceFleetType=TASK,TargetSpotCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-456789},{InstanceType=m6g.xlarge, CustomAmiId=ami-567890}']
예 - AWS CLI 버전 1.20.21 이상을 사용하여 여러 인스턴스 유형과 여러 사용자 지정 AMI가 있는 실행 중인 클러스터에 작업 노드를 추가합니다.
aws emr create-cluster --instance-fleets InstanceFleetType=PRIMARY,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge, CustomAmiId=ami-123456}'] InstanceFleetType=CORE,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}'] { "ClusterId": "j-123456", ... } aws emr add-instance-fleet --cluster-id j-123456 --instance-fleet InstanceFleetType=TASK,TargetSpotCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}']

AMI 패키지 리포지토리 업데이트 관리

처음으로 부팅하면 기본적으로 Amazon Linux AMI가 패키지 리포지토리에 연결되어 다른 서비스가 시작되기 이전에 보안 업데이트를 설치합니다. 필요에 따라 Amazon EMR용 사용자 지정 AMI를 지정할 때 이러한 업데이트를 비활성화하도록 선택할 수 있습니다. 이 기능을 비활성화하는 옵션은 사용자 지정 AMI를 사용하는 경우에만 사용할 수 있습니다. 기본적으로 Amazon Linux 커널 업데이트 및 재부팅이 필요한 기타 소프트웨어 패키지는 업데이트되지 않습니다. 네트워킹 구성은 Amazon S3에서 Amazon Linux 리포지토리로의 HTTP 및 HTTPS 송신을 허용해야 합니다. 그렇지 않으면 보안 업데이트에 실패합니다.

주의

사용자 지정 AMI를 지정할 때 재부팅 시 모든 설치된 패키지를 업데이트하도록 선택하는 것이 좋습니다. 패키지를 업데이트하지 않도록 선택하면 보안 위험이 높아집니다.

를 AWS Management Console사용하면 사용자 지정 AMI를 선택할 때 업데이트를 비활성화하는 옵션을 선택할 수 있습니다.

를 AWS CLI사용하면 create-cluster 명령 사용 시기와 --repo-upgrade-on-boot NONE --custom-ami-id 함께 지정할 수 있습니다.

Amazon EMR API를 사용하면 파라미터를 NONE 지정할 수 있습니다. RepoUpgradeOnBoot

암호화된 Amazon EBS 루트 디바이스 볼륨이 있는 사용자 지정 AMI 생성

Amazon EMR용 Amazon Linux AMI의 Amazon EBS 루트 디바이스 볼륨을 암호화하려면 암호화되지 않은 AMI의 스냅샷 이미지를 암호화된 대상에 복사합니다. 암호화된 EBS 볼륨을 생성하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Amazon EBS 암호화를 참조하십시오. 스냅샷의 소스 AMI를 기본 Amazon Linux AMI로 사용하거나, 사용자 지정한 기본 Amazon Linux AMI에서 파생된 AMI에서 스냅샷을 복사할 수 있습니다.

참고

Amazon EMR 버전 5.24.0부터 키 제공자로 지정할 때 보안 구성 옵션을 사용하여 EBS 루트 디바이스 및 스토리지 볼륨을 암호화할 수 있습니다. AWS KMS 자세한 정보는 로컬 디스크 암호화을 참조하세요.

외부 키 제공자 또는 AWS KMS 키를 사용하여 EBS 루트 볼륨을 암호화할 수 있습니다. Amazon EMR에서 AMI를 사용하여 클러스터를 생성하려면 최소한 Amazon EMR에서 사용되는 서비스 역할(일반적으로 기본 EMR_DefaultRole)에 볼륨 암호화 및 해독 권한이 부여되어야 합니다. 즉, 키 AWS KMS 제공자로 사용할 경우 다음 작업이 허용되어야 합니다.

  • kms:encrypt

  • kms:decrypt

  • kms:ReEncrypt*

  • kms:CreateGrant

  • kms:GenerateDataKeyWithoutPlaintext"

  • kms:DescribeKey"

가장 간단한 방법은 다음 자습서에 설명된 대로 역할을 키 사용자로 추가하는 것입니다. 다음 정책 설명 예제는 역할 정책을 사용자 지정해야 하는 경우 제공됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EmrDiskEncryptionPolicy", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": [ "*" ] } ] }

자습서: KMS 키를 사용하여 암호화된 루트 디바이스 볼륨이 있는 사용자 지정 AMI 생성

이 예제의 첫 번째 단계에서는 KMS 키의 ARN을 찾거나 새 ARN을 생성합니다. 키 생성에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서에서 Creating keys를 참조하세요. 다음 절차에서는 기본 서비스 역할인 EMR_DefaultRole을 키 정책에 키 사용자로 추가하는 방법을 보여줍니다. 생성하거나 편집한 키의 ARN 값을 메모해 두십시오. AMI를 생성할 때 상위 ARN을 사용합니다.

콘솔을 사용하여 Amazon EC2의 서비스 역할을 암호화 키 사용자 목록에 추가하는 방법
  1. https://console.aws.amazon.com/kms 에서 AWS Management Console 로그인하고 AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

  2. 를 변경하려면 AWS 리전페이지 오른쪽 상단에 있는 지역 선택기를 사용하십시오.

  3. 사용할 KMS 키의 별칭을 선택합니다.

  4. 키 세부 정보 페이지의 Key Users(키 사용자)에서 Add(추가)를 선택합니다.

  5. 연결 대화 상자에서 Amazon EMR 서비스 역할을 선택합니다. 기본 역할의 이름은 EMR_DefaultRole입니다.

  6. 연결을 선택합니다.

를 사용하여 암호화된 AMI를 만들려면 AWS CLI
  • aws ec2 copy-image 명령을 사용하여 암호화된 EBS 루트 디바이스 볼륨과 수정한 키로 AMI를 생성합니다. AWS CLI 지정된 --kms-key-id 값을 더 낮게 생성하거나 수정한 키의 전체 ARN으로 바꿉니다.

    참고

    가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

    aws ec2 copy-image --source-image-id MyAmiId \ --source-region us-west-2 --name MyEncryptedEMRAmi \ --encrypted --kms-key-id arn:aws:kms:us-west-2:12345678910:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

명령의 출력에는 생성된 AMI의 ID가 제공됩니다. 이 값은 클러스터를 생성할 때 지정할 수 있습니다. 자세한 정보는 EMR 클러스터에서 단일 사용자 지정 AMI 사용을 참조하세요. 소프트웨어를 설치하고 다른 구성을 수행하여 이 AMI를 사용자 지정하도록 선택할 수도 있습니다. 자세한 정보는 사전 구성된 인스턴스에서 사용자 지정 Amazon Linux AMI 생성을 참조하세요.

모범 사례 및 고려 사항

Amazon EMR용 사용자 지정 AMI를 생성할 경우 다음 사항을 고려합니다.

  • 아마존 EMR 7.x 시리즈는 아마존 리눅스 2023을 기반으로 합니다. 이러한 Amazon EMR 버전의 경우 사용자 지정 AMI를 위해 Amazon Linux 2023에 기반한 이미지를 사용해야 합니다. 기본 사용자 지정 AMI를 찾으려면 Linux AMI 찾기를 참조하십시오.

  • 7.x 미만의 아마존 EMR 버전의 경우, 아마존 리눅스 2023 AMI는 지원되지 않습니다.

  • Amazon EMR 5.30.0 이상 및 Amazon EMR 6.x 시리즈는 Amazon Linux 2를 기반으로 합니다. 이러한 Amazon EMR 버전의 경우 사용자 지정 AMI에 Amazon Linux 2를 기반으로 하는 이미지를 사용해야 합니다. 기본 사용자 지정 AMI를 찾으려면 Linux AMI 찾기를 참조하십시오.

  • 5.30.0 및 6.x 이전 Amazon EMR 버전에서는 Amazon Linux 2 AMI가 지원되지 않습니다.

  • 64비트 Amazon Linux AMI를 사용해야 합니다. 32비트 AMI는 지원되지 않습니다.

  • 다중 Amazon EBS 볼륨을 포함하는 Amazon Linux AMI는 지원되지 않습니다.

  • 최신 EBS 지원 Amazon Linux AMI를 기반으로 사용자 지정합니다. Amazon Linux AMI 및 해당 AMI ID 목록은 Amazon Linux AMI 단원을 참조하십시오.

  • 기존 Amazon EMR 인스턴스의 스냅샷을 복사하여 사용자 지정 AMI를 생성하지 않습니다. 그러면 오류가 발생합니다.

  • Amazon EMR과 호환되는 HVM 가상화 유형 및 인스턴스만 지원됩니다. Amazon EMR과 호환되는 HVM 이미지 및 인스턴스 유형을 선택하여 AMI 사용자 지정 프로세스를 완료해야 합니다. 호환되는 인스턴스 및 가상화 유형은 지원되는 인스턴스 유형 단원을 참조하십시오.

  • 이 서비스 역할은 AMI에 대한 시작 권한이 있어야 하므로, AMI가 퍼블릭 AMI이거나, 사용자가 AMI의 소유자이거나, AMI 소유자가 사용자와 AMI를 공유해야 합니다.

  • 애플리케이션과 동일한 이름을 가진 AMI 사용자를 생성하면 오류가 발생합니다(예: hadoop, hdfs, yarn 또는 spark).

  • /tmp, /var/emr의 콘텐츠(AMI에 있는 경우)는 시작 중에 각 /mnt/tmp, /mnt/var/mnt/emr로 이동합니다. 파일은 보존되지만 데이터의 양이 많을 경우 시작하는 데 예상보다 오래 걸릴 수 있습니다.

  • 생성 날짜가 2018-08-11인 Amazon Linux AMI를 기반으로 사용자 지정 Amazon Linux AMI를 사용하면 Oozie 서버가 시작에 실패합니다. Oozie를 사용하는 경우 생성 날짜가 다른 Amazon Linux AMI ID를 기반으로 사용자 지정 AMI를 생성하십시오. 다음 AWS CLI 명령을 사용하여 2018.03 버전의 모든 HVM Amazon Linux AMI에 대한 이미지 ID 목록을 출시 날짜와 함께 반환하여 적절한 Amazon Linux AMI를 기본으로 선택할 수 있습니다. 해당 지역 식별자 (예: us-west-2) MyRegion 로 바꾸십시오.

    aws ec2 --region MyRegion describe-images --owner amazon --query 'Images[?Name!=`null`]|[?starts_with(Name, `amzn-ami-hvm-2018.03`) == `true`].[CreationDate,ImageId,Name]' --output text | sort -rk1
  • 비표준 도메인 이름 및 AmazonProvided DNS가 포함된 VPC를 사용하는 경우 운영 체제 DNS 구성의 rotate 옵션을 사용해서는 안 됩니다.

자세한 내용은 Amazon EC2 사용 설명서의 Amazon EBS 기반 Linux AMI 생성을 참조하십시오.