기존 인스턴스에 대한 인스턴스 메타데이터 옵션 수정
기존 인스턴스에 대한 인스턴스 메타데이터 옵션을 수정할 수 있습니다.
사용자가 기존 인스턴스의 인스턴스 메타데이터 옵션을 수정하지 못하도록 하는 IAM 정책을 생성할 수도 있습니다. 인스턴스 메타데이터 옵션을 수정할 수 있는 사용자를 제어하려면 지정된 역할을 가진 사용자 이외의 모든 사용자가 ModifyInstanceMetadataOptions API를 사용하지 못하게 하는 정책을 지정합니다. IAM 정책 예제는 인스턴스 메타데이터 작업 섹션을 참조하세요.
IMDSv2의 사용 요구
인스턴스 메타데이터를 요청할 때 IMDSv2를 사용하도록 하려면 다음 방법 중 하나를 사용하여 기존 인스턴스의 인스턴스 메타데이터 옵션을 수정합니다. IMDSv2가 필요한 경우 IMDSv1을 사용할 수 없습니다.
IMDSv2를 사용하도록 요구하기 전에 인스턴스가 IMDSv1을 직접 호출하지 않는지 확인합니다. MetadataNoToken
CloudWatch 지표는 IMDSv1 직접 호출을 추적합니다. MetadataNoToken
에서 인스턴스의 IMDSv1 사용량을 0으로 기록하면 해당 인스턴스에서 IMDSv2를 요구할 준비가 된 것입니다.
- Console
-
기존 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
탐색 창에서 인스턴스를 선택합니다.
-
인스턴스를 선택합니다.
-
작업, 인스턴스 설정, 인스턴스 메타데이터 옵션 수정을 차례로 선택합니다.
-
인스턴스 메타데이터 옵션 수정 대화 상자에서 다음을 수행합니다.
-
인스턴스 메타데이터 서비스에서 활성화를 선택합니다.
-
IMDSv2의 경우 필수를 선택합니다.
-
Save(저장)를 선택합니다.
- AWS CLI
-
기존 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면
modify-instance-metadata-options CLI 명령을 사용하고 http-tokens
파라미터를 required
로 설정합니다. 또한 http-tokens
의 값을 지정할 때 http-endpoint
를 enabled
로 설정해야 합니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-tokens required \
--http-endpoint enabled
- PowerShell
-
기존 인스턴스에서 IMDSv2를 사용해야 하도록 설정하려면
Edit-EC2InstanceMetadataOption Cmdlet을 사용하고 HttpTokens
파라미터를 required
(으)로 설정합니다. 또한 HttpTokens
의 값을 지정할 때 HttpEndpoint
를 enabled
로 설정해야 합니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpTokens required `
-HttpEndpoint enabled).InstanceMetadataOptions
IMDSv1 사용 복원
IMDSv2가 필수인 경우 인스턴스 메타데이터를 요청할 때 IMDSv1이 작동하지 않습니다. IMDSv2가 선택 사항인 경우 IMDSv2와 IMDSv1이 모두 작동합니다. 따라서 IMDSv1을 복원하려면 다음 방법 중 하나를 사용하여 IMDSv2를 선택 사항으로 지정합니다.
- Console
-
인스턴스에서 IMDSv1 사용을 복원하려면
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
탐색 창에서 인스턴스를 선택합니다.
-
인스턴스를 선택합니다.
-
작업, 인스턴스 설정, 인스턴스 메타데이터 옵션 수정을 차례로 선택합니다.
-
인스턴스 메타데이터 옵션 수정 대화 상자에서 다음을 수행합니다.
-
인스턴스 메타데이터 서비스의 경우 활성화가 선택되어 있는지 확인합니다.
-
IMDSv2의 경우 선택 사항을 선택합니다.
-
Save(저장)를 선택합니다.
- AWS CLI
-
인스턴스에서 IMDSv1 사용을 복원하려면
인스턴스 메타데이터를 요청할 때 http-tokens
가 optional
로 설정된 modify-instance-metadata-options CLI를 사용하여 IMDSv1의 사용을 복원할 수 있습니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-tokens optional \
--http-endpoint enabled
- PowerShell
-
인스턴스에서 IMDSv1 사용을 복원하려면
Edit-EC2InstanceMetadataOption Cmdlet을 사용하되 HttpTokens
을(를) optional
(으)로 설정하여 인스턴스 메타데이터를 요청할 때 IMDSv1 사용을 복원할 수 있습니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpTokens optional `
-HttpEndpoint enabled).InstanceMetadataOptions
PUT 응답 홉 제한 변경
기존 인스턴스의 경우 PUT
응답 홉 제한에 대한 설정을 변경할 수 있습니다.
현재는 AWS CLI 및 AWS SDK만 PUT 응답 홉 제한 변경을 지원합니다.
- AWS CLI
-
PUT 응답 홉 제한을 변경하려면
modify-instance-metadata-options CLI 명령을 사용하고 http-put-response-hop-limit
파라미터를 필요한 홉 수로 설정합니다. 다음 예제에서는 옵 제한이 3
으로 설정됩니다. 또한 http-put-response-hop-limit
의 값을 지정할 때 http-endpoint
를 enabled
로 설정해야 합니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-put-response-hop-limit 3
\
--http-endpoint enabled
- PowerShell
-
PUT 응답 홉 제한을 변경하려면
Edit-EC2InstanceMetadataOption Cmdlet을 사용하고 HttpPutResponseHopLimit
매개 변수를 필요한 홉 수로 설정합니다. 다음 예제에서는 옵 제한이 3
으로 설정됩니다. 또한 HttpPutResponseHopLimit
의 값을 지정할 때 HttpEndpoint
를 enabled
로 설정해야 합니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpPutResponseHopLimit 3 `
-HttpEndpoint enabled).InstanceMetadataOptions
IMDS IPv4 및 IPv6 엔드포인트 활성화
IMDS에는 인스턴스에 IPv4(169.254.169.254
) 및 IPv6([fd00:ec2::254]
)이라는 두 개의 엔드포인트가 있습니다. IMDS를 활성화하면 IPv4 엔드포인트가 자동으로 활성화됩니다. IPv6 전용 서브넷으로 인스턴스를 시작하는 경우에도 IPv6 엔드포인트는 비활성화된 상태로 유지됩니다. IPv6 엔드포인트를 활성화하려면 명시적으로 활성화해야 합니다. IPv6 엔드포인트가 활성화되면 IPv4 엔드포인트는 활성화된 상태로 유지됩니다.
인스턴스 시작 시 또는 이후에 IPv6 엔드포인트를 활성화할 수 있습니다.
현재는 AWS CLI 및 AWS SDK만 인스턴스 후 IPv6 엔드포인트 활성화를 지원합니다.
- AWS CLI
-
인스턴스에 대해 IMDS IPv6 엔드포인트를 활성화하는 방법
modify-instance-metadata-options CLI 명령을 사용하고 http-protocol-ipv6
파라미터를 enabled
로 설정합니다. 또한 http-protocol-ipv6
의 값을 지정할 때 http-endpoint
를 enabled
로 설정해야 합니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-protocol-ipv6 enabled \
--http-endpoint enabled
- PowerShell
-
인스턴스에 대해 IMDS IPv6 엔드포인트를 활성화하는 방법
Edit-EC2InstanceMetadataOption Cmdlet을 사용하고 HttpProtocolIpv6
파라미터를 enabled
(으)로 설정합니다. 또한 HttpProtocolIpv6
의 값을 지정할 때 HttpEndpoint
를 enabled
로 설정해야 합니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpProtocolIpv6 enabled `
-HttpEndpoint enabled).InstanceMetadataOptions
사용 중인 IMDS 버전에 관계없이 인스턴스에서 IMDS의 HTTP 엔드포인트를 활성화하여 인스턴스 메타데이터에 대한 액세스를 사용 설정할 수 있습니다. HTTP 엔드포인트를 비활성화하여 언제든지 이 변경을 되돌릴 수 있습니다.
인스턴스에서 인스턴스 메타데이터에 대한 액세스를 사용 설정하려면 다음 방법 중 하나를 사용합니다.
- Console
-
- AWS CLI
-
인스턴스 메타데이터에 대한 액세스를 활성화하려면
modify-instance-metadata-options CLI 명령을 사용하고 http-endpoint
파라미터를 enabled
로 설정합니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-endpoint enabled
- PowerShell
-
인스턴스 메타데이터에 대한 액세스를 활성화하려면
Edit-EC2InstanceMetadataOption Cmdlet을 사용하고 HttpEndpoint
파라미터를 enabled
(으)로 설정합니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpEndpoint enabled).InstanceMetadataOptions
사용 중인 IMDS 버전에 관계없이 인스턴스에서 IMDS의 HTTP 엔드포인트를 비활성화하여 인스턴스 메타데이터에 대한 액세스를 비활성화할 수 있습니다. HTTP 엔드포인트를 활성화하여 언제든지 이 변경을 되돌릴 수 있습니다.
인스턴스에서 인스턴스 메타데이터에 대한 액세스를 비활성화하려면 다음 방법 중 하나를 사용합니다.
- Console
-
- AWS CLI
-
인스턴스 메타데이터에 대한 액세스를 끄려면
modify-instance-metadata-options CLI 명령을 사용하고 http-endpoint
파라미터를 disabled
로 설정합니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-1234567898abcdef0
\
--http-endpoint disabled
- PowerShell
-
인스턴스 메타데이터에 대한 액세스를 끄려면
Edit-EC2InstanceMetadataOption Cmdlet을 사용하고 HttpEndpoint
파라미터를 disabled
(으)로 설정합니다.
(Edit-EC2InstanceMetadataOption `
-InstanceId i-1234567898abcdef0
`
-HttpEndpoint disabled).InstanceMetadataOptions