

# Amazon VPC と Amazon RDS
<a name="USER_VPC"></a>

Amazon Virtual Private Cloud (Amazon VPC) を使用すると、Amazon RDS DB インスタンスなどの AWS リソースを仮想プライベートクラウド (VPC) で起動できます。

VPC を使用する場合、仮想ネットワーキング環境を制御できます。独自の IP アドレスの範囲を選択し、サブネットを作成してルーティングおよびアクセス制御リストを設定できます。VPC で DB インスタンスを実行するために、追加料金はかかりません。

アカウントにはデフォルト VPC があります。新しいすべての DB インスタンスは、特に指定がない限り、デフォルトの VPC 内に作成されます。

**Topics**
+ [

# VPC 内の DB インスタンスの使用
](USER_VPC.WorkingWithRDSInstanceinaVPC.md)
+ [

# DB インスタンスの VPC の更新
](USER_VPC.VPC2VPC.md)
+ [

# VPC の DB インスタンスにアクセスするシナリオ
](USER_VPC.Scenarios.md)
+ [

# チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)
](CHAP_Tutorials.WebServerDB.CreateVPC.md)
+ [

# チュートリアル: DB インスタンス用の VPC を作成する (デュアルスタックモード)
](CHAP_Tutorials.CreateVPCDualStack.md)
+ [

# VPC 外の DB インスタンスを VPC 内に移行する
](USER_VPC.Non-VPC2VPC.md)

以下に、Amazon RDS DB インスタンス に関連する VPC の機能について説明します。Amazon VPC の詳細については、[Amazon VPC 入門ガイド](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/)および[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)を参照してください。

# VPC 内の DB インスタンスの使用
<a name="USER_VPC.WorkingWithRDSInstanceinaVPC"></a>

DB インスタンスは仮想プライベートクラウド (VPC) 内にあります。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離された仮想ネットワークです。Amazon VPC では、Amazon RDS DB インスタンスや Amazon EC2 インスタンスなど、AWS リソースを VPC で起動できます。VPC は、自分のアカウントに属するデフォルト VPC を使用するか、独自に作成することもできます。すべての VPC は、AWS アカウントに関連付けられます。

デフォルト VPC には、VPC 内でリソースを隔離するために使用できる 3 つのサブネットがあります。デフォルト VPC には、VPC 外から VPC 内のリソースへのアクセスを可能にするインターネットゲートウェイもあります。

VPC 内と VPC 外の Amazon Aurora DB クラスターが関係するシナリオのリストについては、「[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md)」を参照してください。

**Topics**
+ [

## VPC 内の DB インスタンスの使用
](#Overview.RDSVPC.Create)
+ [

## VPC 暗号化コントロール
](#USER_VPC.EncryptionControl)
+ [

## DB サブネットグループの使用
](#USER_VPC.Subnets)
+ [

## 共有サブネット
](#USER_VPC.Shared_subnets)
+ [

## Amazon RDS IP アドレス指定
](#USER_VPC.IP_addressing)
+ [

## VPC 内の DB インスタンスをインターネットから隠す
](#USER_VPC.Hiding)
+ [

## VPC に DB インスタンスを作成する
](#USER_VPC.InstanceInVPC)

以下のチュートリアルでは、一般的な Amazon RDS 状況で使用できる VPC の作成方法を学ぶことができます。
+ [チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)](CHAP_Tutorials.WebServerDB.CreateVPC.md)
+ [チュートリアル: DB インスタンス用の VPC を作成する (デュアルスタックモード)](CHAP_Tutorials.CreateVPCDualStack.md)

## VPC 内の DB インスタンスの使用
<a name="Overview.RDSVPC.Create"></a>

次に、VPC の DB インスタンスの使用に関するヒントを紹介します。
+ VPC では、少なくとも 2 つのサブネットを指定する必要があります。これらのサブネットは、DB インスタンスをデプロイする AWS リージョン 内の 2 つの異なるアベイラビリティーゾーンに存在している必要があります。*サブネット*は、VPC の IP アドレス範囲の指定可能なセグメントで、セキュリティや運用上のニーズに基づいて DB インスタンスをグループ化することができます。

  マルチ AZ 配置の場合、AWS リージョン 内の 2 つ以上のアベイラビリティーゾーンにサブネットを定義すると、Amazon RDS は必要に応じて別のアベイラビリティーゾーンに新しいスタンバイを作成できるようになります。シングル AZ 配置の場合も、どこかの時点でマルチ AZ 配置に変換する場合に備えてこのように定義してください。
**注記**  
ローカルゾーンの DB サブネットグループは、サブネットを 1 つだけ持つことができます。
+ VPC の DB インスタンスをパブリックにアクセス可能にする場合は、VPC 属性の *DNS hostnames* と *DNS resolution* を有効にしてください。
+ ご利用の VPC では、DB サブネットグループを作成する必要があります。DB サブネットグループを作成するには、作成したサブネットを指定します。Amazon RDS は、サブネットとそのサブネットグループ内の IP アドレスを選択し、DB インスタンスに関連付けます。DB インスタンスは、そのサブネットを含むアベイラビリティーゾーンを使用します。
+ VPC には、DB インスタンスへのアクセスを許可する VPC セキュリティグループが必要です。

  詳細については、「[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md)」を参照してください。
+ 各サブネットの CIDR ブロックは、フェイルオーバーやコンピュートスケーリングの見積もりなどのメンテナンス作業中に Amazon RDS が使用する予備の IP アドレスに十分対応できる大きさが必要です。例えば、通常は 10.0.0.0/24 や 10.0.1.0/24 などの範囲で十分な大きさです。
+ VPC では、*インスタンスのテナント*属性が *default* または *dedicated* のいずれかに設定されます。デフォルト VPC では、インスタンスのテナント属性はすべて default に設定され、DB インスタンスのすべてのクラスがサポートされます。

  インスタンステナンシーを dedicated に設定した専有 VPC に DB インスタンスを保持する場合は、その DB インスタンスの DB インスタンスクラスは、Amazon EC2 で承認された 専有インスタンスタイプのいずれかである必要があります。例えば、r5.large Rc2 ハードウェア専有インスタンスは、db.r5.large DB インスタンスクラスに対応します。VPC のインスタンステナンシーについては、*Amazon Elastic Compute Cloud ユーザーガイド*の「[ハードウェア専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

  ハードウェア専有インスタンスに対応するインスタンスタイプの詳細については、Amazon EC2 の料金ページで「[Amazon EC2 のハードウェア専有インスタンス](https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/)」を参照してください。
**注記**  
インスタンスのテナンシー属性を DB インスタンス専有に設定しても、DB インスタンスが専有ホストで実行されることは保証されません。
+ オプショングループを DB インスタンスに割り当てると、その DB インスタンスの VPC に関連付けられます。このリンクは、別の VPC 内に DB インスタンスを復元しようとしても、その DB インスタンスに割り当てられているオプショングループは使用できないことを意味します。
+ 別の VPC 内に DB インスタンスを復元する場合は、デフォルトのオプショングループを DB インスタンスに割り当てるか、その VPC にリンクされているオプショングループを割り当てるか、新しいオプショングループを作成して DB インスタンスに割り当てる必要があります。Oracle TDE などの永続または固定オプションを使用する場合は、別の VPC 内に DB インスタンスを復元するときに、永続または固定オプションを含む新しいオプショングループを作成する必要があります。

## VPC 暗号化コントロール
<a name="USER_VPC.EncryptionControl"></a>

VPC 暗号化コントロールを使用すると、VPC 内のすべてのネットワークトラフィックに対して転送中の暗号化を適用できます。暗号化コントロールを使用して、指定された VPC で暗号化可能な Nitro ベースのハードウェアのみをプロビジョニングできるようにすることで、規制コンプライアンス要件を満たします。暗号化コントロールは、プロビジョニング中ではなく API リクエスト時に互換性の問題も検出します。既存のワークロードは引き続き動作し、新しい互換性のないリクエストのみがブロックされます。

VPC コントロールモードを次のように設定して、VPC 暗号化コントロールを設定します。
+ *無効* (デフォルト)
+ *モニター*
+ *強制*

VPC の現在のコントロールモードを確認するには、AWS マネジメントコンソールまたは [DescribeVpcs](https://docs.aws.amazon.com//AWSEC2/latest/APIReference/API_DescribeVpcs.html) CLI または API コマンドを使用します。

VPC が暗号化を強制する場合は、その VPC で転送中の暗号化をサポートする Nitro ベースの DB インスタンスのみをプロビジョニングできます。詳細については、「[DB インスタンスクラスタイプ](Concepts.DBInstanceClass.Types.md)」を参照してください。Nitro インスタンスの詳細については、「*Amazon EC2 ユーザーガイド*」の「[AWS Nitro System 上に構築されたインスタンス](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)」を参照してください。

**注記**  
暗号化が強制された VPC で互換性のない DB インスタンスをプロビジョニングしようとすると、Amazon RDS は `VpcEncryptionControlViolationException` 例外を返します。

## DB サブネットグループの使用
<a name="USER_VPC.Subnets"></a>

*サブネット*は、VPC の IP アドレス範囲のセグメントで、セキュリティや運用上のニーズに基づいてリソースをグループ化するために指定します。*DB サブネットグループ*は VPC に作成するサブネット (通常はプライベート) のコレクションで、DB インスタンス用に指定します。DB サブネットグループを使用することにより、AWS CLI または RDS API を使用して DB インスタンスを作成するときに、特定の VPC を指定することができます。コンソールを使用する場合は、使用する VPC とサブネットグループを選択できます。

各 DB サブネットグループには、特定の AWS リージョン 内の少なくとも 2 つのアベイラビリティーゾーンにサブネットが必要です。VPC に DB インスタンスを作成するときに、DB サブネットグループを選択する必要があります。DB サブネットグループから、Amazon RDS は DB インスタンスに関連付けるサブネットとそのサブネット内の IP アドレスを選択します。DB は、そのサブネットを含むアベイラビリティーゾーンを使用します。 Amazon RDS は常に、空き IP アドレス空間を持つサブネットから IP アドレスを割り当てます。

マルチ AZ 配置のプライマリ DB インスタンスに障害が発生した場合、Amazon RDS は対応するスタンバイを昇格させ、その後、他のアベイラビリティーゾーンの 1 つのサブネットの IP アドレスを使用して、新しいスタンバイを作成できます。

DB サブネットグループのサブネットはパブリックまたはプライベートのいずれかです。サブネットは、ネットワークアクセス制御リスト (ネットワーク ACL) とルーティングテーブルに定義した設定に応じて、パブリックまたはプライベートになります。DB インスタンスをパブリックにアクセス可能にするには、その DB サブネットグループ内のすべてのサブネットがパブリックである必要があります。パブリックにアクセスできる DB インスタンスに関連付けられているサブネットがパブリックからプライベートに変更された場合、DB インスタンスの可用性に影響する可能性があります。

デュアルスタックモードをサポートする DB サブネットグループを作成するには、DB サブネットグループに追加する各サブネットに Internet Protocol version 6 (IPv6) CIDR ブロックが関連付けられていることを確認してください。詳細については、[Amazon RDS IP アドレス指定](#USER_VPC.IP_addressing) と *Amazon VPC ユーザーガイド*の「[IPv6 に移行する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html)」を参照してください。

**注記**  
ローカルゾーンの DB サブネットグループは、サブネットを 1 つだけ持つことができます。

Amazon RDS は、VPC に DB インスタンスを作成すると、DB サブネットグループから選択した IP アドレスを使用して、DB インスタンスにネットワークインターフェイスを割り当てます。ただし、DB インスタンスに接続するときにはドメインネームシステム (DNS) 名を使用することを強くお勧めします。基になる IP アドレスはフェイルオーバー中に変わるため、ドメインネームシステム (DNS) 名を使用することを強くお勧めします。

**注記**  
VPC で実行する DB インスタンスごとに、Amazon RDS による復旧アクション用として、DB サブネットグループのサブネットごとに最低 1 つのアドレスを確保してください。

## 共有サブネット
<a name="USER_VPC.Shared_subnets"></a>

DB インスタンスは共有 VPC に作成できます。

共有 VPC を使用する際に留意すべき点がいくつかあります。
+ DB インスタンスを共有 VPC サブネットから非共有 VPC サブネットに、またはその逆に移動できます。
+ 共有 VPC の参加者は、DB インスタンスを作成できるように、VPC にセキュリティグループを作成する必要があります。
+ 共有 VPC の所有者と参加者は、SQL クエリを使用してデータベースにアクセスできます。ただし、リソースに対して任意の API 呼び出しを行うことができるのは、リソースの作成者だけです。



## Amazon RDS IP アドレス指定
<a name="USER_VPC.IP_addressing"></a>

IP アドレスは、VPC 内のリソースの相互通信と、インターネット経由でのリソースとの通信を可能にします。Amazon RDS は、IPv4 と IPv6 の両方のアドレス指定プロトコルをサポートしています。デフォルトでは、Amazon RDS と Amazon VPC は IPv4 アドレス指定プロトコルを使用します。この動作をオフにすることはできません。VPC の作成時には、IPv4 CIDR ブロック (プライベート IPv4 アドレスの範囲) を指定する必要があります。必要に応じて、IPv6 CIDR ブロックを VPC とサブネットに割り当て、そのブロックからサブネットの DB インスタンスに IPv6 アドレスを割り当てることができます。

IPv6 プロトコルのサポートにより、サポートされる IP アドレスの数が増えます。IPv6 プロトコルを使用することで、インターネットの今後の成長に十分なアドレスを確保できます。新規および既存の RDS リソースは、VPC 内で IPv4 アドレスと IPv6 アドレスを使用できます。アプリケーションの異なる部分で使用される 2 つのプロトコル間のネットワークトラフィックの設定、保護、および変換を行うと、運用上のオーバーヘッドが発生する可能性があります。Amazon RDS リソースについては IPv6 プロトコルを標準化して、ネットワーク構成を簡素化できます。

**Topics**
+ [

### IPv4 アドレス
](#USER_VPC.IP_addressing.IPv4)
+ [

### IPv6 アドレス
](#USER_VPC.IP_addressing.IPv6)
+ [

### デュアルスタックモード
](#USER_VPC.IP_addressing.dual-stack-mode)

### IPv4 アドレス
<a name="USER_VPC.IP_addressing.IPv4"></a>

VPC を作成するときには、その VPC の IPv4 アドレスの範囲を CIDR ブロックの形式で指定する必要があります (`10.0.0.0/16` など)。DB *サブネットグループ*は、DB インスタンスが使用できる、この CIDR ブロック内の IP アドレスの範囲を定義します。これらの IP アドレスはプライベートまたはパブリックです。

プライベート IPv4 アドレスは、インターネットから到達できない IP アドレスです。DB インスタンスと同じ VPC 内の他のリソース (Amazon EC2 インスタンスなど) との通信には、プライベート IPv4 アドレスを使用できます。各 DB インスタンスには、VPC 内の通信用のプライベート IP アドレスがあります。

パブリック IP アドレスは、インターネットから到達可能な IPv4 アドレスです。DB インスタンスとインターネット上のリソース (SQL クライアントなど) との通信には、パブリックアドレスを使用できます。DB インスタンス にパブリック IP アドレスが割り当てられるかどうかは、ユーザーが制御します。

Amazon RDS は、パブリックにアクセス可能なデータベースインスタンスに EC2 のパブリック IPv4 アドレスプールからパブリック Elastic IPv4 アドレスを使用します。これらの IP アドレスは、`describe-addresses` CLI、API を使用するとき、または AWS マネジメントコンソールの Elastic IP (EIP) セクションを表示するときに、AWS アカウントに表示されます。各 RDS マネージド IP アドレスは、`service_managed` 属性が `"rds"` に設定された状態でマークされます。

これらの IP はアカウントに表示されますが、Amazon RDS によって完全に管理されたままであり、変更または解放することはできません。Amazon RDS は、使用されなくなった IP をパブリック IPv4 アドレスプールに解放します。

CloudTrail は、`AllocateAddress` などの RDS の EIP に関連する API コールをログに記録します。これらの API コールは、サービスプリンシパル `rds.amazonaws.com` によって呼び出されます。

**注記**  
Amazon RDS によって割り当てられた IP は、アカウントの EIP 制限にはカウントされません。

一般的な Amazon RDS 状況で使用できるプライベート IPv4 アドレスのみで VPC を作成する方法のチュートリアルについては、「[チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)](CHAP_Tutorials.WebServerDB.CreateVPC.md)」を参照してください。

### IPv6 アドレス
<a name="USER_VPC.IP_addressing.IPv6"></a>

オプションで IPv6 CIDR ブロックを VPC およびサブネットと関連付けて、そのブロックから VPC 内のリソースに IPv6 アドレスを割り当てることができます。各 IPv6 アドレスは、グローバルに一意です。

VPC の IPv6 CIDR ブロックは、Amazon の IPv6 アドレスのプールから自動的に割り当てられます。範囲を自分で選択することはできません。

IPv6 アドレスに接続するときには、以下の条件が満たされていることを確認してください。
+ クライアントは、クライアントから IPv6 経由でのデータベーストラフィックが許可されるように構成されています。
+ DB インスタンスによって使用される RDS セキュリティグループは、クライアントからデータベースへの IPv6 経由のトラフィックが許可されるように、正しく構成されています。
+ クライアントのオペレーティングシステムスタックは IPv6 アドレス上のトラフィックを許可し、オペレーティングシステムドライバーとライブラリは、正しいデフォルトの DB インスタンスエンドポイント (IPv4 または IPv6) を選択するように構成されています。

IPv6 の詳細については、*Amazon VPC ユーザーガイド*の「[IP アドレス指定](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html)」を参照してください。

### デュアルスタックモード
<a name="USER_VPC.IP_addressing.dual-stack-mode"></a>

DB インスタンスが IPv4 と IPv6 の両方のアドレス指定プロトコルで通信できるときには、デュアルスタックモードで実行します。その後、リソースは IPv4、IPv6、または両方のプロトコルを使用して DB インスタンスと通信できます。プライベートデュアルスタックモード DB インスタンスには、RDS が VPC アクセスのみに制限する IPv6 エンドポイントがあり、IPv6 エンドポイントはプライベートのままになります。パブリックデュアルスタックモード DB インスタンスは、インターネットからアクセスできる IPv4 エンドポイントと IPv6 エンドポイントの両方を提供します。

**Topics**
+ [

#### デュアルスタックモードと DB サブネットグループ
](#USER_VPC.IP_addressing.dual-stack-db-subnet-groups)
+ [

#### デュアルスタックモードの DB インスタンスの操作
](#USER_VPC.IP_addressing.dual-stack-working-with)
+ [

#### IPv4 専用 DB インスタンスをデュアルスタックモードを使用するように変更する
](#USER_VPC.IP_addressing.dual-stack-modifying-ipv4)
+ [

#### リージョンとバージョンの可用性
](#USER_VPC.IP_addressing.RegionVersionAvailability)
+ [

#### デュアルスタックネットワーク DB インスタンスの制限
](#USER_VPC.IP_addressing.dual-stack-limitations)

一般的な Amazon RDS 状況で使用できる IPv4 と IPv6 の両方のアドレスを持つ VPC を作成する方法のチュートリアルについては、「[チュートリアル: DB インスタンス用の VPC を作成する (デュアルスタックモード)](CHAP_Tutorials.CreateVPCDualStack.md)」を参照してください。

#### デュアルスタックモードと DB サブネットグループ
<a name="USER_VPC.IP_addressing.dual-stack-db-subnet-groups"></a>

デュアルスタックモードを使用するには、DB インスタンスに関連付ける DB サブネットグループ内の各サブネットに IPv6 CIDR ブロックが関連付けられていることを確認してください。新しい DB サブネットグループを作成するか、既存の DB サブネットグループを変更して、この要件を満たすことができます。DB インスタンスがデュアルスタックモードになった後も、クライアントは通常どおり接続できます。クライアントセキュリティファイアウォールと RDS DB インスタンスのセキュリティグループが、IPv6 経由のトラフィックを許可するように正しく設定されていることを確認します。接続するために、クライアントは DB インスタンスのエンドポイントを使用します。クライアントアプリケーションは、データベースへの接続時に優先するプロトコルを指定できます。デュアルスタックモードでは、DB インスタンスは、クライアントの優先ネットワークプロトコル (IPv4 または IPv6) を検出し、そのプロトコルを使用して接続します。

サブネットの削除または CIDR の関連付け解除により、DB サブネットグループがデュアルスタックモードをサポートしなくなった場合、DB サブネットグループに関連付けられている DB インスタンスに対して互換性のないネットワーク状態が発生するリスクがあります。また、新しいデュアルスタックモードの DB インスタンスの作成時に DB サブネットグループを使用することはできません。

AWS マネジメントコンソール を使用して DB サブネットグループがデュアルスタックモードをサポートしているかどうかを判断するには、DB サブネットグループの詳細ページで **[Network type]** (ネットワークタイプ) を確認します。DB サブネットグループが AWS CLI を使用してデュアルスタックモードをサポートしているかどうかを判断するには、[describe-db-subnet-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-subnet-groups.html) コマンドを実行して、出力の `SupportedNetworkTypes` を確認します。

リードレプリカは独立した DB インスタンスとして扱われ、プライマリ DB インスタンスとは異なるネットワークタイプを持つことができます。リードレプリカのプライマリ DB インスタンスのネットワークタイプを変更しても、リードレプリカは影響を受けません。DB インスタンスを復元するときには、サポートされている任意のネットワークタイプに復元できます。

#### デュアルスタックモードの DB インスタンスの操作
<a name="USER_VPC.IP_addressing.dual-stack-working-with"></a>

DB インスタンスを作成または変更する場合は、デュアルスタックモードを指定して、リソースが DB インスタンスと IPv4、IPv6、またはその両方で通信することを許可できます。

AWS マネジメントコンソール を使用して DB インスタンスを変更するときには、**[Network type]** (ネットワークタイプ) セクションでデュアルスタックモードを指定できます。次の画像は、コンソールの **[Network type]** (ネットワークの種類) セクションを示しています。

![\[[デュアルスタックモード] が選択されているコンソールの [ネットワークタイプ] セクション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)


AWS CLI を使用して DB インスタンスを作成または変更するときには、`--network-type` オプションを `DUAL` に設定して、デュアルスタックモードを使用します。RDS API を使用して DB インスタンスを作成または変更するときには、`NetworkType` パラメータを `DUAL` に設定して、デュアルスタックモードを使用します。DB インスタンスのネットワークタイプを変更すると、ダウンタイムが発生する可能性があります。指定された DB エンジンバージョンまたは DB サブネットグループでデュアルスタックモードがサポートされていない場合は、`NetworkTypeNotSupported` エラーが返されます。

DB インスタンスの作成の詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。DB インスタンスの変更の詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

コンソールを使用して DB インスタンスがデュアルスタックモードであるかどうかを判断するには、DB インスタンスの **[Connectivity & security]** (接続性とセキュリティ) タブの **[Network type]** (ネットワークの種類) を確認します。

#### IPv4 専用 DB インスタンスをデュアルスタックモードを使用するように変更する
<a name="USER_VPC.IP_addressing.dual-stack-modifying-ipv4"></a>

IPv4 専用 DB インスタンスをデュアルスタックモードを使用するように変更できます。このためには、DB インスタンスのネットワークの種類を変更します。変更によってダウンタイムが発生する可能性があります。

メンテナンスウィンドウ中に Amazon RDS インスタンスのネットワークタイプを変更することをお勧めします。現在、新しいインスタンスのネットワークタイプをデュアルスタックモードに設定することはサポートされていません。ネットワークタイプは、`modify-db-instance` コマンドを使用して手動で設定できます。

DB インスタンスをデュアルスタックモードを使用するように変更する前に、その DB サブネットグループがデュアルスタックモードをサポートしていることを確認してください。DB インスタンスに関連付けられた DB サブネットグループがデュアルスタックモードをサポートしていない場合は、DB インスタンスを変更するときに、それをサポートする別の DB サブネットグループを指定します。DB インスタンスの DB サブネットグループを変更すると、ダウンタイムが発生する可能性があります。

DB インスタンスをデュアルスタックモードを使用するように変更する前に DB インスタンスの DB サブネットグループを変更する場合は、変更の前後に DB サブネットグループが DB インスタンスに対して有効であることを確認してください。

RDS for PostgreSQL、RDS for MySQL、RDS for Oracle、RDS for MariaDB のシングル AZ インスタンスの場合、ネットワークをデュアルスタックに変更するには、`--network-type` パラメータに値 `DUAL` のみを設定して [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを実行することをお勧めします。同じ API コールで `--network-type` パラメータと一緒に他のパラメータを追加すると、ダウンタイムが発生する可能性があります。複数のパラメータを変更する場合は、他のパラメータを使用して別の `modify-db-instance` リクエストを送信する前に、ネットワークタイプの変更が正常に完了していることを確認してください。

RDS for PostgreSQL、RDS for MySQL、RDS for Oracle、RDS for MariaDB のマルチ AZ インスタンスのネットワークタイプを変更する場合、`--network-type` パラメータのみを使用するか、modify-db-instance コマンドで複数のパラメータを組み合わせると、短いダウンタイムが発生し、フェイルオーバーがトリガーされます。

RDS for SQL Server シングル AZ インスタンスまたはマルチ AZ インスタンスでネットワークタイプを変更する場合、`--network-type` パラメータのみを使用するか、`modify-db-instance` コマンドで複数のパラメータを組み合わせると、ダウンタイムが発生します。ネットワークタイプを変更すると、SQL Server マルチ AZ インスタンスでフェイルオーバーが発生します。

変更後に DB インスタンスに接続できない場合は、選択したネットワーク (IPv4 または IPv6) でデータベースへのトラフィックを許可するように、クライアントとデータベースのセキュリティファイアウォールとルートテーブルが正確に設定されていることを確認してください。IPv6 アドレスを使用して接続するには、オペレーティングシステムのパラメータ、ライブラリ、またはドライバーを変更しなければならない場合もあります。

デュアルスタックモードを使用するように DB インスタンスを変更すると、シングル AZ 配置からマルチ AZ 配置、またはマルチ AZ 配置からシングル AZ 配置への変更を保留することはできません。

**IPv4 専用の DB インスタンスをデュアルスタックモードを使用するように変更するには**

1. DB サブネットグループをデュアルスタックモードをサポートするように変更するか、デュアルスタックモードをサポートする DB サブネットグループを作成します。

   1. IPv6 CIDR ブロックと VPC の関連付け

      詳細については、「Amazon VPC ユーザーガイド」の「[IPv6 CIDR ブロックを VPC に追加する](https://docs.aws.amazon.com/vpc/latest/userguide/modify-vpcs.html#vpc-associate-ipv6-cidr)」を参照してください。**

   1. IPv6 CIDR ブロックを DB サブネットグループ内のすべてのサブネットにアタッチします。

      詳細については、「Amazon VPC ユーザーガイド」の「[IPv6 CIDR ブロックをサブネットに追加する](https://docs.aws.amazon.com/vpc/latest/userguide/modify-subnets.html#subnet-associate-ipv6-cidr)」を参照してください。**

   1. DB サブネットグループがデュアルスタックモードをサポートしていることを確認します。

      AWS マネジメントコンソール を使用している場合は、DB サブネットグループを選択し、**[Supported network types]** (サポートされているネットワークタイプ) の値が **[Dual, IPｖ4]** (デュアル、IPv4) であることを確認します。

      AWS CLI を使用している場合は、[describe-db-subnet-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-subnet-groups.html) コマンドを実行して、DB インスタンスの `SupportedNetworkType` の値が `Dual, IPv4` であることを確認します。

1. DB インスタンスに関連付けられたセキュリティグループを、データベースへの IPv6 接続を許可するように変更するか、IPv6 接続を許可する新しいセキュリティグループを作成します。

   手順については、*Amazon VPC ユーザーガイド*の「[セキュリティグループのルール](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html)」を参照してください。

1. DB インスタンスを変更して、デュアルスタックモードをサポートします。そのためには、**ネットワークの種類**を**デュアルスタックモード**に設定します。

   コンソールを使用している場合、以下の設定が正しいことを確認します。
   + **[Network type]** (ネットワークタイプ) – **[Dual-stack mode]** (デュアルスタックモード)  
![\[[デュアルスタックモード] が選択されているコンソールの [ネットワークタイプ] セクション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)
   + **[DB Subnet group]** (DB サブネットグループ) — 前のステップで設定した DB サブネットグループ
   + **[Security group]** (セキュリティグループ) - 前のステップで設定したセキュリティ

   AWS CLI を使用している場合、以下の設定が正しいことを確認します。
   + `--network-type` – `dual`
   + `--db-subnet-group-name` - 前のステップで設定した DB サブネットグループ
   + `--vpc-security-group-ids` - 前のステップで設定した VPC セキュリティグループ

   例えば、次のようになります。

   ```
   aws rds modify-db-instance --db-instance-identifier my-instance --network-type "DUAL"
   ```

1. DB インスタンスがデュアルスタックモードをサポートしていることを確認します。

   コンソールを使用している場合、DB インスタンスの **[Connectivity & security]** (接続とセキュリティ) (設定) タブを選択します。そのタブで、**ネットワークの種類**値が**デュアルスタックモード**であることを確認してください。

   AWS CLI を使用している場合は、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを実行して、DB インスタンスの `NetworkType` の値が `dual` であることを確認します。

    DB インスタンスエンドポイントで `dig` コマンドを実行して、関連付けられている IPv6 アドレスを特定します。

   ```
   dig db-instance-endpoint AAAA
   ```

   DB インスタンスに接続するには、IPv6 アドレスではなく DB インスタンスエンドポイントを使用します。

#### リージョンとバージョンの可用性
<a name="USER_VPC.IP_addressing.RegionVersionAvailability"></a>

機能の可用性とサポートは、各データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。デュアルスタックモードを利用できるバージョンとリージョンの詳細については、「[Amazon RDS のデュアルスタックモードでサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.DualStackMode.md)」を参照してください。

#### デュアルスタックネットワーク DB インスタンスの制限
<a name="USER_VPC.IP_addressing.dual-stack-limitations"></a>

デュアルスタックネットワーク DB インスタンスには、次の制限が適用されます。
+ DB インスタンスは、IPv6 プロトコルを排他的に使用することはできません。IPv4 を排他的に使用するか、IPv4 と IPv6 プロトコル を使用することができます (デュアルスタックモード)。
+ Amazon RDS は、ネイティブ IPv6 サブネットをサポートしていません。
+ RDS for SQL Server の場合、Always On AG アベイラビリティーグループリスナーエンドポイントを使用するデュアルスタックモード DB インスタンスは、IPv4 アドレスのみを示します。
+ デュアルスタックモード DB インスタンスでは RDS Proxy を使用できません。
+ AWS Outposts DB インスタンスではデュアルスタックモードを使用できません。
+ ローカルゾーンでは、DB インスタンスでデュアルスタックモードを使用することはできません。

## VPC 内の DB インスタンスをインターネットから隠す
<a name="USER_VPC.Hiding"></a>

Amazon RDS の一般的なシナリオの 1 つでは、一般向けウェブアプリケーションを使用する Amazon EC2 インスタンスと、パブリックアクセスが不可能なデータベースを使用する DB インスタンスがある VPC を想定しています。例えば、パブリックサブネットとプライベートサブネットを持つ VPC を作成できます。ウェブサーバーとして機能する EC2 インスタンスをパブリックサブネットにデプロイできます。DB インスタンスは、プライベートサブネットにデプロイされます。このような配置では、ウェブサーバーだけが DB インスタンスにアクセスできます。このシナリオの説明については、「[同じ VPC 内の Amazon EC2 インスタンスがアクセスする、VPC 内の DB インスタンス](USER_VPC.Scenarios.md#USER_VPC.Scenario1)」を参照してください。

VPC 内で DB インスタンスを起動すると、DB インスタンスには VPC 内のトラフィック用のプライベート IP アドレスが割り当てられます。このプライベート IP アドレスにはパブリックアクセスができません。**パブリックアクセス**オプションを使用すると、DB インスタンスがプライベート IP アドレスだけでなく、パブリック IP アドレスも保持するかどうかを指定できます。DB インスタンスがパブリックアクセスに指定されている場合、その DNS エンドポイントは VPC 内からプライベート IP アドレスに解決されます。VPC の外部からパブリック IP アドレスに解決されます。DB インスタンスへのアクセスは、最終的に使用されるセキュリティグループによって制御されます。DB インスタンスに割り当てられたセキュリティグループに、それを許可するインバウンドルールが含まれていない場合、そのパブリックアクセスは許可されません。また、内部ゲートウェイ DB インスタンスをパブリックにアクセス可能にするには、その DB サブネットグループのサブネットにインターネットゲートウェイが必要です。詳細については、「[Amazon RDS DB インスタンスに接続できない](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)」を参照してください。

**パブリックアクセス**オプションを変更することによって、DB インスタンスのパブリックアクセシビリティをオンまたはオフにすることができます。次の図は、[**追加の接続設定**] セクションの [**パブリックアクセス**] オプションを示しています。このオプションを設定するには、[**接続**] セクションの [**追加の接続設定**] セクションを開きます。

![\[[追加の接続設定] セクションのデータベース [パブリックアクセス] オプションを [いいえ] に設定します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/VPC-example4.png)


DB インスタンスを変更して **[パブリックアクセス]** オプションを設定する方法については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

## VPC に DB インスタンスを作成する
<a name="USER_VPC.InstanceInVPC"></a>

次の手順で VPC 内に DB インスタンスを作成できます。デフォルトの VPC を使用する場合は、ステップ 2 から始めて、既に作成されている VPC と DB サブネットグループを使用することができます。VPC を追加で作成する場合は、VPC を新規に作成できます。

**注記**  
VPC の DB インスタンスへのパブリックアクセスを可能にするには、VPC 属性の *DNS hostnames* と *DNS resolution* を有効化して、VPC に関する DNS 情報を更新する必要があります。VPC インスタンスの DNS 情報の更新については、「[VPC の DNS サポートを更新する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。

VPC 内に DB インスタンスを作成するには、以下のステップを実行します。
+ [ステップ 1: VPC を作成する](#USER_VPC.CreatingVPC) 
+  [ステップ 2: DB サブネットグループを作成する](#USER_VPC.CreateDBSubnetGroup)
+  [ステップ 3: VPC セキュリティグループを作成する](#USER_VPC.CreateVPCSecurityGroup)
+  [ステップ 4: VPC に DB インスタンスを作成する](#USER_VPC.CreateDBInstanceInVPC) 

### ステップ 1: VPC を作成する
<a name="USER_VPC.CreatingVPC"></a>

最低 2 つのアベイラビリティーゾーンの中にサブネットを持つ VPC を作成します。これらのサブネットは、DB サブネットグループを作成するときに使用します。デフォルト VPC がある場合、AWS リージョン 内の各アベイラビリティーゾーンに、自動的にサブネットが作成されます。

詳細については、「[プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する](CHAP_Tutorials.WebServerDB.CreateVPC.md#CHAP_Tutorials.WebServerDB.CreateVPC.VPCAndSubnets)」または *Amazon VPC ユーザーガイド*の「[VPC を作成する](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)」を参照してください。

### ステップ 2: DB サブネットグループを作成する
<a name="USER_VPC.CreateDBSubnetGroup"></a>

DB サブネットグループは VPC 用に作成するサブネット (通常はプライベート) のコレクションで、DB インスタンスに指定します。DB サブネットグループを使用すると、AWS CLI または RDS API を使用して DB インスタンスを作成するときに、特定の VPC を指定できます。コンソールを使用する場合は、使用する VPC とサブネットを選択できます。各 DB サブネットグループには、AWS リージョン 内の少なくとも 2 つのアベイラビリティーゾーンに少なくとも 1 つのサブネットが必要です。ベストプラクティスとして、各 DB サブネットグループには、AWS リージョン 内のアベイラビリティーゾーンごとに少なくとも 1 つのサブネットが必要です。

マルチ AZ 配置の場合、AWS リージョン のすべてのアベイラビリティーゾーンのサブネットを定義すると、Amazon RDS で必要に応じて別のアベイラビリティーゾーンに新しいスタンバイレプリカを作成できます。将来、マルチ AZ 配置に変換される可能性があるため、シングル AZ 配置でもこのベストプラクティスに従うことができます。

DB インスタンスをパブリックにアクセス可能にするには、DB サブネットグループのサブネットにインターネットゲートウェイが必要です。サブネット用のインターネットゲートウェイの詳細については、*Amazon VPC ユーザーガイド*の「[インターネットゲートウェイを使用してサブネットをインターネットに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。

**注記**  
ローカルゾーンの DB サブネットグループは、サブネットを 1 つだけ持つことができます。

VPC に DB インスタンスを作成するときに、DB サブネットグループを選択できます。Amazon RDS は、サブネットとそのサブネット内の IP アドレスを選択し、DB インスタンスに関連付けます。DB サブネットグループが存在しない場合、DB インスタンスを作成すると、Amazon RDS DB によってデフォルトのサブネットグループが作成されます。Amazon RDS では、Elastic Network Interface が作成され、その IP アドレスで DB インスタンスに関連付けられます。DB インスタンスは、そのサブネットを含むアベイラビリティーゾーンを使用します。

マルチ AZ 配置の場合、AWS リージョン 内の 2 つ以上のアベイラビリティーゾーンにサブネットを定義すると、Amazon RDS は必要に応じて別のアベイラビリティーゾーンに新しいスタンバイを作成できるようになります。シングル AZ 配置の場合も、どこかの時点でマルチ AZ 配置に変換する場合に備えてこのように定義する必要があります。

このステップでは、DB サブネットグループを作成し、このグループに VPC 用に作成したサブネットを追加します。

**DB サブネットグループを作成する方法**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. [Navigation] ペインで、[**Subnet groups**] を選択します。

1. [**Create DB Subnet Group**] を選択します。

1. [**Name**] には、DB サブネットグループの名前を入力します。

1. [**Description**] に、DB サブネットグループの説明を入力します。

1. [**VPC**] では、デフォルトの VPC または作成した VPC を選択します。

1. [**サブネットの追加**] セクションで、サブネットを含むアベイラビリティーゾーンを [**アベイラビリティーゾーン**] から選択し、サブネットを [**サブネット**] から選択します。  
![\[DB サブネットグループを作成します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/RDSVPC101.png)
**注記**  
ローカルゾーンを有効にしている場合は、[**DB サブネットグループの作成**] ページでアベイラビリティーゾーングループを選択できます。この場合、[**アベイラビリティーゾーングループ**]、[**アベイラビリティーゾーン**]、[**サブネット**] の順に選択します。

1. [**作成**] を選択します。

   RDS コンソールの DB サブネットグループリストに新しい DB サブネットグループが表示されます。DB サブネットグループを選択すると、ウィンドウ下部の詳細ペインに、そのグループに関連付けられたすべてのサブネットなどの詳細を表示することができます。

### ステップ 3: VPC セキュリティグループを作成する
<a name="USER_VPC.CreateVPCSecurityGroup"></a>

DB インスタンスを作成する前に、DB インスタンスに関連付ける VPC セキュリティグループを作成する必要があります。VPC セキュリティグループを作成しない場合、DB インスタンスを作成するときにデフォルトのセキュリティグループを使用します。DB インスタンスのセキュリティグループを作成する方法については、「[プライベート DB インスタンスの VPC セキュリティグループを作成する](CHAP_Tutorials.WebServerDB.CreateVPC.md#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB)」を参照するか、[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)の「*セキュリティグループを使用してリソースへのトラフィックを制御する*」を参照してください。

### ステップ 4: VPC に DB インスタンスを作成する
<a name="USER_VPC.CreateDBInstanceInVPC"></a>

このステップでは、DB インスタンスを作成し、前のステップで作成した VPC 名、DB サブネットグループ、および VPC セキュリティグループを使用します。

**注記**  
VPC の DB インスタンスをパブリックにアクセス可能にする場合は、VPC 属性の *DNS hostnames* と *DNS resolution* を有効にする必要があります。詳細については、*Amazon VPC ユーザーガイド*の「[DNS attributes for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」(VPC の DNS 属性) を参照してください。

DB インスタンスの作成方法の詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

**[Connectivity]** (接続) セクションにプロンプトが表示されたら、VPC の名前、DB サブネットグループ、および VPC セキュリティグループを入力します。

# DB インスタンスの VPC の更新
<a name="USER_VPC.VPC2VPC"></a>

AWS マネジメントコンソールを使用して DB インスタンスを別の VPC に移動できます。

DB インスタンスの変更については、[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)を参照してください。次のように、変更ページの **[Connectivity]** (接続) セクションが表示されたら、**[DB Subnet group]** (DB サブネットグループ) に新しい DB サブネットグループを入力します。新しいサブネットグループは新しい VPC のサブネットグループである必要があります。

![\[DB インスタンスのサブネットグループを変更します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/EC2-VPC.png)


次の条件が適用される場合、DB インスタンスの VPC を変更することはできません。
+ DB インスタンスが複数のアベイラビリティーゾーンに置かれている。DB インスタンスは、単一のアベイラビリティーゾーンに変換し、新しい VPC に移動した後に、マルチ AZ DB インスタンスに戻すことができます。詳細については、「[Amazon RDS でのマルチ AZ 配置の設定と管理](Concepts.MultiAZ.md)」を参照してください。
+ DB インスタンスに 1 つ以上のリードレプリカがある。リードレプリカを削除し、DB インスタンスを新しい VPC に移動した後、リードレプリカを再度追加することができます。詳細については、「[DB インスタンスのリードレプリカの操作](USER_ReadRepl.md)」を参照してください。
+ DB インスタンスがリードレプリカである。リードレプリカをスタンドアロンの DB インスタンスに昇格し、それを新しい VPC に移動することができます。詳細については、「[リードレプリカをスタンドアロン DB インスタンスに昇格させる](USER_ReadRepl.Promote.md)」を参照してください。
+ ターゲット VPC のサブネットグループが、DB インスタンスのアベイラビリティーゾーン内にサブネットを持っていない。DB インスタンスのアベイラビリティーゾーンのサブネットを、DB サブネットグループに追加した後に、DB インスタンスを新しい VPC に移動することができます。詳細については、「[DB サブネットグループの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)」を参照してください。

# VPC の DB インスタンスにアクセスするシナリオ
<a name="USER_VPC.Scenarios"></a>

Amazon RDS は、VPC の DB インスタンスにアクセスするための以下のシナリオをサポートします。
+ [同じ VPC 内の Amazon EC2 インスタンス](#USER_VPC.Scenario1)
+ [別の VPC 内の EC2 インスタンス](#USER_VPC.Scenario3)
+ [インターネット経由のクライアントアプリケーション](#USER_VPC.Scenario4)
+ [プライベートネットワーク](#USER_VPC.NotPublic)

## 同じ VPC 内の Amazon EC2 インスタンスがアクセスする、VPC 内の DB インスタンス
<a name="USER_VPC.Scenario1"></a>

VPC 内の DB インスタンスの一般的な用途は、同じ VPC 内の Amazon EC2 インスタンスで実行されるアプリケーションサーバーとデータを共有することです。

以下の図に、このシナリオを示しています。

![\[パブリックウェブサーバーとプライベートデータベースを使用する VPC シナリオ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


同じ VPC 内の EC2 インスタンスと DB インスタンス間のアクセスを管理する方法として最も簡単なのは、次の方法です。
+ DB インスタンスが存在する VPC セキュリティグループを作成します。このセキュリティグループは、DB インスタンスへのアクセスを制限するのに使用できます。たとえば、このセキュリティグループのカスタムルールを作成できます。これにより、DB インスタンスを作成したときに割り当てたポートと、開発またはそのほかの目的で DB インスタンスにアクセスするのに使用する IP アドレスを使用して TCP へのアクセスを許可できます。
+ EC2 インスタンス (ウェブサーバーとクライアント) が属する VPC セキュリティグループを作成します。このセキュリティグループは、必要に応じて、VPC のルーティングテーブルを介したインターネットから EC2 インスタンスへのアクセスを許可できます。例えば、ポート 22 経由で EC2 インスタンスへの TCP アクセスを許可するルールをこのセキュリティグループに設定できます。
+ EC2 インスタンス用に作成したセキュリティグループからの接続を許可する DB インスタンスのセキュリティグループで、カスタムルールを作成します。このルールは、セキュリティグループのメンバーに DB インスタンスへのアクセスを許可します。

別のアベイラビリティーゾーンに、追加のパブリックサブネットとプライベートサブネットがあります。RDS DB サブネットグループには、2 つ以上のアベイラビリティーゾーンにサブネットが必要です。サブネットが追加されたことで、将来的にマルチ AZ DB インスタンス配置に簡単に切り替えることができるようになります。

このシナリオのパブリックとプライベートの両方のサブネットを使用する VPC を作成する方法のチュートリアルについては、「[チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)](CHAP_Tutorials.WebServerDB.CreateVPC.md)」を参照してください。

**ヒント**  
DB インスタンスを作成すると自動的に、Amazon EC2 インスタンスと DB インスタンス間のネットワーク接続を設定できるようになります。詳細については、「 [EC2 インスタンスとの自動ネットワーク接続を設定する](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic)」を参照してください。

**他のセキュリティグループからの接続を許可する VPC セキュリティグループにルールを作成するには、以下を実行します。**

1.  AWS マネジメントコンソール にサインインして、Amazon VPC コンソール ([https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc)) を開きます。

1.  ナビゲーションペインで、**[セキュリティグループ]** を選択します。

1. 他のセキュリティグループのメンバーからのアクセスを許可するセキュリティグループを、選択または作成します。前述のシナリオで、これは DB インスタンス向けに使用するセキュリティグループです。[**インバウンドルール**] タブを選択してから、[**インバウンドルールの編集**] を選択します。

1. [**インバウンドルールの編集**] ページで、[**ルールの追加**] を選択します。

1. **[Type]** (タイプ) から、DB インスタンスの作成時に使用したポートに対応するエントリ ([**MYSQL/Aurora**] など) を選択します。

1. [**ソース**] ボックスで、セキュリティグループの ID の入力をスタートすると、一致するセキュリティグループが一覧表示されます。このセキュリティグループによって保護されているリソースへのアクセスを許可するメンバーが所属しているセキュリティグループを選択します。前述のシナリオで、これは EC2 インスタンス向けに使用するセキュリティグループです。

1. 必要に応じて、[**タイプ**] に [**すべての TCP**] を、[**ソース**] ボックスにお客様のセキュリティグループを指定してルールを作成することで、TCP プロトコルのステップを繰り返します。UDP プロトコルを使用する場合は、[**All UDP**] (すべての UDP) を [**Type**] (タイプ) と [**Source**] (送信元) のセキュリティグループとして使用してルールを作成します。

1. [**ルールの保存**] を選択します。

次の画面には、ソース用のセキュリティグループを含むインバウンドルールが表示されます。

![\[他のセキュリティグループのルールへのセキュリティグループの追加\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/con-vpc-add-sg-rule.png)


EC2 インスタンスから DB インスタンスに接続する方法の詳細については、「[Amazon RDS DB インスタンスへの接続](CHAP_CommonTasks.Connect.md)」を参照してください。

## VPC 内の DB インスタンスに別の VPC 内の EC2 インスタンスからアクセスする
<a name="USER_VPC.Scenario3"></a>

DB インスタンスがアクセスに使用している EC2 インスタンスとは異なる VPC にある場合、VPC ピア接続を使用してその DB インスタンスにアクセスできます。

以下の図に、このシナリオを示しています。

![\[別の VPC 内の EC2 インスタンスがアクセスする、VPC 内の DB インスタンス\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/RDSVPC2EC2VPC.png)


VPC ピア接続は、プライベート IP アドレスを使用して 2 つの VPC 間でトラフィックをルーティングすることを可能にするネットワーク接続です。どちらの VPC のリソースも、同じネットワーク内に存在しているかのように、相互に通信できます。VPC ピアリング接続は、自分の VPC 間、別の AWS アカウントの VPC との間、または別の AWS リージョン の VPC との間に作成できます。VPC ピア接続の詳細については、*Amazon Virtual Private Cloud ユーザーガイド*の「[VPC ピア接続](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)」を参照してください。

## インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスする
<a name="USER_VPC.Scenario4"></a>

インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスするには、1 つのパブリックサブネットを持つ VPC と、インターネットを介した通信を可能にするインターネットゲートウェイを設定します。

以下の図に、このシナリオを示しています。

![\[クライアントアプリケーションがインターネット経由でアクセスする VPC 内の DB インスタンス\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/GS-VPC-network.png)


次の構成をお勧めします。

 
+ サイズ /16 (例えば CIDR: 10.0.0.0/16) の VPC。このサイズでは 65,536 個のプライベート IP アドレスが提供されます。
+ サイズ /24 (例えば CIDR: 10.0.0.0/24) のサブネット。このサイズでは 256 個のプライベート IP アドレスが提供されます。
+ VPC およびサブネットに関連付けられている Amazon RDS DB インスタンス。Amazon RDS は、サブネット内の IP アドレスを DB インスタンスに割り当てます。
+ VPC をインターネットと他の AWS 製品に接続するインターネットゲートウェイ。
+ DB インスタンスに関連付けられたセキュリティグループ。セキュリティグループのインバウンドルールにより、クライアントアプリケーションは DB インスタンスにアクセスできます。

VPC での DB インスタンスの作成方法に関する詳細は、「[VPC に DB インスタンスを作成する](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.InstanceInVPC)」を参照してください。

## プライベートネットワークによってアクセスされる VPC 内の DB インスタンス
<a name="USER_VPC.NotPublic"></a>

DB インスタンスがパブリックにアクセスできない場合は、プライベートネットワークからアクセスするための次のオプションがあります。
+ AWS Site-to-Site VPN 接続。詳細については、「[AWS Site-to-Site VPN とは](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)」を参照してください。
+ Direct Connect 接続。詳細については、「[Direct Connect とは?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)」を参照してください。
+ AWS Client VPN 接続。詳細については、「[AWS Client VPN とは](https://docs.aws.amazon.com//vpn/latest/clientvpn-admin/what-is.html)」を参照してください。

次の図は、AWS Site-to-Site VPN 接続のシナリオを示しています。

![\[プライベートネットワークによってアクセスされる VPC 内の DB インスタンス\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/site-to-site-vpn-connection.png)


詳細については、「[ネットワーク間のトラフィックのプライバシー](inter-network-traffic-privacy.md)」を参照してください。

# チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)
<a name="CHAP_Tutorials.WebServerDB.CreateVPC"></a>

一般的なシナリオには、Amazon VPC サービスに基づく仮想プライベートクラウド (VPC) 内の DB インスタンスが含まれます。この VPC は、同じ VPC で実行しているウェブサーバーとデータを共有します。このチュートリアルでは、このシナリオの VPC を作成します。

以下の図に、このシナリオを示しています。その他のシナリオについては、[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md) を参照してください。

![\[単一の VPC のシナリオ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


DB インスタンスは、ウェブサーバーからのみ使用可能で、パブリックインターネットからは使用できないようにする必要があります。したがって、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。ウェブサーバーはパブリックサブネットでホストされることで、パブリックインターネットにアクセスできます。DB インスタンスはプライベートサブネットでホストされます。ウェブサーバーは、同じ VPC 内でホストされているため、DB インスタンスに接続できます。ただし、DB インスタンスはパブリックインターネットからは使用できないため、セキュリティが向上します。

このチュートリアルでは、別のアベイラビリティーゾーンに追加のパブリックサブネットとプライベートサブネットを設定します。これらのサブネットはチュートリアルでは使用されません。RDS DB サブネットグループは、少なくとも 2 つのアベイラビリティーゾーン内のサブネットを必要とします。サブネットが追加されたことで、将来的にマルチ AZ DB インスタンス配置に簡単に切り替えることができるようになります。

このチュートリアルでは、Amazon RDS DB インスタンス 用に VPC を設定する方法について説明します。この VPC シナリオ用のウェブサーバーを作成する方法を示すチュートリアルについては、「[チュートリアル: ウェブサーバーと Amazon RDS DB インスタンスを作成する](TUT_WebAppWithRDS.md)」を参照してください。Amazon VPC の詳細については、[Amazon VPC 入門ガイド](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/)および[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)を参照してください。

**ヒント**  
DB インスタンスを作成すると自動的に、Amazon EC2 インスタンスと DB インスタンス間のネットワーク接続を設定できるようになります。ネットワーク構成は、このチュートリアルで説明したものと似ています。詳細については、「[EC2 インスタンスとの自動ネットワーク接続を設定する](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic)」を参照してください。

## プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.VPCAndSubnets"></a>

以下の手順で、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。

**VPC とサブネットを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. AWS マネジメントコンソール の右上隅で、VPC を作成するリージョンを選択します。この例では、米国西部 (オレゴン) リージョンを使用します。

1. 左上隅の **[VPC dashboard]** (VPC ダッシュボード) を選択します。VPC の作成を開始するには、**[Create VPC]** (VPC の作成) を選択します。

1. **[VPC Settings]** (VPC 設定) の **[Resources to create]** (作成するリソース) で、**[VPC and more]** (VPC など) を選択します。

1. **[VPC settings]** (VPC 設定) で、これらの値を設定します。
   + **[Name tag auto-generation]** (ネームタグ自動生成) – **tutorial**
   + **[IPv4 CIDR block]** (IPv4 CIDR ブロック) – **10.0.0.0/16**
   + **[IPv6 CIDR block]** (IPv6 CIDR ブロック) – **[No IPv6 CIDR block]** (IPv6 CIDR ブロックなし)
   + **[Tenancy] **(テナンシー) – **デフォルト**
   + **[Number of Availability Zones (AZs)]** (アベイラビリティーゾーンの数 (AZ)) – **2**
   + **[Customize AZs]** (AZ をカスタマイズする) – デフォルト値を維持します。
   + **[Number of public subnet]** (パブリックサブネット数) – **2**
   + **[Number of private subnets]** (プライベートサブネット数) – **2**
   + **[Customize subnets CIDR blocks]** (サブネット CIDR ブロックをカスタマイズ) — デフォルト値を維持します。
   + **[NAT gateways (\$1)]** (NAT ゲートウェイ (\$1)) – **なし**
   + **[VPC endpoints]** (VPC エンドポイント) – **なし**
   + **[DNS options]** (DNS オプション) — デフォルト値を維持します。
**注記**  
Amazon RDS では、マルチ AZ DB インスタンス配置をサポートするために、2 つの異なるアベイラビリティーゾーン内のサブネットを少なくとも 2 つ含んでいる必要があります。このチュートリアルではシングル AZ 配置を作成しますが、この要件により将来的に マルチ AZ DB インスタンス配備に簡単に変換できます。

1. **[Create VPC（VPC の作成）]** を選択します。

## パブリックウェブサーバーの VPC セキュリティグループを作成する
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupEC2"></a>

次に、パブリックアクセスのためのセキュリティグループを作成します。VPC 内のパブリック EC2 インスタンスに接続するには、インバウンドルールを VPC セキュリティグループに追加します。これにより、インターネットからのトラフィックを接続できるようになります。

**VPC セキュリティグループを作成するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. [**VPC ダッシュボード**]、[**セキュリティグループ**]、[**セキュリティグループの作成**] の順に選択します。

1. [**セキュリティグループの作成**] ページで、以下の値を設定します。
   + **セキュリティグループ名:** **tutorial-securitygroup**
   + **説明:** **Tutorial Security Group**
   + **[VPC ID]**: 前に作成した VPC を選択します (例: **[vpc-*identifier* (tutorial-vpc)]**)。

1. インバウンドルールをセキュリティグループに追加します。

   1. Secure Shell (SSH) を使用して VPC の EC2 インスタンスへの接続に使用する IP アドレスを決定します。パブリック IP アドレスを決定するには、別のブラウザウィンドウまたはタブで、[https://checkip.amazonaws.com](https://checkip.amazonaws.com) のサービスを使用できます。IP アドレスの例は `203.0.113.25/32` です。

      多くの場合、インターネットサービスプロバイダー (ISP) 経由、またはファイアウォールの内側から静的 IP アドレスなしで接続することがあります。この場合は、クライアントコンピュータが使用する IP アドレスの範囲を検索します。
**警告**  
SSH アクセスに `0.0.0.0/0` を使用すると、すべての IP アドレスが SSH を使ってパブリックインスタンスにアクセスできるようになります。この方法は、テスト環境で短時間なら許容できますが、実稼働環境では安全ではありません。実稼働環境では、特定の IP アドレスまたは特定のアドレス範囲にのみ、SSH を使ったインスタンスへのアクセスを限定します。

   1. [**インバウンドルール**] セクションで、[**ルールの追加**] を選択します。

   1. 新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスへの SSH アクセスを許可します。こうすることで、Amazon EC2 インスタンスに接続して、ウェブサーバーなどのユーティリティをインストールできます。また、EC2 インスタンスに接続して、ウェブサーバー用のコンテンツをアップロードします。
      + **タイプ:** **SSH**
      + **ソース:** ステップ a で指定した IP アドレスまたはアドレス範囲 (**203.0.113.25/32** など)

   1. [**ルールの追加**] を選択します。

   1. 新しいインバウンドルールに次の値を設定して、ウェブサーバーに HTTP へのアクセスを許可します。
      + **型:** **HTTP**
      + **ソース:** **0.0.0.0/0**

1. セキュリティグループを作成するには、**[Create security group]** (セキュリティグループの作成) を選択します。

   セキュリティグループ ID を書き留めます。このチュートリアルで後に必要になります。

## プライベート DB インスタンスの VPC セキュリティグループを作成する
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB"></a>

DB インスタンスをプライベートのままにするには、プライベートアクセス用の第 2 のセキュリティグループを作成します。VPC 内のプライベート DB インスタンスに接続するには、ウェブサーバーからのトラフィックのみを許可するインバウンドルールを VPC セキュリティグループに追加します。

**VPC セキュリティグループを作成するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. [**VPC ダッシュボード**]、[**セキュリティグループ**]、[**セキュリティグループの作成**] の順に選択します。

1. [**セキュリティグループの作成**] ページで、以下の値を設定します。
   + **セキュリティグループ名:** **tutorial-db-securitygroup**
   + **説明:** **Tutorial DB Instance Security Group**
   + **[VPC ID]**: 前に作成した VPC を選択します (例: **[vpc-*identifier* (tutorial-vpc)]**)。

1. インバウンドルールをセキュリティグループに追加します。

   1. [**インバウンドルール**] セクションで、[**ルールの追加**] を選択します。

   1. 新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスからポート 3306 への MySQL トラフィックを許可します。これを実行すると、ウェブサーバーから DB インスタンスに接続できます。そうすることで、ウェブアプリケーションからのデータをデータベースに保存および取得できるようになります。
      + **型:** **MySQL/Aurora**
      + **[Source]** (ソース): このチュートリアルで以前に作成した **tutorial-securitygroup ** セキュリティグループの ID (例: **sg-9edd5cfb**)。

1. セキュリティグループを作成するには、**[Create security group]** (セキュリティグループの作成) を選択します。

## DB サブネットグループを作成する
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.DBSubnetGroup"></a>

*DB サブネットグループ*は VPC に作成するサブネットのコレクションで、DB インスタンス用に指定します。DB サブネットグループでは、DB インスタンスの作成時に特定の VPC を指定することができます。

**DB サブネットグループを作成するには**

1. VPC 内のデータベースのプライベートサブネットを特定します。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. **[VPC Dashboard]** (VPC ダッシュボード) を選択してから、**[Subnets]** (サブネット) を選択します。

   1. **tutorial-subnet-private1-us-west-2a** と **tutorial-subnet-private2-us-west-2b** という名前のサブネット ID に注意してください。

      DB サブネットグループを作成するときに、サブネット ID が必要です。

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

   Amazon VPC コンソールではなく、Amazon RDS コンソールに接続してください。

1. [Navigation] ペインで、[**Subnet groups**] を選択します。

1. **[Create DB subnet group]** (DB サブネットグループの作成) を選択します。

1. [**DB サブネットグループを作成する**] ページで、[**サブネットグループの詳細**] に値を設定します。
   + **名前:** **tutorial-db-subnet-group**
   + **説明:** **Tutorial DB Subnet Group**
   + **VPC:** **tutorial-vpc (vpc-*identifier*)** 

1. [**サブネットの追加**] セクションで、[**アベイラビリティーゾーン**] と [**サブネット**] を選択します。

   このチュートリアルでは、**[Availability Zones]** (アベイラビリティーゾーン) として **[us-west-2a]** と **[us-west-2b]** を選択します。**[Subnets]** (サブネット) では、前のステップで特定したプライベートサブネットを選択します。

1. **[作成]** を選択します。

   RDS コンソールの DB サブネットグループリストに新しい DB サブネットグループが表示されます。DB サブネットグループを選択すると、ウィンドウ下部の詳細ペインに、詳細を表示することができます。これらの詳細には、グループに関連付けられているすべてのサブネットが含まれます。

**注記**  
この VPC を作成して [チュートリアル: ウェブサーバーと Amazon RDS DB インスタンスを作成する](TUT_WebAppWithRDS.md) を完了した場合は、[「Amazon RDS DB インスタンスの作成」](CHAP_Tutorials.WebServerDB.CreateDBInstance.md) の手順に従って DB インスタンスを作成します 。

## VPC の削除
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.Delete"></a>

このチュートリアルの VPC およびその他のリソースを作成後、不要になった場合は、削除できます。

**注記**  
このチュートリアルで作成した VPC にリソースを追加した場合は、VPC を削除する前にこれらを削除しなければならない場合があります。例えば、これらのリソースには Amazon EC2 インスタンスや Amazon RDS DB インスタンス が含まれる場合があります。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC の削除](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Deleting)」を参照してください。

**VPC と関連リソースを削除する方法**

1. DB サブネットグループを削除する。

   1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

   1. [ナビゲーション] ペインで、[**サブネットグループ**] を選択します。

   1. 削除する DB サブネットグループを選択します。(例: **tutorial-db-subnet-group**) 

   1. [**Delete**] (削除) を選択してから、確認ウィンドウの [**Delete**] (削除) を選択します。

1. VPC ID を書き留める。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC ダッシュボード**] を選択してから、[**VPC**] を選択します。

   1. リストで、作成した VPC を特定します。(例: **tutorial-vpc**)

   1. 作成した VPC の **[VPC ID]** をメモします。後続のステップで VPC ID が必要になります。

1. セキュリティグループを削除する。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC Dashboard**] (VPC ダッシュボード) を選択してから、[**Security Groups**] (セキュリティグループ) を選択します。

   1. Amazon RDS DB インスタンスのセキュリティグループを選択します。(例: **tutorial-db-securitygroup**)

   1. **[Actions]** (アクション) で、**[Delete security groups]** (セキュリティグループの削除) を選択してから、確認ページで **[Delete]** (削除) を選択します。

   1. [**Security Groups**] (セキュリティグループ) ページで、Amazon EC2 インスタンスのセキュリティグループを選択します。(例: **tutorial-securitygroup**)

   1. **[Actions]** (アクション) で、**[Delete security groups]** (セキュリティグループの削除) を選択してから、確認ページで **[Delete]** (削除) を選択します。

1. VPC を削除する。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC Dashboard**] (VPC ダッシュボード) を選択してから、[**VPC**] を選択します。

   1. 削除する VPC を選択します。(例: **tutorial-vpc**)

   1. [**アクション**] で、[**VPC の削除**] を選択します。

      確認ページには、VPC に関連付けられたサブネットを含め、削除される VPC に関連付けられているその他のリソースが表示されます。

   1. 確認ページで、「**delete**」を入力してから、[**Delete**] (削除) を選択します。

# チュートリアル: DB インスタンス用の VPC を作成する (デュアルスタックモード)
<a name="CHAP_Tutorials.CreateVPCDualStack"></a>

一般的なシナリオには、Amazon VPC サービスに基づく仮想プライベートクラウド (VPC) 内の DB インスタンスが含まれます。この VPC は、同じ VPC で実行しているパブリック Amazon EC2 インスタンスとデータを共有します。

このチュートリアルでは、デュアルスタックモードで実行されているデータベースで動作する VPC を、このシナリオで作成します。IPv6 アドレッシングプロトコルを介した接続を可能にするデュアルスタックモード。IP アドレスの割り当てについては、「[Amazon RDS IP アドレス指定](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing)」を参照してください。

デュアルスタックのネットワークインスタンスは、ほとんどのリージョンでサポートされています。詳細については、「[リージョンとバージョンの可用性](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing.RegionVersionAvailability)」を参照してください。デュアルスタックモードの制限については、「[デュアルスタックネットワーク DB インスタンスの制限](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing.dual-stack-limitations)」を参照してください。

以下の図に、このシナリオを示しています。

 

![\[デュアルスタックモードの VPC シナリオ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp-dual-stack.png)


その他のシナリオについては、[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md) を参照してください。

DB インスタンスは、Amazon EC2 インスタンスでのみ使用でき、パブリックインターネットから使用できないようにする必要があります。したがって、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。Amazon EC2 インスタンスは、パブリックインターネットにアクセスできるようにパブリックサブネットでホストされます。DB インスタンスはプライベートサブネットでホストされます。Amazon EC2 インスタンスは同じ VPC 内でホストされているため、DB インスタンスに接続できます。ただし、DB インスタンスはパブリックインターネットからは使用できないため、セキュリティが向上します。

このチュートリアルでは、別のアベイラビリティーゾーンに追加のパブリックサブネットとプライベートサブネットを設定します。これらのサブネットはチュートリアルでは使用されません。RDS DB サブネットグループは、少なくとも 2 つのアベイラビリティーゾーン内のサブネットを必要とします。サブネットが追加されたことで、将来的にマルチ AZ DB インスタンス配置に簡単に切り替えることができるようになります。

デュアルスタックモードを使用する DB インスタンスを作成するには、**[Network type]** (ネットワークタイプ) 設定として **[Dual-stack mode]** (デュアルスタックモード) を指定します。DB インスタンスを同じ設定で変更することもできます。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」および「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

このチュートリアルでは、Amazon RDS DB インスタンス 用に VPC を設定する方法について説明します。Amazon VPC の詳細については、「[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)」を参照してください。

## プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets"></a>

以下の手順で、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。

**VPC とサブネットを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. AWS マネジメントコンソール の右上隅で、VPC を作成するリージョンを選択します。この例では、米国東部 (オハイオ) リージョンを使用します。

1. 左上隅の **[VPC dashboard]** (VPC ダッシュボード) を選択します。VPC の作成を開始するには、**[Create VPC]** (VPC の作成) を選択します。

1. **[VPC Settings]** (VPC 設定) の **[Resources to create]** (作成するリソース) で、**[VPC and more]** (VPC など) を選択します。

1. 残りの **[VPC settings]** (VPC 設定) で、これらの値を設定します。
   + **[Name tag auto-generation]** (ネームタグ自動生成) – **tutorial-dual-stack**
   + **[IPv4 CIDR block]** (IPv4 CIDR ブロック) – **10.0.0.0/16**
   + **[IPv6 CIDR block]** (IPv6 CIDR ブロック) – **[Amazon-provided IPv6 CIDR block]** (Amazon 提供の IPv6 CIDR ブロック)
   + **[Tenancy] **(テナンシー) – **デフォルト**
   + **[Number of Availability Zones (AZs)]** (アベイラビリティーゾーンの数 (AZ)) – **2**
   + **[Customize AZs]** (AZ をカスタマイズする) – デフォルト値を維持します。
   + **[Number of public subnet]** (パブリックサブネット数) – **2**
   + **[Number of private subnets]** (プライベートサブネット数) – **2**
   + **[Customize subnets CIDR blocks]** (サブネット CIDR ブロックをカスタマイズ) — デフォルト値を維持します。
   + **[NAT gateways (\$1)]** (NAT ゲートウェイ (\$1)) – **なし**
   + **[Egress only internet gateway]** (Egress-only インターネットゲートウェイ): **[No]** (なし)
   + **[VPC endpoints]** (VPC エンドポイント) – **なし**
   + **[DNS options]** (DNS オプション) — デフォルト値を維持します。
**注記**  
Amazon RDS では、マルチ AZ DB インスタンス配置をサポートするために、2 つの異なるアベイラビリティーゾーン内のサブネットを少なくとも 2 つ含んでいる必要があります。このチュートリアルではシングル AZ 配置を作成しますが、この要件により将来的に マルチ AZ DB インスタンス配備に簡単に変換できます。

1. [**Create VPC (VPC の作成)**] を選択します。

## パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2"></a>

次に、パブリックアクセスのためのセキュリティグループを作成します。VPC 内のパブリック EC2 インスタンスに接続するには、インターネットから接続するトラフィックを許可するインバウンドルールを VPC セキュリティグループに追加します。

**VPC セキュリティグループを作成するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. [**VPC ダッシュボード**]、[**セキュリティグループ**]、[**セキュリティグループの作成**] の順に選択します。

1. [**セキュリティグループの作成**] ページで、以下の値を設定します。
   + **セキュリティグループ名:** **tutorial-dual-stack-securitygroup**
   + **説明:** **Tutorial Dual-Stack Security Group**
   + **[VPC ID]**: 前に作成した VPC を選択します (例: **[vpc-*identifier* (tutorial-dual-stack-vpc)]**)。

1. インバウンドルールをセキュリティグループに追加します。

   1. Secure Shell (SSH) を使用して VPC の EC2 インスタンスへの接続に使用する IP アドレスを決定します。

      インターネットプロトコルバージョン 4 (IPv4) アドレスの例は `203.0.113.25/32` です。インターネットプロトコルバージョン 6 (IPv6) のアドレス範囲の例は `2001:db8:1234:1a00::/64` です。

      多くの場合、インターネットサービスプロバイダー (ISP) 経由、またはファイアウォールの内側から静的 IP アドレスなしで接続することがあります。この場合は、クライアントコンピュータが使用する IP アドレスの範囲を検索します。
**警告**  
IPv4 の `0.0.0.0/0` または IPv6 の `::0` を使用している場合は、すべての IP アドレスが SSH を使ってパブリックインスタンスにアクセスできるようにします。この方法は、テスト環境で短時間なら許容できますが、実稼働環境では安全ではありません。実稼働環境では、特定の IP アドレスまたは特定のアドレス範囲にのみ、インスタンスへのアクセスを許可します。

   1. [**インバウンドルール**] セクションで、[**ルールの追加**] を選択します。

   1. 新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスへの Secure Shell (SSH) アクセスを許可します。このようにした場合、EC2 インスタンスに接続して SQL クライアントやその他のアプリケーションをインストールできます。EC2 インスタンスへのアクセスできるように IP アドレスを指定します。
      + **[Type]** (タイプ): **SSH**
      + **[Source]** (ソース): ステップ a で指定した IP アドレスまたは範囲。IPv4 IP アドレスの例は **203.0.113.25/32** です。IPv6 IP アドレスの例は **2001:DB8::/32** です。

1. セキュリティグループを作成するには、**[Create security group]** (セキュリティグループの作成) を選択します。

   セキュリティグループ ID を書き留めます。このチュートリアルで後に必要になります。

## プライベート DB インスタンスの VPC セキュリティグループを作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.SecurityGroupDB"></a>

DB インスタンスをプライベートのままにするには、プライベートアクセス用の第 2 のセキュリティグループを作成します。VPC 内のプライベート DB インスタンスに接続するには、VPC セキュリティグループにインバウンドルールを追加します。これにより、Amazon EC2 インスタンスからのトラフィックのみを許可します。

**VPC セキュリティグループを作成するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. [**VPC ダッシュボード**]、[**セキュリティグループ**]、[**セキュリティグループの作成**] の順に選択します。

1. [**セキュリティグループの作成**] ページで、以下の値を設定します。
   + **セキュリティグループ名:** **tutorial-dual-stack-db-securitygroup**
   + **説明:** **Tutorial Dual-Stack DB Instance Security Group**
   + **[VPC ID]**: 前に作成した VPC を選択します (例: **[vpc-*identifier* (tutorial-dual-stack-vpc)]**)。

1. インバウンドルールをセキュリティグループに追加します。

   1. [**インバウンドルール**] セクションで、[**ルールの追加**] を選択します。

   1. 新しいインバウンドルールに次の値を設定して、Amazon EC2 インスタンスからポート 3306 への MySQL トラフィックを許可します。その場合、EC2 インスタンスから DB インスタンスに接続できます。これにより、EC2 インスタンスからデータベースにデータを送信できるようになります。
      + **[Type]** (タイプ): **MySQL/Aurora**
      + **[Source]** (ソース): このチュートリアルで以前に作成した **tutorial-dual-stack-securitygroup** セキュリティグループの ID (例: **sg-9edd5cfb**)。

1. セキュリティグループを作成するには、[**セキュリティグループの作成**] を選択します。

## DB サブネットグループを作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.DBSubnetGroup"></a>

*DB サブネットグループ*は VPC に作成するサブネットのコレクションで、DB インスタンス用に指定します。DB サブネットグループを使用することにより、DB インスタンスを作成するときに、特定の VPC を指定することができます。`DUAL` 互換の DB サブネットグループを作成するには、すべてのサブネットが `DUAL` 互換である必要があります。`DUAL` 互換であるためには、サブネットに IPv6 CIDR が関連付けられている必要があります。

**DB サブネットグループを作成するには**

1. VPC 内のデータベースのプライベートサブネットを特定します。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. **[VPC Dashboard]** (VPC ダッシュボード) を選択してから、**[Subnets]** (サブネット) を選択します。

   1. **tutorial-dual-stack-subnet-private1-us-west-2a** と **tutorial-dual-stack-subnet-private2-us-west-2b** という名前のサブネット ID に注意してください。

      サブネット ID は、DB サブネットグループを作成するときに必要になります。

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

   Amazon VPC コンソールではなく、Amazon RDS コンソールに接続してください。

1. [Navigation] ペインで、[**Subnet groups**] を選択します。

1. **[Create DB subnet group]** (DB サブネットグループの作成) を選択します。

1. [**DB サブネットグループを作成する**] ページで、[**サブネットグループの詳細**] に値を設定します。
   + **名前:** **tutorial-dual-stack-db-subnet-group**
   + **説明:** **Tutorial Dual-Stack DB Subnet Group**
   + **VPC:** **tutorial-dual-stack-vpc (vpc-*identifier*)** 

1. **[Add subnets]** (サブネットの追加) セクションで、**[Availability Zones]** (アベイラビリティーゾーン) オプションと **[Subnets]** (サブネット) オプションの値を選択します。

   このチュートリアルでは、**[Availability Zones]** (アベイラビリティーゾーン) として **[us-east-2a]** と **[us-east-2b]** を選択します。**[Subnets]** (サブネット) では、前のステップで特定したプライベートサブネットを選択します。

1. **[作成]** を選択します。

RDS コンソールの DB サブネットグループリストに新しい DB サブネットグループが表示されます。DB サブネットグループを選択して詳細を表示できます。これには、サポートされているアドレス指定プロトコルと、そのグループに関連付けられたすべてのサブネット、DB サブネットグループによってサポートされるネットワークタイプが含まれます。

## デュアルスタックモードの Amazon EC2 インスタンスを作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.CreateEC2Instance"></a>

Amazon EC2 インスタンスを作成するには、「*Amazon EC2 ユーザーガイド*」の「[新しいインスタンス起動ウィザードを使用してインスタンスを起動する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)」の指示に従います。

次に示すように、**[Configure Instance Details]** (インスタンスの詳細の設定) ページで次の値を設定し、他の値はデフォルトのままにします。
+ **ネットワーク** – パブリックサブネットとプライベートサブネットの両方を持つ既存の VPC を選択します ([プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する](#CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets) で作成した **tutorial-dual-stack-vpc** (vpc-*identifier*) など)。
+ **[Subnet]** (サブネット): 既存のパブリックサブネットを選択します ([パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2) で作成した **subnet-*identifier* \$1 tutorial-dual-stack-subnet-public1-us-east-2a \$1 us-east-2a** など)。
+ **[Auto-assign Public IP] (パブリック IP の自動割り当て)**]: **[Enable]** (有効化) を選択します。
+ **[Auto-assign IPv6 IP]**: **[Enable]** (有効化) を選択します。
+ **[Firewall (security groups)]** (ファイアウォール (セキュリティグループ)) — **[Select an existing security group]** (既存のセキュリティグループを選択する) を選択します。
+ **[Common security groups]** (共通セキュリティグループ) — `tutorial-securitygroup` で作成された [パブリック Amazon EC2 インスタンスの VPC セキュリティグループを作成する](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupEC2) などの既存のセキュリティグループを選択します。選択するセキュリティグループに、Secure Shell (SSH) および HTTP アクセスのインバウンドルールが含まれていることを確認します。

## デュアルスタックモードの DB インスタンスを作成する
<a name="CHAP_Tutorials.CreateVPCDualStack.CreateDBInstance"></a>

このステップでは、デュアルスタックモードで実行する DB インスタンスを作成します。

**DB インスタンスを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. コンソールの右上隅で、DB インスタンスを作成する AWS リージョン を選択します。この例では、米国東部 (オハイオ) リージョンを使用します。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. **[データベースの作成]** を選択します。

1. **[Create database]** (データベースの作成) ページで、**[Standard create]** (スタンダード作成) オプションがオンになっていることを確認し、 MySQL DB を選択します。

1. [**接続**] セクションで、次の値を設定します。
   + **[Network type]** (ネットワークタイプ): **[Dual-stack mode]** (デュアルスタックモード) を選択します。  
![\[[デュアルスタックモード] が選択されているコンソールの [ネットワークタイプ] セクション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dual-stack-mode.png)
   + **[Virtual private cloud (VPC)]** (仮想プライベートクラウド (VPC)): パブリックサブネットとプライベートサブネットの両方を持つ既存の VPC を選択します ([プライベートサブネットおよびパブリックサブネットを持つ VPC を作成する](#CHAP_Tutorials.CreateVPCDualStack.VPCAndSubnets) で作成した **tutorial-dual-stack-vpc** (vpc-*identifier*) など)。

     VPC の各サブネットは異なるアベイラビリティーゾーンに存在している必要があります。
   + **[DB Subnet group]** (DB サブネットグループ): VPC の DB サブネットグループ ([DB サブネットグループを作成する](#CHAP_Tutorials.CreateVPCDualStack.DBSubnetGroup) で作成した **tutorial-dual-stack-db-subnet-group** など)。
   + **[Public access]** (公開アクセス) — **[No]** (いいえ) を選択します。
   + **[VPC security group (firewall)]** (VPC セキュリティグループ (ファイアウォール)) — **[Choose existing]** (既存を選択) を選択します。
   + **[Existing VPC security groups]** (既存の VPC セキュリティグループ) – プライベートアクセス用に設定されている既存の VPC セキュリティグループを選択します ([プライベート DB インスタンスの VPC セキュリティグループを作成する](#CHAP_Tutorials.CreateVPCDualStack.SecurityGroupDB) で作成した **tutorial-dual-stack-db-securitygroup** など)。

     他のセキュリティグループ (デフォルトのセキュリティグループなど) は、それぞれの対応する [**X**] を選択して削除します。
   + **[Availability zone]** (アベイラビリティーゾーン): **us-west-2a** を選択します。

     AZ 間のトラフィックを回避するには、DB インスタンスと EC2 インスタンスが同じアベイラビリティーゾーンにあることを確認してください。

1. 残りのセクションで、DB インスタンス設定を指定します。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

## Amazon EC2 インスタンスと DB インスタンスに接続する
<a name="CHAP_Tutorials.CreateVPCDualStack.Connect"></a>

Amazon EC2 インスタンスと DB インスタンスをデュアルスタックモードで作成した後、IPv6 プロトコルを使用して各インスタンスに接続できます。IPv6 プロトコルを使用して Amazon EC2 インスタンスに接続するには、「*Amazon EC2 ユーザーガイド*」の「[Linux インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)」の指示に従ってください。

Amazon EC2 インスタンスから RDS for MySQL DB インスタンスに接続するには、「[MySQL DB インスタンスに接続する](CHAP_GettingStarted.CreatingConnecting.MySQL.md#CHAP_GettingStarted.Connecting.MySQL)」の手順に従ってください。

## VPC の削除
<a name="CHAP_Tutorials.CreateVPCDualStack.Delete"></a>

このチュートリアルの VPC およびその他のリソースを作成後、不要になった場合は、削除できます。

このチュートリアルで作成した VPC にリソースを追加した場合は、VPC を削除する前にこれらを削除しなければならない場合があります。リソースの例としては、Amazon EC2 インスタンスや DB インスタンスなどがあります。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC の削除](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Deleting)」を参照してください。

**VPC と関連リソースを削除する方法**

1. DB サブネットグループを削除するには、次のようにします。

   1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

   1. [ナビゲーション] ペインで、[**サブネットグループ**] を選択します。

   1. 削除する DB サブネットグループを選択します (**[tutorial-db-subnet-group]** など)。

   1. [**削除**] を選択してから、確認ウィンドウの [**削除**] を選択します。

1. 次のようにして、VPC ID をメモします。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC ダッシュボード**] を選択してから、[**VPC**] を選択します。

   1. リストで、作成した VPC を特定します (**[tutorial-dual-stack-vpc]** など)。

   1. 作成した VPC の **[VPC ID]** の値をメモします。後続のステップで、この VPC ID が必要になります。

1. セキュリティグループを削除するには、次のようにします。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC ダッシュボード**] を選択してから、[**セキュリティグループ**] を選択します。

   1. Amazon RDS DB インスタンスのセキュリティグループを選択します (**[tutorial-dual-stack-db-securitygroup]** など)。

   1. **[Actions]** (アクション) で、**[Delete security groups]** (セキュリティグループの削除) を選択してから、確認ページで **[Delete]** (削除) を選択します。

   1. **[Security Groups]** (セキュリティグループ) ページで、Amazon EC2 インスタンスのセキュリティグループを選択します (**[tutorial-dual-stack-securitygroup]** など)。

   1. **[Actions]** (アクション) で、**[Delete security groups]** (セキュリティグループの削除) を選択してから、確認ページで **[Delete]** (削除) を選択します。

1. 次のようにして、NAT ゲートウェイを削除します。

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC ダッシュボード**] を選択してから、[**NAT ゲートウェイ**] を選択します。

   1. 作成した VPC の NAT ゲートウェイを選択します。VPC ID を使用して、適切な NAT ゲートウェイを識別します。

   1. **[Actions]** (アクション) で、**[Delete NAT gateway]** (NAT ゲートウェイの削除) を選択します。

   1. 確認ページで、「**delete**」を入力してから、[**削除**] を選択します。

1. VPC の削除

   1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

   1. [**VPC ダッシュボード**] を選択してから、[**VPC**] を選択します。

   1. 削除する VPC を選択します (**[tutorial-dual-stack-vpc]** など)。

   1. [**アクション**] で、[**VPC の削除**] を選択します。

      確認ページには、VPC に関連付けられたサブネットを含め、削除される VPC に関連付けられているその他のリソースが表示されます。

   1. 確認ページで、「**delete**」を入力してから、[**Delete**] (削除) を選択します。

1. 次のようにして、Elastic IP アドレスを解放します。

   1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

   1. [**EC2 ダッシュボード**] を選択してから、[**Elastic IP**] を選択します。

   1. 解放する Elastic IP アドレスを選択します。

   1. **[Actions]** (アクション) で、**[Release Elastic IP addresses]** (Elastic IP アドレスの解放) を選択します。

   1. 確認ページで、[**リリース**] を選択します。

# VPC 外の DB インスタンスを VPC 内に移行する
<a name="USER_VPC.Non-VPC2VPC"></a>

EC2-Classic プラットフォームの DB インスタンスのいくつかは VPC にありません。DB インスタンスが VPC 内に存在しない場合は、AWS マネジメントコンソール を使用して、VPC 内に DB インスタンスを簡単に移行できます。VPC 外の DB インスタンスを VPC に移行する前に、VPC を作成する必要があります。


|  | 
| --- |
| EC2-Classic は 2022 年 8 月 15 日に廃止されました。EC2-Classic から VPC に移行していない場合、できるだけ早く移行することをお勧めします。詳細については、「Amazon EC2 ユーザーガイド」の[「EC2-Classic から VPC へ移行」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)およびブログ記事[「EC2-Classic ネットワーキングがリタイア — 準備方法」](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/)を参照してください。 | 

**重要**  
Amazon RDS を初めてご利用になる場合、以前に DB インスタンスを作成したことがない場合、または以前には使用したことがない AWS リージョンに DB インスタンスを作成する場合、使用するプラットフォームは *EC2-VPC* で、デフォルトの VPC があることがほとんどです。VPC での DB インスタンスの使用については、「[VPC 内の DB インスタンスの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md)」を参照してください。

DB インスタンスの VPC を作成するには、以下のステップを実行します。
+ [ステップ 1: VPC を作成する](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreatingVPC)
+  [ステップ 2: DB サブネットグループを作成する](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateDBSubnetGroup)
+  [ステップ 3: VPC セキュリティグループを作成する](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateVPCSecurityGroup)

VPC を作成した後、以下のステップに従って VPC 内に DB インスタンスを移行します。
+ [DB インスタンスの VPC の更新](USER_VPC.VPC2VPC.md)

移行の直前に DB インスタンスのバックアップを作成することを強くお勧めします。そうすることで、移行が失敗した場合でも、データを復元できます。詳細については、「[データのバックアップ、復元、エクスポート](CHAP_CommonTasks.BackupRestore.md)」を参照してください。

VPC 内に DB インスタンスを移行する際の制限事項を以下に示します。
+ **前の世代の DB インスタンスクラス** - 前の世代の DB インスタンスクラスは、VPC プラットフォームではサポートされない場合があります。DB インスタンスを VPC に移動するときは、db.m3 または db.r3 DB インスタンスクラスを選択します。DB インスタンスを VPC に移動したら、後の DB インスタンスクラスを使用するように DB インスタンスをスケーリングできます。VPC でサポートされるインスタンスクラスの詳細なリストについては、[Amazon RDS インスタンスタイプ](https://aws.amazon.com/rds/instance-types/)を参照してください。
+ **マルチ AZ** - VPC 外のマルチ AZ DB インスタンスの VPC への移行は現在サポートされていません。DB インスタンスを VPC に移動するには、まず DB インスタンスを変更して、シングル AZ 配置にします。**マルチ AZ 配置** 設定を「**いいえ**」に変更します。DB インスタンスを VPC に移動したら、再度変更してマルチ AZ 配置にします。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。
+ **リードレプリカ** - VPC 外の DB インスタンスとリードレプリカの VPC への移行は現在サポートされていません。DB インスタンスを VPC に移動するには、まずすべてのリードレプリカを削除します。DB インスタンスを VPC に移動したら、リードレプリカを再作成します。詳細については、「[DB インスタンスのリードレプリカの操作](USER_ReadRepl.md)」を参照してください。
+ **オプショングループ** - DB インスタンスを VPC に移動し、DB インスタンスがカスタムオプショングループを使用している場合は、DB インスタンスに関連付けられているオプショングループを変更します。オプショングループはプラットフォーム固有であるため、VPC に移行するとプラットフォームも変更されます。この場合にカスタムオプショングループを使用するには、DB インスタンスにデフォルトの VPC オプショングループを割り当てる、移行する VPC 内の別の DB インスタンスで使用されているオプショングループを割り当てる、または新しいオプショングループを作成して DB インスタンスに割り当てます。詳細については、「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。

## VPC 外の DB インスタンスを最小限のダウンタイムで VPC 内に移動する代替方法
<a name="USER_VPC.Non-VPC2VPC.Minimal-Downtime"></a>

以下の代替方法を使用して、VPC 内にない DB インスタンスを最小限のダウンタイムで VPC に移動できます。これらの代替方法により、ソース DB インスタンスの中断を最小限に抑え、移行中にユーザートラフィックを処理できるようにします。ただし、VPC への移行に必要な時間は、データベースのサイズとライブワークロードの特性によって異なります。
+ **AWS Database Migration Service (AWS DMS)** - AWS DMS は、ソース DB インスタンスを完全に稼働させながらデータのライブ移行を可能にしますが、限定された DDL ステートメントのセットのみをレプリケートします。AWS DMS は、インデックス、ユーザー、権限、ストアドプロシージャ、テーブルデータに直接関係しないその他のデータベースの変更などの項目を伝播しません。さらに、AWS DMS は、初期 DB インスタンスの作成に RDS スナップショットを自動的に使用しないため、移行時間が長くなる可能性があります。詳細については、「[AWS Database Migration Service](https://aws.amazon.com/dms/)」を参照してください。
+ **DB スナップショットの復元またはポイントインタイムリカバリ** - DB インスタンスのスナップショットを復元するか、DB インスタンスを特定の時点に復元することによって、DB インスタンスを VPC に移動できます。詳細については、[DB インスタンスへの復元](USER_RestoreFromSnapshot.md)および[Amazon RDS の DB インスタンスを特定の時点に復元する](USER_PIT.md)を参照してください。