EC2 인스턴스가 사용하는 AMI가 더 이상 퍼블릭이 아니거나 “ami-xxxxxx에 대한 세부 정보를 로드할 수 없습니다. 해당 정보를 볼 권한이 없는 것 같습니다.”라는 오류가 표시되면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 11월 7일

AWS Management Console에서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 사용하는 Amazon Machine Image(AMI)를 더 이상 선택할 수 없습니다. AMI의 [Details] 탭에 “ami-xxxxxxxx에 대한 세부 정보를 로드할 수 없습니다. 해당 정보를 볼 권한이 없는 것 같습니다.”라는 오류가 표시됩니다.

공개적으로 사용할 수 없는 AMI에 대한 설명을 보려면 어떻게 해야 합니까?

또는

AWS CloudFormation 템플릿에서 특정 AMI ID를 참조합니다. Amazon Web Services(AWS)는 정기적으로 새로운 이미지를 생성하고 몇 주 후에 이전 이미지를 폐기합니다. 이로 인해 이전 템플릿 스택이 중단되거나 템플릿을 정기적으로 업데이트해야 하는 등의 문제가 발생합니다. 이 문제가 발생하는 이유는 무엇이며 이 문제를 방지하려면 어떻게 해야 합니까? 

간략한 설명

EC2 Windows 인스턴스가 사용하는 AMI는 더 이상 퍼블릭이 아닙니다.

AWS는 Windows 플랫폼에 맞게 특별히 구성된 공개적으로 사용 가능한 AMI를 제공합니다. 각 릴리스의 AMI에는 새 AMI ID가 있습니다. 새로운 AMI가 릴리스된 후 10일 이내에 3개월이 지난 AMI는 프라이빗으로 설정됩니다.

이 동작은 사용자 지정 AMI가 등록 취소된 경우에도 적용됩니다.

자세한 내용은 패치, 보안 업데이트 및 AMI ID를 참조하십시오.

참고: 동일한 AMI에서 인스턴스를 시작해야 하는 경우 해당 인스턴스에서 새 AMI를 생성해야 합니다.

​해결 방법

더 이상 퍼블릭이 아닌 AMI ID의 설명 검색 

먼저 레지스트리에서 AMI의 이름을 찾습니다. 그런 다음 PowerShell을 사용하여 동일한 이름의 최신 AMI를 찾습니다. 다음 단계를 따르십시오.

참고: 이 단계는 Amazon에서 제공한 AMI를 사용하는 경우에만 적용됩니다.

1.    Amazon EC2 콘솔의 탐색 창에서 [Instances]를 선택합니다. 더 이상 사용할 수 없는 AMI를 사용하여 시작한 인스턴스를 선택합니다.

2.    해당 인스턴스에 연결합니다.

3.    다음 레지스트리 위치에서 AMI 이름을 확인합니다.

Get-Itemproperty HKLM:\SOFTWARE\Amazon\MachineImage -Name AMIName

참고: HKLM:\SOFTWARE\Amazon\MachineImage 레지스트리 위치에는 인스턴스 시작 시 AMI의 이름과 날짜가 각인됩니다.

4.    Get-EC2ImageByName PowerShell 명령을 실행하여 모든 퍼블릭 AMI를 이름에 따라 나열합니다. 결과의 범위를 좁히려면 다음 명령을 실행하여 AMIName을 3단계의 AMI 이름으로 바꿉니다.

Get-EC2ImageByName –Names AMIName
Example: Get-EC2ImageByName -Names WINDOWS_2016_CORE

참고: 이 명령은 리전의 최신 AMI ID를 포함하여 이미지에 대한 대량의 메타데이터를 반환합니다. AMI는 리전마다 ID가 서로 다릅니다.

이 AMI는 최신 Microsoft 소프트웨어 업데이트 및 AWS가 적용한 성능 개선 사항을 제외하고 이전 AMI와 동일합니다. 최신 AMI를 사용하여 새 인스턴스를 시작하는 것이 좋습니다.

Windows AMI 알림을 구독하면 이러한 정기적 변경 사항에 대한 알림을 받을 수 있습니다.

AMI ID가 CloudFormation 템플릿 또는 IaaS 플랫폼에 하드코딩됨

모범 사례로서, AMI ID가 아니라 이름이나 설명을 기준으로 최신 AWS Windows AMI를 찾는 스크립트를 작성할 수 있습니다. AMI ID는 각 릴리스 이후에 변경될 수 있습니다.

자세한 내용은 패치, 보안 업데이트 및 AMI ID를 참조하십시오.

빌드 파이프라인 중단을 방지하기 위해, AWS가 퍼블릭 파라미터 스토어에 게시한 최신 AMI 중 사용자의 요구 사항에 맞는 AMI를 프로그래밍 방식으로 검색할 수 있습니다. 자세한 내용은 퍼블릭 파라미터 작업을 참조하십시오.

또한 자체 AMI를 생성하여 AMI 수명주기 및 업데이트를 보다 효과적으로 제어할 수 있습니다. AMI를 사용한 인스턴스에서 이미지를 생성하려면 다음 단계를 따르십시오.

1.    인스턴스를 중지합니다.

2.    Amazon EC2 콘솔의 탐색 창에서 [Instances]를 선택합니다.

3.    인스턴스를 선택합니다. [Actions]에서 [Image], [Create Image]을 차례로 선택합니다.
[Image name]에 이름을 입력합니다.
(선택 사항) [Image description]에 설명을 입력합니다.
[Create Image]를 선택합니다.

4.    중요: 3단계에서는 서버 이름 및 관리자 암호를 포함하여 인스턴스와 정확히 일치하는 이미지를 생성합니다. 충돌을 방지하려면 새 이미지를 기반으로 새 인스턴스를 생성합니다. 필요한 사용자 지정 사항을 적용한 다음 일반화 프로세스를 수행하여 정상 작동하는 AMI를 생성합니다. 자세한 지침은 Sysprep을 사용하여, 재사용 가능한 사용자 지정 Windows AMI를 생성하려면 어떻게 해야 합니까?를 참조하십시오.

5.    이제 4단계에서 생성한 이미지를 사용하여 인스턴스를 시작할 수 있습니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?