Linux AMI 찾기 - Amazon Elastic Compute Cloud

Linux AMI 찾기

인스턴스를 시작하려면 사용할 AMI를 선택해야 합니다. AMI를 선택할 때 시작할 인스턴스에 대해 다음 요구 사항을 고려하십시오.

  • 리전

  • 운영 체제

  • 아키텍처: 32비트(i386), 64비트(x86_64) 또는 64비트 ARM(arm64)

  • 루트 디바이스 유형: Amazon EBS 또는 인스턴스 스토어

  • 공급자(예: Amazon Web Services)

  • 추가 소프트웨어(예: SQL server)

Windows AMI를 찾아야 하는 경우 Windows 인스턴스용 Amazon EC2 사용 설명서Windows AMI 찾기 단원을 참조하십시오.

Amazon EC2 콘솔을 사용하여 Linux AMI 찾기

Linux 콘솔을 사용하여 Amazon EC2 AMI를 찾을 수 있습니다. 시작 마법사를 사용하여 인스턴스를 시작할 때 AMI 목록에서 선택하거나 이미지 페이지를 사용하여 사용 가능한 모든 AMI를 검색할 수 있습니다. AMI ID는 AWS 리전마다 고유합니다.

시작 마법사를 사용하여 Linux AMI를 찾으려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.

  3. 콘솔 대시보드에서 인스턴스 시작을 선택합니다.

  4. 빠른 시작 탭의 목록에서 자주 사용되는 AMI 중 하나를 선택합니다. 필요한 AMI가 표시되지 않는 경우 나의 AMI, AWS Marketplace 또는 커뮤니티 AMI 탭을 선택하여 추가 AMI를 찾습니다. 자세한 내용은 1단계: Amazon 머신 이미지(AMI) 선택 단원을 참조하십시오.

이미지 페이지를 사용하여 Linux AMI를 찾으려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.

  3. 탐색 창에서 AMI를 선택합니다.

  4. (선택 사항) 필터 옵션을 사용하여 원하는 AMI만 표시하도록 표시되는 AMI 목록의 범위를 지정합니다. 예를 들어, AWS에서 제공하는 모든 Linux AMI를 나열하려면 퍼블릭 이미지를 선택합니다. 검색 창을 선택하고 메뉴에서 소유자를 선택한 다음 Amazon 이미지를 선택합니다. 검색 창을 다시 선택하고 플랫폼을 선택한 다음 제공된 목록에서 운영 체제를 선택합니다.

  5. (선택 사항) 열 표시/숨기기 아이콘을 선택하여 표시할 이미지 속성(예: 루트 디바이스 유형)을 선택합니다. 또는 목록에서 AMI를 선택하고 세부 정보 탭에서 속성을 조회할 수 있습니다.

  6. AMI를 선택하기 전에 해당 AMI가 인스턴스 스토어 기반인지, Amazon EBS 기반인지 확인하고 이 차이점에 따른 영향을 잘 알고 있어야 합니다. 자세한 내용은 루트 디바이스 스토리지 단원을 참조하십시오.

  7. 이 AMI에서 인스턴스를 시작하려면 원하는 인스턴스를 선택한 다음 시작을 선택합니다. 콘솔을 통한 인스턴스 시작에 대한 자세한 내용은 AMI에서 인스턴스 시작을 참조하십시오. 인스턴스를 시작할 준비가 되지 않은 경우, 나중을 위해 AMI ID를 기록해 둡니다.

AWS CLI를 사용하여 AMI 찾기

Amazon EC2의 AWS CLI 명령을 사용하여 필요에 맞는 Linux AMI만 나열되도록 할 수 있습니다. 필요에 맞는 AMI를 찾았으면 인스턴스를 시작할 때 사용할 수 있도록 ID를 기록해 둡니다. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS CLI를 사용한 인스턴스 시작하기 단원을 참조하십시오.

describe-images 명령은 파라미터 필터링을 지원합니다. 예를 들어, Amazon 소유의 퍼블릭 AMI를 표시하려면 --owners 파라미터를 사용합니다.

aws ec2 describe-images --owners self amazon

Amazon EBS 기반 AMI만 표시하려면 이전 명령에 다음 필터를 추가합니다.

--filters "Name=root-device-type,Values=ebs"
중요

describe-images 명령에서 --owners 플래그가 누락되면 소유 여부와 관계없이 시작 권한을 보유한 모든 이미지를 반환합니다.

시스템 관리자를 사용하여 최신 Amazon Linux AMI 찾기

Amazon EC2는 인스턴스를 시작할 때 사용할 수 있는 AWS 유지 관리 퍼블릭 AMI에 대한 AWS 시스템 관리자 퍼블릭 파라미터를 제공합니다. 예를 들어, EC2에서 제공하는 /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 파라미터는 모든 리전에서 사용할 수 있으며 항상 지정된 리전의 최신 Amazon Linux 2 AMI 버전을 가리킵니다.

Amazon EC2 AMI 퍼블릭 파라미터는 다음 경로에서 사용할 수 있습니다.

  • /aws/service/ami-amazon-linux-latest

  • /aws/service/ami-windows-latest

AWS CLI에서 다음 명령을 사용하여 현재 AWS 리전의 모든 Linux AMI 목록을 볼 수 있습니다.

aws ssm get-parameters-by-path --path /aws/service/ami-amazon-linux-latest --query Parameters[].Name

퍼블릭 파라미터를 사용하여 인스턴스를 시작하려면

다음 예제에서는 EC2에서 제공하는 퍼블릭 파라미터를 사용하여 최신 Amazon Linux 2 AMI를 사용하는 m5.xlarge 인스턴스를 시작합니다.

명령에서 파라미터를 지정하려면 resolve:ssm:public-parameter 구문을 사용합니다. 여기서 resolve:ssm은 표준 접두사이고 public-parameter는 퍼블릭 파라미터의 경로와 이름입니다.

이 예제에는 --count--security-group 파라미터가 포함되어 있지 않습니다. --count의 기본값은 1입니다. 기본 VPC와 기본 보안 그룹이 있는 경우 이들이 사용됩니다.

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge --key-name MyKeyPair

자세한 내용은 AWS 시스템 관리자 사용 설명서퍼블릭 파라미터 사용AWS 시스템 관리자 파라미터 스토어를 사용한 최신 Amazon Linux AMI ID 쿼리를 참조하십시오.

시스템 관리자 파라미터를사용하여 AMI 찾기

콘솔에서 EC2 시작 마법사를 사용하여 인스턴스를 시작할 때 목록에서 AMI를 선택하거나 AMI ID를 가리키는 AWS 시스템 관리자 파라미터를 선택할 수 있습니다. 자동화 코드를 사용하여 인스턴스를 시작하는 경우 AMI ID 대신 시스템 관리자 파라미터를 지정할 수 있습니다.

시스템 관리자 파라미터는 시스템 관리자 파라미터 스토어에서 생성할 수 있는 고객 정의 키-값 페어입니다. 파라미터 스토어는 애플리케이션 구성 값을 외부화할 수 있는 중앙 스토어를 제공합니다. 자세한 내용은 AWS 시스템 관리자 사용 설명서AWS 시스템 관리자 파라미터 스토어를 참조하십시오.

AMI ID를 가리키는 파라미터를 생성할 때는 데이터 유형을 aws:ec2:image로 지정해야 합니다. 이 데이터 유형을 사용하면 파라미터가 생성되거나 수정될 때 파라미터 값이 AMI ID로 확인됩니다. 자세한 내용은 AWS 시스템 관리자 사용 설명서Amazon Machine Image(AMI) ID에 대한 기본 파라미터 지원을 참조하십시오.

사용 사례

시스템 관리자 파라미터를 사용하여 AMI ID를 가리키면 사용자가 인스턴스를 시작할 때 올바른 AMI를 더 쉽게 선택할 수 있는 동시에 관리자가 자동화 코드를 더 간편하게 유지 관리할 수 있습니다.

사용자의 사용 편의성 향상

특정 AMI를 사용하여 인스턴스를 실행해야 하며 해당 AMI가 정기적으로 업데이트되는 경우 사용자가 시스템 관리자 파라미터를 선택하여 해당 AMI를 찾도록 하는 것이 좋습니다. 사용자에게 시스템 관리자 파라미터를 선택하도록 하면 항상 최신 AMI를 사용하여 인스턴스가 시작될 수 있습니다.

예를 들어 조직에서 매달 최신 운영 체제 및 애플리케이션 패치가 포함된 새 버전의 AMI를 생성하며 사용자가 최신 버전의 AMI를 사용하여 인스턴스를 시작하도록 하려는 경우, 사용자가 최신 버전을 사용하도록 올바른 AMI ID를 가리키는 시스템 관리자 파라미터(예: golden-ami)를 생성할 수 있습니다. 새 버전의 AMI가 생성될 때마다 이 파라미터의 AMI ID 값을 업데이트하여 항상 최신 AMI를 가리키도록 합니다. 사용자는 AMI에 대한 정기 업데이트에 대해 알 필요 없이 매번 동일한 시스템 관리자 파라미터를 계속 선택하면 됩니다. 사용자가 시스템 관리자 파라미터를 선택하도록 하면 인스턴스를 시작할 때 사용할 AMI를 더 쉽게 선택할 수 있습니다.

자동화 코드 유지 관리 간소화

자동화 코드를 사용하여 인스턴스를 시작하는 경우 AMI ID 대신 시스템 관리자 파라미터를 지정할 수 있습니다. 새 버전의 AMI가 생성되면 최신 AMI를 가리키도록 이 파라미터의 AMI ID 값을 변경합니다. 파라미터를 참조하는 자동화 코드는 새 버전의 AMI가 생성될 때마다 수정할 필요가 없습니다. 이를 통해 자동화 유지 관리가 크게 간소화되고 배포 비용을 절감할 수 있습니다.

참고

시스템 관리자 파라미터가 가리키는 AMI ID를 변경해도 실행 중인 인스턴스는 영향을 받지 않습니다.

시스템 관리자 파라미터를 사용하여 인스턴스 시작

콘솔 또는 AWS CLI를 사용하여 인스턴스를 시작할 수 있습니다. AMI ID를 지정하는 대신 AMI ID를 가리키는 AWS 시스템 관리자 파라미터를 지정할 수 있습니다.

시스템 관리자 파라미터를 사용하여 Linux AMI를 찾으려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.

  3. 콘솔 대시보드에서 인스턴스 시작을 선택합니다.

  4. 오른쪽 상단에 있는 Search by 시스템 관리자 parameter(Systems Manager 파라미터로 검색)을 선택합니다.

  5. 시스템 관리자 parameter(Systems Manager 파라미터)에서 파라미터를 선택합니다. 해당 AMI ID가 Currently resolves to(현재 확인된 값) 옆에 나타납니다.

  6. 검색을 선택합니다. AMI ID와 일치하는 AMI가 목록에 나타납니다.

  7. 목록에서 해당 AMI를 선택하고 선택을 선택합니다.

시작 마법사를 사용하여 AMI에서 인스턴스를 시작하는 방법에 대한 자세한 내용은 1단계: Amazon 머신 이미지(AMI) 선택 단원을 참조하십시오.

AMI ID 대신 AWS 시스템 관리자 파라미터를 사용하여 인스턴스를 시작하려면(AWS CLI)

다음 예제에서는 시스템 관리자 파라미터 golden-ami를 사용하여 m5.xlarge 인스턴스를 시작합니다. 이 파라미터는 AMI ID를 가리킵니다.

명령에서 파라미터를 지정하려면 resolve:ssm:/parameter-name 구문을 사용합니다. 여기서 resolve:ssm은 표준 접두사이고 parameter-name은 고유한 파라미터 이름입니다. 파라미터 이름은 대/소문자를 구분합니다. 파라미터 이름의 백슬래시는 파라미터가 계층 구조의 일부인 경우에만 필요합니다(예: /amis/production/golden-ami). 파라미터가 계층의 일부가 아닌 경우 백슬래시를 생략할 수 있습니다.

이 예제에는 --count--security-group 파라미터가 포함되어 있지 않습니다. --count의 기본값은 1입니다. 기본 VPC와 기본 보안 그룹이 있는 경우 이들이 사용됩니다.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami --instance-type m5.xlarge ...

특정 버전의 AWS 시스템 관리자 파라미터를 사용하여 인스턴스를 시작하려면(AWS CLI)

시스템 관리자 파라미터는 버전을 지원합니다. 파라미터의 각 이터레이션에는 고유한 버전 번호가 지정됩니다. resolve:ssm:parameter-name:version으로 파라미터의 버전을 참조할 수 있습니다. 여기서 version은 고유한 버전 번호입니다. 버전이 지정되지 않은 경우 기본적으로 최신 버전의 파라미터가 사용됩니다.

다음 예제에서는 버전 2의 파라미터를 사용합니다.

이 예제에는 --count--security-group 파라미터가 포함되어 있지 않습니다. --count의 기본값은 1입니다. 기본 VPC와 기본 보안 그룹이 있는 경우 이들이 사용됩니다.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami:2 --instance-type m5.xlarge ...

AWS에서 제공하는 퍼블릭 파라미터를 사용하여 인스턴스를 시작하려면

Amazon EC2는 AWS에서 제공하는 퍼블릭 AMI에 대한 시스템 관리자 퍼블릭 파라미터를 제공합니다. 예를 들어, 퍼블릭 파라미터 /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2는 모든 리전에서 사용할 수 있으며 항상 해당 리전의 Amazon Linux 2 AMI의 최신 버전을 가리킵니다.

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge ...

권한

인스턴스 시작 마법사에서 AMI ID를 가리키는 시스템 관리자 파라미터를 사용하는 경우 IAM 정책에 ssm:DescribeParametersssm:GetParameters를 추가해야 합니다. ssm:DescribeParameters는 IAM 사용자에게 시스템 관리자 파라미터를 보고 선택할 수 있는 권한을 부여하며, ssm:GetParameters는 IAM 사용자에게 시스템 관리자 파라미터의 값을 가져올 수 있는 권한을 부여합니다. 특정 시스템 관리자 파라미터에 대한 액세스를 제한할 수도 있습니다. 자세한 내용은 EC2 시작 마법사 사용 단원을 참조하십시오.

제한 사항

AMI 및 시스템 관리자 파라미터는 리전별로 다릅니다. 여러 리전에서 동일한 시스템 관리자 파라미터 이름을 사용하려면 동일한 이름(예: golden-ami)을 가진 시스템 관리자 파라미터를 각 리전에 생성합니다. 각 리전에서 시스템 관리자 파라미터가 해당 리전의 AMI를 가리키도록 지정합니다.

빠른 시작 AMI 찾기

Amazon EC2 콘솔을 사용하여 인스턴스를 시작하는 경우 Amazon 머신 이미지(AMI) 선택 페이지의 빠른 시작 탭에는 자주 사용되는 AMI 목록이 포함되어 있습니다. 이러한 빠른 시작 AMI 중 하나를 사용하여 인스턴스 시작을 자동화하려면 AMI 현재 버전의 ID를 프로그래밍 방식으로 찾아야 합니다.

빠른 시작 AMI 현재 버전을 찾으려면 AMI 이름이 있는 모든 AMI를 나열한 다음, 생성 날짜가 최근인 AMI를 검색하면 됩니다.

예: 현재 Amazon Linux 2 AMI 검색

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=amzn2-ami-hvm-2.0.????????.?-x86_64-gp2' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

예: 현재 Amazon Linux AMI 검색

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=amzn-ami-hvm-????.??.?.????????-x86_64-gp2' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

예: 현재 Ubuntu Server 16.04 LTS AMI 검색

aws ec2 describe-images \ --owners 099720109477 \ --filters 'Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-????????' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

예: 현재 Red Hat Enterprise Linux 7.5 AMI 검색

aws ec2 describe-images \ --owners 309956199498 \ --filters 'Name=name,Values=RHEL-7.5_HVM_GA*' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

예: 현재 SUSE Linux Enterprise Server 15 AMI 검색

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=suse-sles-15-v????????-hvm-ssd-x86_64' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text