EC2 인스턴스의 요구 사항을 충족하는 AMI 찾기
AMI에는 인스턴스를 시작하는 데 필요한 운영 체제 및 루트 볼륨 유형과 같은 구성 요소와 애플리케이션이 포함됩니다. 인스턴스를 시작하려면 필요에 맞는 AMI를 찾아야 합니다.
AMI를 선택할 때는 시작하려는 인스턴스에 다음과 같은 요구 사항을 고려하세요.
-
AMI의 AWS 리전(AMI ID는 리전마다 고유함)
-
운영 체제(예: Linux 또는 Windows)
-
아키텍처(예: 32비트, 64비트 또는 64비트 ARM)
-
루트 디바이스 유형(예: Amazon EBS 또는 인스턴스 스토어)
-
제공업체(예: Amazon Web Services)
-
추가 소프트웨어(예: SQL Server)
Amazon Linux 2023 AMI를 찾으려면 Amazon Linux 2023 사용 설명서에서 AL2023 on Amazon EC2를 참조하세요.
Ubuntu AMI를 찾으려면 Canonical Ubuntu 웹 사이트에서 Amazon EC2 AMI 로케이터
RHEL AMI를 찾으려면 Red Hat 웹 사이트에서 Amazon Web Services(AWS)에서 사용 가능한 Red Hat Enterprise Linux 이미지(AMI)
필요에 맞는 AMI를 찾는 방법은 다양합니다. Amazon EC2 콘솔, AWS CLI, AWS Tools for Windows PowerShell 및 AWS Systems Manager를 사용하여 AMI를 찾을 수 있습니다.
Amazon EC2 콘솔을 사용하여 AMI를 찾을 수 있습니다. 인스턴스 시작 마법사를 사용하여 인스턴스를 시작할 때 AMI 목록에서 선택하거나 이미지(Images) 페이지를 사용하여 사용 가능한 모든 AMI를 검색할 수 있습니다.
인스턴스 시작 마법사를 사용하여 AMI를 찾으려면 다음을 수행합니다.
-
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다. AMI ID는 각 AWS 리전에 고유합니다.
-
콘솔 대시보드에서 인스턴스 시작(Launch instance)을 선택합니다.
-
애플리케이션 및 OS 이미지(Amazon Machine Image)에서 빠른 시작을 선택하고 인스턴스의 운영 체제(OS)를 선택한 다음 Amazon Machine Image(AMI)에서 목록에 자주 사용되는 AMI 중 하나를 선택합니다. 사용하려는 AMI가 표시되지 않으면 더 많은 AMI 찾아보기(Browse more AMIs)를 선택하여 전체 AMI 카탈로그를 찾아볼 수 있습니다. 자세한 내용은 애플리케이션 및 OS 이미지(Amazon Machine Image) 단원을 참조하십시오.
AMI 페이지를 사용하여 AMI를 찾으려면 다음을 수행합니다.
-
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다. AMI ID는 각 AWS 리전에 고유합니다.
-
탐색 창에서 AMI를 선택합니다.
-
(선택 사항) 필터 및 검색 옵션을 사용하여 기준과 일치하는 AMI만 볼 수 있도록 표시되는 AMI 목록의 범위를 지정합니다.
예를 들어 AWS에서 제공하는 모든 AMI를 나열하려면 퍼블릭 이미지를 선택합니다. 그런 다음 검색 옵션을 사용하여 표시되는 AMI 목록의 범위를 추가로 지정할 수 있습니다. 검색(Search) 창을 선택하고 메뉴에서 소유자 별칭(Owner alias), = 연산자, 값 amazon을 차례로 선택합니다. 특정 플랫폼(예: Linux 또는 Windows)과 일치하는 AMI를 찾으려면 검색 창을 다시 선택하여 플랫폼을 선택한 다음 = 연산자를 선택한 다음 제공된 목록에서 운영 체제를 선택합니다.
-
(선택 사항) 기본 설정 아이콘을 선택하여 표시할 이미지 속성(예: 루트 디바이스 유형)을 선택합니다. 또는 목록에서 AMI를 선택하고 세부 정보(Details) 탭에서 속성을 조회할 수 있습니다.
-
AMI를 선택하기 전에 해당 AMI가 인스턴스 스토어 기반인지, Amazon EBS 기반인지 확인하고 이 차이점에 따른 영향을 잘 알고 있어야 합니다. 자세한 내용은 루트 디바이스 유형 단원을 참조하십시오.
-
이 AMI에서 인스턴스를 시작하려면 해당 인스턴스를 선택하고 이미지로 인스턴스 시작을 선택합니다. 콘솔을 사용하여 인스턴스를 시작하는 방법에 대한 자세한 정보는 콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 섹션을 참조하세요. 인스턴스를 시작할 준비가 되지 않은 경우, 나중을 위해 AMI ID를 기록해 둡니다.
describe-images AWS CLI 명령을 사용하여 요구 사항과 일치하는 AMI만 나열할 수 있습니다. 요구 사항과 일치하는 AMI를 찾았으면 인스턴스를 시작할 때 사용할 수 있도록 ID를 기록해 둡니다. 자세한 정보는 AWS Command Line Interface 사용 설명서의 인스턴스 시작을 참조하세요.
describe-images 명령은 파라미터 필터링을 지원합니다. 예를 들어, Amazon 소유의 퍼블릭 AMI를 표시하려면 --owners
파라미터를 사용합니다.
aws ec2 describe-images --owners amazon
Windows AMI만 표시되도록 이전 명령에 다음과 같은 필터를 추가할 수 있습니다.
--filters "Name=platform,Values=windows"
Amazon EBS 기반 AMI만 표시하려면 이전 명령에 다음 필터를 추가합니다.
--filters "Name=root-device-type,Values=ebs"
중요
describe-images
명령에서 --owners
파라미터를 생략하면 소유 여부와 관계없이 시작 권한이 있는 모든 이미지가 반환됩니다.
PowerShell cmdlet을 사용하여 요구 사항과 일치하는 Windows AMI만 나열할 수 있습니다. 자세한 내용과 예는 AWS Tools for Windows PowerShell 사용 안내서에서 Windows PowerShell을 사용하여 Amazon 머신 이미지 찾기를 참조하세요.
요구 사항과 일치하는 AMI를 찾았으면 인스턴스를 시작할 때 사용할 수 있도록 ID를 기록해 둡니다. 자세한 내용은 AWS Tools for Windows PowerShell 사용 설명서에서 Windows PowerShell을 사용하여 Amazon EC2 인스턴스 시작을 참조하세요.
Amazon EC2 콘솔에서 EC2 인스턴스 시작 마법사를 사용하여 인스턴스를 시작할 때 목록에서 AMI를 선택하거나(Amazon EC2 콘솔을 사용하여 AMI 찾기에 설명) AMI ID를 가리키는 AWS Systems Manager 파라미터를 선택할 수 있습니다(이 섹션에서 설명). 자동화 코드를 사용하여 인스턴스를 시작하는 경우 AMI ID 대신 Systems Manager 파라미터를 지정할 수 있습니다.
Systems Manager 파라미터는 Systems Manager 파라미터 스토어에서 생성할 수 있는 고객 정의 키-값 페어입니다. 파라미터 스토어는 애플리케이션 구성 값을 외부화할 수 있는 중앙 스토어를 제공합니다. 자세한 내용은 AWS Systems Manager 사용 설명서에서 AWS Systems Manager Parameter Store를 참조하세요.
AMI ID를 가리키는 파라미터를 생성할 때는 데이터 유형을 aws:ec2:image
로 지정해야 합니다. 이 데이터 유형을 지정하면 파라미터가 생성되거나 수정될 때 파라미터 값이 AMI ID로 확인됩니다. 자세한 내용은 AWS Systems Manager 사용 설명서에서 Amazon Machine Image ID에 대한 기본 파라미터 지원을 참조하세요.
사용 사례
Systems Manager 파라미터를 사용하여 AMI ID를 가리키면 사용자가 인스턴스를 시작할 때 올바른 AMI를 더 쉽게 선택할 수 있습니다. Systems Manager 파라미터를 통해 자동화 코드의 유지 관리가 간소화될 수도 있습니다
사용자의 사용 편의성 향상
특정 AMI를 사용하여 인스턴스를 시작해야 하고 AMI가 정기적으로 업데이트되는 경우 사용자가 Systems Manager 파라미터를 선택하여 AMI를 찾도록 하는 것이 좋습니다. 사용자에게 Systems Manager 파라미터를 선택하도록 하면 인스턴스를 시작하는 데 최신 AMI가 사용될 수 있습니다.
예를 들어 조직에서 매달 최신 운영 체제 및 애플리케이션 패치가 포함된 새 버전의 AMI를 생성하며 사용자가 최신 버전의 AMI를 사용하여 인스턴스를 시작하도록 하려는 경우, 사용자가 최신 버전을 사용하도록 올바른 AMI ID를 가리키는 Systems Manager 파라미터(예: golden-ami
)를 생성할 수 있습니다. 새 버전의 AMI가 생성될 때마다 이 파라미터의 AMI ID 값을 업데이트하여 항상 최신 AMI를 가리키도록 합니다. 사용자는 매번 동일한 Systems Manager 파라미터를 계속 선택하므로 AMI에 대한 정기 업데이트에 대해 알 필요가 없습니다. AMI에 대한 Systems Manager 파라미터를 사용하면 사용자가 인스턴스 시작에 대한 올바른 AMI를 더 쉽게 선택할 수 있습니다.
자동화 코드 유지 관리 간소화
자동화 코드를 사용하여 인스턴스를 시작하는 경우 AMI ID 대신 Systems Manager 파라미터를 지정할 수 있습니다. 새 버전의 AMI가 생성되면 최신 AMI를 가리키도록 이 파라미터의 AMI ID 값을 변경할 수 있습니다. 파라미터를 참조하는 자동화 코드는 새 버전의 AMI가 생성될 때마다 수정할 필요가 없습니다. 이를 통해 자동화 유지 관리가 간소화되며 배포 비용을 절감할 수 있습니다.
참고
Systems Manager 파라미터가 가리키는 AMI ID를 변경해도 실행 중인 인스턴스는 영향을 받지 않습니다.
권한
인스턴스 시작 마법사에서 AMI ID를 가리키는 Systems Manager 파라미터를 사용하는 경우 IAM 정책에 다음 권한을 추가해야 합니다.
-
ssm:DescribeParameters
– Systems Manager 파라미터를 보고 선택할 수 있는 권한을 부여합니다. -
ssm:GetParameters
– Systems Manager 파라미터 값을 검색할 수 있는 권한을 부여합니다.
특정 Systems Manager 파라미터에 대한 액세스를 제한할 수도 있습니다. 자세한 내용과 IAM 정책 예는 예: EC2 시작 인스턴스 마법사 사용 섹션을 참조하세요.
제한 사항
AMI 및 Systems Manager 파라미터는 리전별로 다릅니다. 여러 리전에서 동일한 Systems Manager 파라미터 이름을 사용하려면 동일한 이름(예: golden-ami
)을 가진 Systems Manager 파라미터를 각 리전에 생성합니다. 각 리전에서 Systems Manager 파라미터가 해당 리전의 AMI를 가리키도록 지정합니다.
Systems Manager 파라미터를 사용하여 인스턴스 시작
콘솔 또는 AWS CLI를 사용하여 인스턴스를 시작할 수 있습니다. AMI ID를 지정하는 대신 AMI ID를 가리키는 AWS Systems Manager 파라미터를 지정할 수 있습니다.
Systems Manager 파라미터(콘솔)를 사용하여 AMI를 찾으려면 다음을 수행합니다.
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 모음에서 인스턴스를 실행할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.
-
콘솔 대시보드에서 인스턴스 시작(Launch instance)을 선택합니다.
-
Application and OS Images (Amazon Machine Image)(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 Browse more AMIs(더 많은 AMI 찾아보기)를 선택하세요.
-
검색 창 오른쪽에 있는 화살표 버튼을 선택한 다음 Search by Systems Manager parameter(Systems Manager 파라미터로 검색)를 선택하세요.
-
[Systems Manager 파라미터(Systems Manager parameter)]에서 파라미터를 선택합니다. 해당 AMI ID가 Currently resolves to(현재 확인된 값) 아래 나타납니다.
-
검색을 선택합니다. AMI ID와 일치하는 AMI가 목록에 나타납니다.
-
목록에서 해당 AMI를 선택하고 선택을 선택합니다.
인스턴스 시작 마법사를 사용하여 인스턴스를 시작하는 방법에 대한 자세한 내용은 콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 섹션을 참조하세요.
AMI ID 대신 AWS Systems Manager 파라미터를 사용하여 인스턴스를 시작하려면(AWS CLI)
다음 예시에서는 Systems Manager 파라미터 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 Systems Manager 파라미터를 사용하여 인스턴스를 시작하려면(AWS CLI)
Systems Manager 파라미터는 버전을 지원합니다. 파라미터의 각 이터레이션에는 고유한 버전 번호가 지정됩니다. resolve:ssm:
으로 파라미터의 버전을 참조할 수 있습니다. 여기서 parameter-name
:version
version
은 고유한 버전 번호입니다. 버전이 지정되지 않은 경우 기본적으로 최신 버전의 파라미터가 사용됩니다.
다음 예시에서는 버전 2의 파라미터를 사용합니다.
이 예에는 --count
및 --security-group
파라미터가 포함되어 있지 않습니다. --count
의 경우 기본 VPC와 기본 보안 그룹이 있으면 기본값은 1
이며 해당 기본값이 사용됩니다.
aws ec2 run-instances
--image-id resolve:ssm:/golden-ami
:2
--instance-type m5.xlarge
...
AWS에서 제공하는 퍼블릭 파라미터를 사용하여 인스턴스를 시작하려면
Systems Manager는 AWS에서 제공하는 퍼블릭 AMI에 대한 퍼블릭 파라미터를 제공합니다. 인스턴스를 시작할 때 퍼블릭 파라미터를 사용하여 최신 AMI를 사용하고 있는지 확인할 수 있습니다.
자세한 내용은 Systems Manager 퍼블릭 파라미터를 사용하여 최신 AMI 찾기 단원을 참조하십시오.
AWS Systems Manager는 AWS에서 유지 관리하는 퍼블릭 AMI에 대한 퍼블릭 파라미터를 제공합니다. 인스턴스를 시작할 때 퍼블릭 파라미터를 사용하여 최신 AMI를 사용하고 있는지 확인할 수 있습니다. 예를 들어 퍼블릭 파라미터(/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64
)는 모든 리전에서 사용할 수 있으며 항상 특정 리전에서 arm64 아키텍처용 Amazon Linux 2023 AMI의 최신 버전을 가리킵니다.
퍼블릭 파라미터는 다음 경로에서 사용할 수 있습니다.
-
Linux –
/aws/service/ami-amazon-linux-latest
-
Windows –
/aws/service/ami-windows-latest
현재 AWS 리전에 있는 모든 Linux 또는 Windows AMI의 목록을 보려면 다음을 수행합니다.
다음 get-parameters-by-path AWS CLI 명령을 사용하여 현재 AWS 리전에 있는 모든 Linux 또는 Windows AMI의 목록을 볼 수 있습니다. --path
파라미터 값은 Linux와 Windows에서 다릅니다.
Linux의 경우:
aws ssm get-parameters-by-path \ --path /aws/service/ami-amazon-linux-latest \ --query "Parameters[].Name"
Windows의 경우:
aws ssm get-parameters-by-path \ --path /aws/service/ami-windows-latest \ --query "Parameters[].Name"
퍼블릭 파라미터를 사용하여 인스턴스를 시작하려면
다음 예에서는 최신 Amazon Linux 2023 AMI를 사용하여 인스턴스를 시작하기 위해 이미지 ID에 대한 Systems Manager 퍼블릭 파라미터를 지정합니다.
명령에서 파라미터를 지정하려면 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/al2023-ami-kernel-default-x86_64
\
--instance-type m5.xlarge
\
--key-name MyKeyPair
자세한 내용은 AWS Systems Manager 사용 설명서의 퍼블릭 파라미터 작업을 참조하세요.
Systems Manager 파라미터를 사용하는 예는 Query for the latest Amazon Linux AMI IDs Using AWS Systems Manager Parameter Store