

# RDS Proxy のネットワーク前提条件の設定
<a name="rds-proxy-network-prereqs"></a>

 RDS Proxy を使用するには、RDS DB インスタンスと RDS Proxy の間に、共通の仮想プライベートクラウド (VPC) が必要です。この VPC には、異なるアベイラビリティーゾーンにあるサブネットが 2 つ以上必要です。アカウントは、これらのサブネットを所有することも、他のアカウントと共有することもできます。VPC 共有の詳細については、[共有 VPC の操作](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)を参照してください。

IPv6 をサポートするには、追加のネットワーク設定が必要です。
+ **IPv6 エンドポイントネットワークタイプ** – VPC とサブネットは IPv6 をサポートするように設定する必要があります。これには、VPC とサブネットに IPv6 CIDR ブロックを割り当てることが含まれます。
+ **デュアルスタックエンドポイントネットワークタイプ** – VPC とサブネットは IPv4 と IPv6 の両方のアドレス指定をサポートしている必要があります。
+ **IPv6 ターゲット接続ネットワークタイプ** – プロキシからの IPv6 接続をサポートするには、データベースをデュアルスタックモードに設定する必要があります。

Amazon EC2、Lambda、Amazon ECS などのクライアントアプリケーションリソースは、プロキシと同じ VPC に置くことができます。または、プロキシとは別の VPC に置くこともできます。RDS DB インスタンス に正常に接続できた場合は、既に必要なネットワークリソースが存在します。

**Topics**
+ [サブネット情報の取得](#rds-proxy-network-prereqs.subnet-info)
+ [IP アドレス容量の計画](#rds-proxy-network-prereqs.plan-ip-address)

## サブネット情報の取得
<a name="rds-proxy-network-prereqs.subnet-info"></a>

プロキシを作成するには、プロキシが動作するサブネットと VPC を指定する必要があります。次の Linux の例は、AWS アカウント が所有する VPC とサブネットを調べる AWS CLI コマンドを示しています。特に、CLI を使用してプロキシを作成するときは、サブネット ID をパラメータとして渡します。

```
aws ec2 describe-vpcs
aws ec2 describe-internet-gateways
aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort
```

次の Linux の例は、特定の RDS DB インスタンスに対応するサブネット ID を決定する AWS CLI コマンドを示しています。DB インスタンスの VPC ID を見つけます。VPC を調べて、そのサブネットを見つけます。次の Linux の例は、その方法を示しています。

```
$ #From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet IDs.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
...
```

```
$ #From the DB instance, find the VPC.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0].VpcId' --output text
```

```
my_vpc_id
```

```
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=my_vpc_id --query '*[].[SubnetId]' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
subnet_id_4
subnet_id_5
subnet_id_6
```

## IP アドレス容量の計画
<a name="rds-proxy-network-prereqs.plan-ip-address"></a>

RDS Proxy は、登録されている DB インスタンスのサイズと数に基づき、必要に応じて自動的に容量を調整します。特定の操作には、登録されたデータベースのサイズの増加や内部 RDS Proxy メンテナンス操作など、プロキシ容量の追加が必要になる場合もあります。これらのオペレーション中、プロキシは追加の容量をプロビジョニングするため、より多くの IP アドレスを必要とする場合があります。これらの追加アドレスによって、ワークロードに影響を与えずにプロキシを拡張できます。サブネットに空き IP アドレスがない場合、プロキシのスケールアップはできません。そのため、クエリの待ち時間が長くなったり、クライアント接続が失敗したりする可能性があります。サブネットに十分な空きの IP アドレスがないと、RDS はイベント `RDS-EVENT-0243` を通じて通知します。このイベントのフィールドの詳細については、「[RDS Proxy イベントの使用RDS Proxy イベントの使用](rds-proxy.events.md)」を参照してください。

**注記**  
RDS Proxy は、VPC 内の各プロキシで 215 個を超える IP アドレスを使用しません。

DB インスタンスクラスのサイズに基づいて、サブネット内に次の最少数の空き IP アドレスをプロキシ用として予約します。


|  DB インスタンスクラス  |  IP アドレスの最小値  | 
| --- | --- | 
|  db.\$1.xlarge 以下   |  10  | 
|  db.\$1.2xlarge   |  15  | 
|  db.\$1.4xlarge   |  25  | 
|  db.\$1.8xlarge   |  45  | 
|  db.\$1.12xlarge   |  60  | 
|  db.\$1.16xlarge   |  75  | 
|  db.\$1.24xlarge   |  110  | 

これらの推奨 IP アドレス数は、デフォルトのエンドポイントのみを使用するプロキシの推定値です。エンドポイントまたはリードレプリカを追加したプロキシには、さらに多くの空き IP アドレスが必要になる場合があります。エンドポイントを追加するたびに、追加で 3 つの IP アドレスを予約することをお勧めします。各リードレプリカに、そのリードレプリカのサイズに基づき、表に指定された IP アドレスを追加で予約することをお勧めします。