Internet Monitor 고객은 IAM 정책을 사용하여 허용되는 IP 주소 범위를 설정하고, 구성된 범위를 벗어나는 IP 주소가 Internet Monitor API에 액세스하지 못하게 차단합니다.
Internet Monitor API에 액세스하는 internetmonitor.region
.api.aws 엔드포인트는 이중 스택(IPv4 및 IPv6)이 지원되도록 업그레이드되고 있습니다.
IP 주소 필터링 정책이 IPv6 주소를 처리하도록 업데이트되지 않으면 클라이언트가 Internet Monitor API에 대한 액세스 권한을 상실할 수 있습니다.
IPv6로 업그레이드 시 영향을 받는 고객
aws:sourceIp 필터가 포함된 정책이 있는 이중 스택을 사용하는 고객은 이 업그레이드의 영향을 받습니다. 이중 스택이란 네트워크에서 IPv4와 IPv6를 모두 지원한다는 의미입니다.
이중 스택을 사용하는 경우 현재 IPv4 형식 주소로 구성된 IAM 정책을 업데이트하여 IPv6 형식 주소를 포함해야 합니다.
다음은 시나리오에 따른 권장 조치를 요약한 것입니다. SDK에서 사용하는 엔드포인트를 확인하려면 코드에서 사용하는 Internet Monitor 엔드포인트 식별을 참조하세요.
엔드포인트 | aws:sourceIp 조건으로 IAM 정책을 사용하시나요? |
권장 조치 |
---|---|---|
|
예 |
IPv4에 대한 액세스만 제한하려면 추가 조치를 취하지 마세요. 또는 향후에 IPv6 지원이 필요할 것으로 예상하는 경우 IPv4 및 IPv6 모두와 호환성이 확보되는 조치를 취할 수 있습니다. 향후 호환성을 확보하려면 2024년 11월 1일 당일 또는 이후에 SDK를 업데이트한 다음에 IPv4와 IPv6를 모두 사용하기로 선택하는 경우 IPv6 주소가 포함되도록 IAM 정책의 IP 주소 필터링 조건( |
|
No |
IPv4에 대한 액세스만 제한하려면 추가 조치를 취하지 마세요. 또는 향후에 IPv6 지원이 필요할 것으로 예상하는 경우 IPv4 및 IPv6 모두와 호환성이 확보되는 조치를 취할 수 있습니다. 향후 호환성을 확보하려면 2024년 11월 1일 당일 또는 이후에 SDK를 업데이트한 다음에 |
|
예 |
현재 이 엔드포인트에서는 IPV4만 지원합니다. 2024년 11월 1일에 이 엔드포인트에서 IPv6가 활성화됩니다. IPv4 및 IPv6 모두와 향후 호환성을 확보하려면 2024년 11월 1일 당일 또는 이후에 SDK를 업데이트한 다음에 IPv4와 IPv6를 모두 사용하도록 변경하는 경우 IPv6 주소가 포함되도록 IAM 정책의 IP 주소 필터링 조건( 그 대신에 IPv4에 대한 액세스만 제한하려면 |
|
No |
현재 이 엔드포인트에서는 IPV4만 지원합니다. 2024년 11월 1일에 이 엔드포인트에서 IPv6가 활성화됩니다. IPv4 및 IPv6 모두와 향후 호환성을 확보하려면 2024년 11월 1일 당일 또는 이후에 SDK를 업데이트한 다음에 그 대신에 IPv4에 대한 액세스만 제한하려면 |
액세스 문제에 대한 도움이 필요하면 지원
IPv6란?
IPv6는 결국에는 IPv4를 대체하기 위해 개발된 차세대 IP 표준입니다. IPv4에서는 32비트 주소 지정 체계를 사용하여 43억 개의 디바이스를 지원합니다. IPv6에서는 128비트 주소 지정 체계를 사용하여 약 340조(또는 2의 128승) 개의 디바이스를 지원합니다.
IPv6 주소의 예는 다음과 같습니다.
2001:cdba:0000:0000:0000:0000:3257:9652
2001:cdba:0:0:0:0:3257:9652
2001:cdba::3257:965
IPv6에서는 더 큰 주소 공간, 향상된 라우팅 효율성, 새로운 인터넷 서비스에 대한 더 나은 지원이 제공됩니다. 이중 스택으로 업데이트하고 IPv6를 지원하면 Internet Monitor의 성능과 확장성이 향상될 수 있습니다. 이 섹션의 단계에 따라 구성을 업데이트하고 이중 스택 지원을 활용하세요.
코드에 사용되는 Internet Monitor 엔드포인트 식별
Internet Monitor SDK를 사용하는 경우 먼저 코드에서 사용하는 엔드포인트 (IPv4 엔드포인트 또는 이중 스택(IPv4 및 IPv6) 엔드포인트)부터 확인하세요. Internet Monitor와 함께 SDK를 사용하지 않는다면 이 섹션을 건너뛰어도 됩니다.
다음 코드 예제를 실행하여 사용 중인 Internet Monitor 엔드포인트를 파악할 수 있습니다. 이 예제에서는 미국 동부(버지니아 북부) 리전에서 Internet Monitor SDK for Go를 사용하고 있습니다.
package main
import (
"fmt"
"log"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/internetmonitor"
)
func main() {
// Create a new session with the default configuration
sess := session.Must(session.NewSession(&aws.Config{
Region: aws.String("us-east-1"),
}))
// Create a new Internet Monitor client
internetMonitorClient := internetmonitor.New(sess)
// Get the endpoint URL
endpoint := internetMonitorClient.Endpoint
fmt.Printf("Internet Monitor endpoint URL: %s\n", endpoint)
}
이 코드를 실행하면 Internet Monitor 엔드포인트가 반환됩니다. 다음 응답이 표시되면 IPv4만 지원하는 Internet Monitor 도메인을 사용하고 있는 것입니다. 엔드포인트 URL의 형식에 amazonaws.com
이 포함되기 때문에 알 수 있습니다.
Internet Monitor endpoint URL: https://internetmonitor.us-east-1.amazonaws.com
그 대신에 다음 응답이 표시되는 경우에는 이중 스택(IPv4 및 IPv6)을 지원하도록 업그레이드 중인 도메인을 사용하고 있는 것입니다. 여기에서는 엔드포인트 URL에 api.aws
가 포함되기 때문에 알 수 있습니다. 그러나 업그레이드가 완료될 때까지 이 엔드포인트에서는 IPv4만 지원된다는 점을 유의하세요.
Internet Monitor endpoint URL: https://internetmonitor.us-east-1.api.aws
IPv6에 대한 IAM 정책 업데이트
IAM 정책에서는 aws:SourceIp
필터를 사용하여 허용되는 IP 주소 범위를 설정합니다.
이중 스택에서는 IPv4 및 IPv6 트래픽이 모두 지원됩니다. 네트워크에서 이중 스택을 사용하는 경우 IP 주소 필터링에 사용되는 IAM 정책이 IPv6 주소 범위를 포함하도록 업데이트해야 합니다.
예를 들어, 이 정책에서는 Condition
요소에서 식별되는 IPv4 주소 범위 192.0.2.0.*
및 203.0.113.0.*
가 허용됩니다.
# https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"*aws:SourceIp*": [
"*192.0.2.0/24*",
"*203.0.113.0/24*"
]
},
"Bool": {
"aws:ViaAWSService": "false"
}
}
}
}
이 정책을 업데이트하기 위해 다음 예제에서 보이듯이 정책의 Condition
요소를 변경하여 IPv6 주소 범위를 추가하겠습니다.
"Condition": { "NotIpAddress": { "*aws:SourceIp*": [ "*192.0.2.0/24*", <<Existing IPv4 address - DO NOT REMOVE>> "*203.0.113.0/24*", <<Existing IPv4 address - DO NOT REMOVE>> "
*2001:DB8:1234:5678::/64*
", <<New IPv6 IP address>> "*2001:cdba:3257:8593::/64*
" <<New IPv6 IP address>> ] }, "Bool": { "aws:ViaAWSService": "false" } }
중요
정책에서 기존 IPv4 주소를 제거하지 마세요. 이전 버전과의 호환성을 위해 필요합니다.
IAM을 사용한 액세스 권한 관리에 대한 자세한 내용은 AWS Identity and Access Management IAM 사용 설명서의 관리형 정책과 인라인 정책을 참조하세요.
정책 업데이트 후 네트워크 테스트
IPv6 주소 지원이 포함되도록 IAM 정책을 업데이트한 후에는 네트워크에서 IPv6 엔드포인트에 액세스할 수 있는지 테스트하는 것이 좋습니다. 이 섹션에서는 사용하는 운영 체제에 따라 몇 가지 예제를 제공합니다.
Linux/Unix 또는 Mac OS X으로 네트워크 테스트
Linux/Unix 또는 Mac OS X을 사용하는 경우 다음 curl 명령을 사용하여 네트워크에서 IPv6 엔드포인트에 액세스할 수 있는지 테스트할 수 있습니다.
curl -v -s -o /dev/null http://ipv6.ec2-reachability.amazonaws.com/
IPv6을 통해 연결되는 경우 연결된 IP 주소에 다음과 비슷한 정보가 표시됩니다.
* About to connect() to aws.amazon.com port 443 (#0)
* Trying IPv6 address... connected
* Connected to aws.amazon.com (IPv6 address) port 443 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.18.1 (x86_64-unknown-linux-gnu) libcurl/7.18.1 OpenSSL/1.0.1t zlib/1.2.3
> Host: aws.amazon.com
Windows로 네트워크 테스트
Windows를 사용하는 경우, 다음과 같은 ping
명령을 사용하여 네트워크에서 IPv6 또는 IPv4를 통해 이중 스택 엔드포인트에 액세스할 수 있는지 테스트할 수 있습니다.
ping aws.amazon.com
ping
에서 IPv6를 통해 엔드포인트에 액세스하는 경우 명령에서 IPv6 주소가 반환됩니다.
클라이언트에서 IPv6를 지원할 수 있는지 확인
internetmonitor.{region}.api.aws 엔드포인트 사용으로 전환하기 전에 이미 IPv6를 사용하는 다른 AWS 서비스 엔드포인트에 클라이언트에서 액세스할 수 있는지 먼저 확인하는 것이 좋습니다. 자세한 내용은 이중 스택 및 FIPS 엔드포인트를 참조하세요.
이 예제에서는 Linux와 curl 버전 8.6.0을 사용하고, api.aws 도메인에 IPv6 사용 엔드포인트가 있는 Amazon Athena 서비스를 사용합니다.
참고
클라이언트가 있는 동일한 리전으로 AWS 리전을 전환합니다. 이 예제에서는 미국 동부(버지니아 북부) – us-east-1
엔드포인트를 사용합니다.
다음 예제를 사용하여 클라이언트에서 IPv6 AWS 사용 엔드포인트에 액세스할 수 있는지 확인합니다.
-
다음 명령을 사용하여 Athena 엔드포인트가 IPv6 주소로 환원되는지 확인합니다.
dig +short AAAA athena.us-east-1.api.aws 2600:1f18:e2f:4e05:1a8a:948e:7c08:d2d6 2600:1f18:e2f:4e03:4a1e:83b0:8823:4ce5 2600:1f18:e2f:4e04:34c3:6e9a:2b0d:dc79
-
이제 다음 명령을 사용하여 클라이언트 네트워크에서 IPv6를 사용하여 연결할 수 있는지 파악합니다.
curl --ipv6 -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://athena.us-east-1.api.aws remote ip: 2600:1f18:e2f:4e05:1a8a:948e:7c08:d2d6 response code: 404
원격 IP 주소가 식별되었으며 응답 코드가
0
이 아닌 경우 IPv6를 사용하여 엔드포인트에 네트워크가 성공적으로 연결되었습니다.원격 IP 주소가 비어 있거나 응답 코드가
0
인 경우 클라이언트 네트워크 또는 엔드포인트에 대한 네트워크 경로는 IPv4 전용입니다. 다음 curl 명령으로 이를 확인할 수 있습니다.curl -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://athena.us-east-1.api.aws remote ip: 3.210.103.49 response code: 404
이 명령을 실행했고, 원격 IP 주소가 식별되었으며 응답 코드가
0
이 아닌 경우 IPv4를 사용하여 엔드포인트에 네트워크가 성공적으로 연결되었습니다.