EC2 Windows 인스턴스에서 메타데이터에 접근할 수 없는 문제 해결 방법

3분 분량
콘텐츠 수준: 중급
0

본 기사는 EC2 Windows 인스턴스에서 메타데이터에 접근할 수 없는 문제가 발생되었을 때 이에 대한 해결 방법에 대해 설명합니다.

인스턴스 메타데이터는 EC2 인스턴스 관련 정보로서 인스턴스 ID, 연결된 공인 IP 주소와 사설 IP 주소 정보, 보안 그룹 등과 같은 것을 포함합니다. 각 EC2 인스턴스에서는 '169.254.169.254' 에 대한 HTTP 요청을 통해 이러한 인스턴스 메타데이터에 접근할 수 있습니다.

 

하지만 다음과 같은 원인으로 인해 EC2 Windows 인스턴스에서 이러한 인스턴스 메타데이터에 대한 접근이 되지 않을 수 있습니다.

  • 인스턴스 메타데이터 액세스 비활성화
  • 인스턴스 메타데이터 액세스를 위한 라우팅 경로의 미설정 및 오류
  • 프록시 구성

 

이것은 메타데이터에 대한 접근 불가 이슈를 유발하는 대표적인 원인으로 이에 대한 해결 방법은 다음과 같습니다.

 

해결 방법

 

인스턴스 메타데이터 액세스

다음과 같이 설정함으로서 EC2 Windows 인스턴스에서 인스턴스 메타데이터에 대한 HTTP 엔드포인트를 활성화하여 인스턴스 메타데이터에 대한 접근을 허용해야 합니다.

  1. Amazon EC2 콘솔 을 열고 리전을 선택합니다.
  2. 왼쪽 네비게이션에서 인스턴스(Instances)를 선택합니다.
  3. 메타데이터 액세스 활성화가 필요한 인스턴스를 선택합니다.
  4. 작업(Actions) > 인스턴스 설정(Instance settings) > 인스턴스 메타데이터 옵션 수정(Modify instance metadata options) 을 차례로 선택하고 인스턴스 메타데이터 서비스 활성화에 체크 합니다.
  5. 저장을 클릭합니다.

여기에 이미지 설명 입력

   

인스턴스 메타데이터 액세스를 위한 라우팅 경로

AWS에서 제공하는 Windows 공인 AMI로 인스턴스를 시작하는 경우 인스턴스 메타데이터 액세스를 위한 라우팅 경로가 자동으로 올바르게 설정됩니다. 하지만 커스텀 AMI, 특히 Sysprep을 수행하지 않고 생성된 커스텀 AMI(custom AMI)의 경우 인스턴스 메타데이터 액세스를 위한 '169.254.169.254' 주소에 대한 라우팅 경로가 올바르지 않는 게이트웨이와 함께 설정되어 문제를 야기할 수 있습니다.

 

커스텀 AMI로 부터 생성된 EC2 Windows 인스턴스에서 메타데이터에 액세스할 수 있으려면 해당 AMI가 Sysprep을 사용하여 만든 표준화된 이미지여야 합니다.

 

Sysprep을 수행하지 않고 생성된 커스텀 AMI로부터 이미 생성된 EC2 Windows 인스턴스의 경우 다음과 같이 수동으로 라우팅 경로를 설정해 주어야 합니다.

  1. 메타데이터 액세스가 되지 않는 EC2 Windows 인스턴스에 RDP로 연결합니다.
  2. 관리자 권한으로 명령 프롬프트를 실행합니다.
  3. 'Ipconfig /all' 명령을 입력 및 실행하고 기본 게이트웨이(Default Gateway) 주소를 확인합니다.
  4. 다음 명령을 차례로 입력하고 실행합니다. 이때 <default gateway address> 는 앞서 확인한 기본 케이트웨이 주소로 대체합니다.

route print

route delete 169.254.169.254

route -p add 169.254.169.254 mask 255.255.255.255 <default gateway address> metric 15

  1. 'route print' 명령을 다시 실행하여 다음과 같이 영구 경로에 '169.254.169.254' 가 올바른 기본 케이트웨이 주소와 함께 설정되어 있는지 확인합니다.

여기에 이미지 설명 입력

   

프록시 구성

EC2 Windows 인스턴스가 프록시를 사용하여 인터넷에 액세스하는 경우 인스턴스 메타데이터를 위한 '169.254.169.254'는 제외되어야 합니다. 이 주소를 프록시 설정에서 제외하지 않으면 인스턴스 메타데이터에 액세스 할 수 없습니다. 따라서 EC2 Windows 인스턴스에서 프록시 설정을 제거하거나 프록시 설정이 필요한 경우 인스턴스 메타데이터 액세스를 위한 주소를 예외 처리 해야 합니다.

 

Windows OS의 프록시 구성에서 '169.254.169.254' 주소를 제외하는 방법은 다음과 같습니다.

  1. 메타데이터 액세스가 되지 않는 EC2 Windows 인스턴스에 RDP로 연결합니다.
  2. 시작 버튼을 클릭하고 설정 앱을 실행합니다.
  3. 네트워크와 인터넷(Network & Internet)을 클릭하고 오른쪽 네비게이션에서 프록시(Proxy)를 선택합니다.
  4. '수동으로 프록시 설정(Manual proxy setup)' 하위에 설정된 프록시 구성을 확인하고 예외에 '169.254.169.254' 를 입력합니다.
  5. 저장 버튼을 클릭합니다.

여기에 이미지 설명 입력

   

참고

[1] Instance metadata and user data - https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html

[2] Create a standardized Amazon Machine Image (AMI) using Sysprep - https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#ami-create-standard

[3] Use a proxy server in Windows - https://support.microsoft.com/en-us/windows/use-a-proxy-server-in-windows-03096c53-0554-4ffe-b6ab-8b1deee8dae1

profile pictureAWS
지원 엔지니어
게시됨 9달 전309회 조회