Amazon RDS Data API에서 IPv6 사용 - Amazon Aurora

Amazon RDS Data API에서 IPv6 사용

Amazon RDS Data API는 듀얼 스택 엔드포인트를 통한 IPv6 연결을 지원합니다. 이를 통해 IPv4와의 이전 버전과의 호환성을 유지하면서 IPv6 주소를 사용하여 데이터 API에 연결할 수 있습니다.

IPv6 엔드포인트 지원

데이터 API는 IPv4 및 IPv6 연결을 모두 지원하는 듀얼 스택 엔드포인트를 제공합니다. 이러한 엔드포인트는 기존 .aws 도메인 대신 .amazonaws.com 도메인을 사용합니다.

사용 가능한 엔드포인트 유형

퍼블릭 듀얼 스택 엔드포인트

형식: rds-data.region.api.aws

예시: rds-data.us-east-1.api.aws

FIPS 듀얼 스택 엔드포인트

형식: rds-data-fips.region.api.aws

예시: rds-data-fips.us-east-1.api.aws

PrivateLink IPv6 엔드포인트

IPv6를 지원하는 VPC 엔드포인트를 통해 사용 가능

VPC 내에서 프라이빗 IPv6 연결 허용

레거시 IPv4 전용 엔드포인트

기존 .amazonaws.com 엔드포인트는 IPv4 전용 연결을 계속 지원합니다.

  • rds-data.region.amazonaws.com

  • rds-data-fips.region.amazonaws.com

참고

레거시 엔드포인트는 기존 애플리케이션과의 이전 버전과의 호환성을 보장하기 위해 변경되지 않습니다.

IPv6 엔드포인트 사용

데이터 API와 함께 IPv6를 사용하려면 새 듀얼 스택 엔드포인트를 사용하도록 애플리케이션을 업데이트합니다. 사용 가능한 경우, 애플리케이션은 자동으로 IPv6를 사용하거나 IPv4로 돌아갑니다.

VPC에서 IPv6를 설정하는 방법에 대한 일반적인 지침은 Amazon VPC 사용 설명서 IPv6로 마이그레이션을 참조하세요.

다음 두 가지 방법으로 IPv6 엔드포인트를 구성할 수 있습니다.

  • 환경 변수 사용: IPv6 환경에서 AWS_USE_DUALSTACK_ENDPOINT=true를 설정합니다. AWS CLI 및 AWS SDK는 api.aws 엔드포인트 URL을 수동으로 지정할 필요 없이 적절한 엔드포인트를 자동으로 구성합니다.

  • 명시적 엔드포인트 URL 사용: 아래 예제와 같이 AWS CLI 명령 또는 SDK 구성에서 직접 듀얼 스택 엔드포인트 URL을 지정합니다.

엔드포인트 URL을 지정하여 IPv6 엔드포인트를 사용하도록 AWS CLI를 구성합니다.

대상 LinuxmacOS, 또는Unix:

aws rds-data execute-statement \ --endpoint-url https://rds-data.us-east-1.api.aws \ --resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster" \ --secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret" \ --database "mydb" \ --sql "SELECT * FROM users LIMIT 10"

Windows의 경우:

aws rds-data execute-statement ^ --endpoint-url https://rds-data.us-east-1.api.aws ^ --resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster" ^ --secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret" ^ --database "mydb" ^ --sql "SELECT * FROM users LIMIT 10"

듀얼 스택 엔드포인트를 사용하도록 AWS SDK를 구성합니다.

Python
import boto3 # Create RDS Data API client with IPv6 dual-stack endpoint client = boto3.client( 'rds-data', endpoint_url='https://rds-data.us-east-1.api.aws' ) # Execute a SQL statement response = client.execute_statement( resourceArn='arn:aws:rds:us-east-1:123456789012:cluster:my-cluster', secretArn='arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret', database='mydb', sql='SELECT * FROM users LIMIT 10' ) print(response['records'])
Java
import software.amazon.awssdk.services.rdsdata.RdsDataClient; import software.amazon.awssdk.services.rdsdata.model.ExecuteStatementRequest; import software.amazon.awssdk.services.rdsdata.model.ExecuteStatementResponse; import java.net.URI; // Create RDS Data API client with IPv6 dual-stack endpoint RdsDataClient client = RdsDataClient.builder() .endpointOverride(URI.create("https://rds-data.us-east-1.api.aws")) .build(); // Execute a SQL statement ExecuteStatementRequest request = ExecuteStatementRequest.builder() .resourceArn("arn:aws:rds:us-east-1:123456789012:cluster:my-cluster") .secretArn("arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret") .database("mydb") .sql("SELECT * FROM users LIMIT 10") .build(); ExecuteStatementResponse response = client.executeStatement(request); System.out.println(response.records());
JavaScript
const { RDSDataClient, ExecuteStatementCommand } = require("@aws-sdk/client-rds-data"); // Create RDS Data API client with IPv6 dual-stack endpoint const client = new RDSDataClient({ endpoint: "https://rds-data.us-east-1.api.aws" }); // Execute a SQL statement const command = new ExecuteStatementCommand({ resourceArn: "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster", secretArn: "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret", database: "mydb", sql: "SELECT * FROM users LIMIT 10" }); const response = await client.send(command); console.log(response.records);

VPC 내에서 IPv6 연결을 지원하는 데이터 API용 VPC 엔드포인트를 생성할 수 있습니다. 데이터 API용 VPC 엔드포인트 생성에 대한 자세한 지침은 Amazon RDS Data API에 대한 Amazon VPC 엔드포인트(AWS PrivateLink) 만들기 섹션을 참조하세요.

IPv6 지원을 위한 VPC 엔드포인트를 생성할 때 다음을 확인합니다.

  • VPC 및 서브넷은 IPv6을 지원하도록 구성됩니다.

  • 보안 그룹은 필요한 포트에서 IPv6 트래픽을 허용합니다(일반적으로 HTTPS의 경우 443).

  • 네트워크 ACL IPv6 트래픽을 허용하도록 구성됩니다.

마이그레이션 고려 사항

IPv6 엔드포인트로 마이그레이션할 때는 다음 사항을 고려하세요.

  • 점진적 마이그레이션: 엔드포인트 URL 한 번에 한 애플리케이션씩 업데이트하여 애플리케이션을 점진적으로 마이그레이션할 수 있습니다.

  • 네트워크 호환성: 마이그레이션하기 전에 네트워크 인프라가 IPv6를 지원하는지 확인합니다.

  • 보안 정책: 필요한 경우 IPv6 트래픽을 허용하도록 보안 그룹 규칙 및 네트워크 ACL을 업데이트합니다.

  • 모니터링: IPv6 주소를 처리하도록 모니터링 및 로깅 구성을 업데이트합니다.

참고

데이터베이스 연결 주소: 데이터 API에 IPv6 엔드포인트를 사용하는 경우 기본 데이터베이스 연결 및 데이터베이스 로그에 여전히 IPv4 주소가 표시됩니다. 이는 예상되는 동작이며 IPv6 지원 애플리케이션의 기능에 영향을 주지 않습니다.

IPv6 연결 문제 해결

IPv6 연결에 문제가 있는 경우 다음을 확인하세요.

네트워크 구성

네트워크가 IPv6를 지원하고 IPv6 라우팅이 올바르게 구성되었는지 확인합니다.

DNS 확인

DNS 해석기가 듀얼 스택 엔드포인트에 대한 AAAA 레코드를 확인할 수 있는지 확인합니다.

보안 그룹

필요한 포트(일반적으로 HTTPS의 경우 443)에서 IPv6 트래픽을 허용하도록 보안 그룹 규칙을 업데이트합니다.

클라이언트 라이브러리

HTTP 클라이언트 라이브러리가 IPv6 및 듀얼 스택 연결을 지원하는지 확인합니다.