Amazon RDS Data API での IPv6 の使用 - Amazon Aurora

Amazon RDS Data API での IPv6 の使用

Amazon RDS Data API は、デュアルスタックエンドポイントを介した IPv6 接続をサポートしています。これにより、IPv4 との下位互換性を維持しながら、IPv6 アドレスを使用して Data API に接続できます。

IPv6 エンドポイントのサポート

Data 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 エンドポイントの使用

Data API で IPv6 を使用するには、新しいデュアルスタックエンドポイントを使用するようにアプリケーションを更新します。アプリケーションは、使用可能な場合は IPv6 を自動的に使用し、使用できない場合は IPv4 にフォールバックします。

VPC で IPv6 を設定する一般的なガイダンスについては、「Amazon VPC ユーザーガイド」の「IPv6 への移行」を参照してください。

IPv6 エンドポイントは、次の 2 つの方法で設定できます。

  • 環境変数の使用: IPv6 環境で AWS_USE_DUALSTACK_ENDPOINT=true を設定します。AWS CLI および AWS SDK では、エンドポイント URL を手動で指定する必要はなく、適切な api.aws エンドポイントが自動で構築されます。

  • 明示的 URL の使用: 以下の例に示すように、AWS CLI コマンドまたは SDK 設定でデュアルスタックのエンドポイント URL を直接指定します。

エンドポイント URL を指定して、IPv6 エンドポイントを使用するように AWS CLI を設定します。

Linux、macOS、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 接続をサポートする Data API の VPC エンドポイントを作成できます。Data API の VPC エンドポイントを作成する詳細な手順については、「Amazon RDS Data API (AWS PrivateLink) の Amazon VPC エンドポイントの作成」を参照してください。

IPv6 サポート用の VPC エンドポイントを作成するときは、次の点を確認してください。

  • VPC とサブネットは、IPv6 をサポートするように設定されています

  • セキュリティグループは、必要なポートで IPv6 トラフィックを許可します (通常、HTTPS の場合は 443)

  • ネットワーク ACL は IPv6 トラフィックを許可するように設定されています

移行に関する考慮事項

IPv6 エンドポイントに移行するときは、次の点を考慮してください。

  • 段階的な移行: エンドポイント URL を一度に 1 つのアプリケーションごとに更新することで、アプリケーションを段階的に移行できます。

  • ネットワークの互換性: 移行する前に、ネットワークインフラストラクチャが IPv6 をサポートしていることを確認します。

  • セキュリティポリシー: 必要に応じて、セキュリティグループルールとネットワーク ACL を更新して IPv6 トラフィックを許可します。

  • モニタリング: IPv6 アドレスを処理するようにモニタリングとログ記録の設定を更新します。

注記

データベース接続アドレス: Data API に IPv6 エンドポイントを使用する場合、基盤となるデータベース接続とデータベースログには IPv4 アドレスが引き続き表示されます。これは想定される動作であり、IPv6 対応アプリケーションの機能には影響しません。

IPv6 接続のトラブルシューティング

IPv6 接続に問題がある場合は、以下を確認してください。

ネットワーク構成

ネットワークが IPv6 をサポートし、IPv6 ルーティングが正しく設定されていることを確認します。

DNS 解決

DNS リゾルバーがデュアルスタックエンドポイントの AAAA レコードを解決できることを確認します。

セキュリティグループ

セキュリティグループのルールを更新して、必要なポート (通常、HTTPS の場合は 443) で IPv6 トラフィックを許可します。

クライアントライブラリ

HTTP クライアントライブラリが IPv6 およびデュアルスタック接続をサポートしていることを確認します。