인스턴스 메타데이터 옵션 구성 - Amazon Elastic Compute Cloud

인스턴스 메타데이터 옵션 구성

인스턴스 메타데이터 옵션을 통해 신규 또는 기존 인스턴스를 구성하여 다음과 같이 설정할 수 있습니다.

  • 인스턴스 메타데이터를 요청할 때 IMDSv2를 사용해야 하도록 설정

  • PUT 응답 홉 제한 지정

  • 인스턴스 메타데이터에 대한 액세스 비활성화

또한 IAM 정책 또는 SCP에서 IAM 조건 키를 사용하여 다음과 같이 설정할 수 있습니다.

  • IMDSv2를 사용해야 하도록 구성된 경우에만 인스턴스를 시작하도록 허용

  • 허용된 홉 수 제한

  • 인스턴스 메타데이터에 대한 액세스 비활성화

참고

작업을 조심스럽게 진행해야 하며 무엇이든 변경하기 전에 세심하게 테스트해야 합니다. 다음에 유의하십시오.

  • IMDSv2를 사용해야 하도록 설정하면 인스턴스 메타데이터 액세스에 IMDSv1를 사용하는 애플리케이션이나 에이전트는 중단됩니다.

  • 인스턴스 메타데이터에 대한 모든 액세스를 끄면 인스턴스 메타데이터 액세스를 이용하여 작동하는 애플리케이션이나 에이전트는 중단됩니다.

  • IMDSv2의 경우 토큰을 검색할 때 /latest/api/ 토큰을 사용해야 합니다.

새 인스턴스에 대한 인스턴스 메타데이터 옵션 구성

인스턴스를 시작할 때 인스턴스에서 IMDSv2를 사용해야 하도록 설정할 수 있습니다. 또한 새 인스턴스에서 IMDSv2를 사용해야 하도록 설정되지 않은 경우 사용자가 새 인스턴스를 시작하지 못하게 하는 IAM 정책을 생성할 수 있습니다.

Console

새 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면

  • Amazon EC2 콘솔에서 새 인스턴스를 시작할 때 인스턴스 세부 정보 구성 페이지에서 다음 옵션을 선택합니다.

    • 고급 세부 정보에서 액세스 가능한 메타데이터에 대해 활성화를 선택합니다.

    • 메타데이터 버전의 경우 V2(토큰 필요)를 선택합니다.

자세한 내용은 3단계: 인스턴스 세부 정보 구성 섹션을 참조하세요.

AWS CLI

새 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면

다음 run-instances 예에서는 c3.large--metadata-options로 설정하여 HttpTokens=required 인스턴스를 시작합니다. 또한 HttpTokens의 값을 지정할 때 HttpEndpointenabled로 설정해야 합니다. 메타데이터 검색 요청에 대해 보안 토큰 헤더가 required로 설정되어 있으므로 인스턴스 메타데이터를 요청할 때 인스턴스가 IMDSv2를 사용해야 합니다.

aws ec2 run-instances --image-id ami-0abcdef1234567890 --instance-type c3.large ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"

모든 새 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면

IAM 사용자가 인스턴스 메타데이터 요청 시 IMDSv2를 사용해야 하는 인스턴스만 시작할 수 있도록 하려면 IMDSv2를 사용해야 한다는 조건을 충족한 후에만 인스턴스를 시작할 수 있도록 지정할 수 있습니다. IAM 정책 예제는 인스턴스 메타데이터 작업 단원을 참조하십시오.

Console

인스턴스 메타데이터에 대한 액세스를 끄려면

  • 인스턴스 메타데이터에 대한 액세스를 끄려면 사용 중인 인스턴스 메타데이터 서비스의 버전에 관계없이 인스턴스 세부 정보 구성 페이지에서 다음 옵션을 선택한 상태에서 Amazon EC2 콘솔에서 인스턴스를 시작합니다.

    • 고급 세부 정보에서 액세스 가능한 메타데이터에 대해 비활성화를 선택합니다.

자세한 내용은 3단계: 인스턴스 세부 정보 구성 섹션을 참조하세요.

AWS CLI

인스턴스 메타데이터에 대한 액세스를 끄려면

인스턴스 메타데이터에 대한 액세스를 끄려면 사용 중인 인스턴스 메타데이터 서비스의 버전에 관계없이 --metadata-optionsHttpEndpoint=disabled로 설정하여 인스턴스를 시작합니다. 나중에 modify-instance-metadata-options 명령을 사용하여 액세스를 켤 수 있습니다.

aws ec2 run-instances --image-id ami-0abcdef1234567890 --instance-type c3.large ... --metadata-options "HttpEndpoint=disabled"

기존 인스턴스에 대한 인스턴스 메타데이터 옵션 수정

기존 인스턴스에서 IMDSv2를 사용해야 하도록 설정할 수 있습니다. 또한 PUT 응답 홉 제한을 변경하고 기존 인스턴스의 인스턴스 메타데이터에 대한 액세스를 비활성화할 수 있으며, 사용자가 기존 인스턴스의 인스턴스 메타데이터 옵션을 수정하지 못하도록 하는 IAM 정책을 생성할 수도 있습니다.

현재 AWS SDK 또는 AWS CLI에서는 기존 인스턴스에 대한 인스턴스 메타데이터 옵션 수정을 지원합니다. Amazon EC2 콘솔을 사용하여 인스턴스 메타데이터 옵션을 수정할 수 없습니다.

IMDSv2의 사용하도록 요구하려면

인스턴스 메타데이터 요청 시 IMDSv2를 사용해야 하도록 선택할 수 있습니다. modify-instance-metadata-options CLI 명령을 사용하고 http-tokens 파라미터를 required로 설정합니다. 또한 http-tokens의 값을 지정할 때 http-endpointenabled로 설정해야 합니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens required \ --http-endpoint enabled

PUT 응답 홉 제한을 변경하려면

기존 인스턴스의 경우 PUT 응답 홉 제한에 대한 설정을 변경할 수 있습니다. modify-instance-metadata-options CLI 명령을 사용하고 http-put-response-hop-limit 파라미터를 필요한 홉 수로 설정합니다. 다음 예제에서는 옵 제한이 3으로 설정됩니다. 또한 http-put-response-hop-limit의 값을 지정할 때 http-endpointenabled로 설정해야 합니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-put-response-hop-limit 3 \ --http-endpoint enabled

IMDSv2를 사용하여 인스턴스에서 IMDSv1의 사용을 복원하려면

인스턴스 메타데이터를 요청할 때 http-tokensoptional로 설정된 modify-instance-metadata-options CLI를 사용하여 IMDSv1의 사용을 복원할 수 있습니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens optional \ --http-endpoint enabled

인스턴스 메타데이터에 대한 액세스를 끄려면

사용 중인 인스턴스 메타데이터 서비스의 버전과 상관없이, 인스턴스 메타데이터 서비스의 HTTP 엔드포인트를 비활성화하여 인스턴스 메타데이터에 대한 액세스를 끌 수 있습니다. HTTP 엔드포인트를 활성화하여 언제든지 이 변경을 되돌릴 수 있습니다. modify-instance-metadata-options CLI 명령을 사용하고 http-endpoint 파라미터를 disabled로 설정합니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-endpoint disabled

modify-instance-metadata-options의 사용을 제어하려면

인스턴스 메타데이터 옵션을 수정할 수 있는 IAM 사용자를 제어하려면 지정된 역할을 가진 사용자 이외의 모든 사용자가 ModifyInstanceMetadataOptions API를 사용하지 못하도록 하는 정책을 지정합니다. IAM 정책 예제는 인스턴스 메타데이터 작업 단원을 참조하십시오.