メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

VPC 内の Amazon RDS DB インスタンスの使用

レガシー DB インスタンスを使用しない場合、DB インスタンスは Virtual Private Cloud (VPC) となります。仮想プライベートクラウドは、AWS クラウド内の他の仮想ネットワークから論理的に独立した仮想ネットワークです。Amazon Virtual Private Cloud (Amazon VPC) は、VPC で Amazon Relational Database Service (Amazon RDS) や Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなどの AWS リソースを起動できるようにします。VPC は、自分のアカウントに属するデフォルト VPC を使用するか、独自に作成することもできます。すべての VPC は、AWS アカウントに関連付けられます。

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

VPC の内外で Amazon RDS DB インスタンスが関係するシナリオのリストについては、「VPC の DB インスタンスにアクセスするシナリオ」を参照してください。

一般的な Amazon RDS シナリオで利用できる、VPC を作成する方法のチュートリアルについては、「チュートリアル: Amazon RDS DB インスタンスで使用する Amazon VPC の作成」を参照してください。

VPC 内の Amazon RDS DB インスタンスで操作する方法については、以下を参照してください。

VPC の DB インスタンスの使用

次に、VPC の DB インスタンスの使用に関するヒントを紹介します。

  • VPC には、DB インスタンスをデプロイするリージョン内の少なくとも 2 つのアベイラビリティゾーンに少なくとも 1 つのサブネットが必要です。サブネットは、VPC の IP アドレス範囲の指定可能なセグメントで、セキュリティや運用上のニーズに基づいてインスタンスをグループ化することができます。

  • VPC の DB インスタンスをパブリックにアクセス可能にする場合は、VPC 属性の DNS hostnamesDNS resolution を有効にする必要があります。

  • ご利用の VPC では、DB サブネットグループを作成する必要があります (詳細は次のセクションを参照)。作成したサブネットを指定して、DB サブネットグループを作成します。Amazon RDS は、その DB サブネットグループと優先アベイラビリティーゾーンを使用し、サブネットとそのサブネット内の IP アドレスを選択して DB インスタンスに割り当てます。

  • VPC には、DB インスタンスへのアクセスを許可する VPC セキュリティグループが必要です。

  • 各サブネットの CIDR ブロックは、フェイルオーバーやコンピュートスケーリングの見積りなどのメンテナンス作業中に Amazon RDS が使用する予備の IP アドレスに十分対応できる大きさが必要です。

  • VPC では、インスタンスのテナント属性が default または dedicated のいずれかに設定されます。デフォルト VPC では、インスタンスのテナント属性はすべて default に設定され、DB インスタンスのすべてのクラスがサポートされます。

    インスタンスのテナント属性を dedicated に設定してご利用の DB インスタンスをハードウェア専有 VPC にするには、DB インスタンスのクラスを Amazon EC2 の承認されたハードウェア専有インスタンスタイプのいずれかに設定する必要があります。たとえば、m3.medium EC2 ハードウェア専有インスタンスは、db.m3.medium DB インスタンスクラスに対応します。ハードウェア専有インスタンスに対応するインスタンスのタイプの詳細については、EC2 料金表ページの「Amazon EC2 のハードウェア専有インスタンス」を参照してください。VPC のインスタンステナンシーの詳細については、『Amazon Virtual Private Cloud ユーザーガイド』の「EC2 ハードウェア専有インスタンスの使用」を参照してください。

  • オプショングループは DB インスタンスに割り当てられると、DB インスタンスがあるサポートされているプラットフォーム (VPC または VPC ではない EC2-Classic) にリンクされます。DB インスタンスが VPC 内にある場合、そのインスタンスに関連付けられているオプショングループはその VPC にリンクされます。このリンクは、別の VPC 内にまたは別のプラットフォーム上に DB インスタンスを復元しようとしても、そのインスタンスに割り当てられているオプショングループは使用できないことを意味します。

  • 別の VPC 内にまたは別のプラットフォーム上に DB インスタンスを復元する場合は、デフォルトのオプショングループをインスタンスに割り当てるか、その VPC またはプラットフォームにリンクされているオプショングループをインスタンスに割り当てるか、新しいオプショングループを作成してインスタンスに割り当てる必要があります。Oracle TDE などの永続または固定オプションを使用する場合は、別の VPC 内に DB インスタンスを復元するときに、永続または固定オプションを含む新しいオプショングループを作成する必要があります。

DB サブネットグループの使用

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

各 DB サブネットグループには、特定のリージョン内の少なくとも 2 つのアベイラビリティーゾーンにサブネットが必要です。 VPC に DB インスタンスを作成するときに、DB サブネットグループを選択する必要があります。Amazon RDS は、その DB サブネットグループと優先アベイラビリティーゾーンを使用し、サブネットとそのサブネット内の IP アドレスを選択して DB インスタンスに関連付けます。マルチ AZ 配置のプライマリ DB インスタンスが失敗した場合、Amazon RDS は対応するスタンバイを昇格させ、その後他のアベイラビリティーゾーンのサブネットの IP アドレスを使用して、新しいスタンバイを作成できます。

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

注記

VPC で実行する各 DB インスタンスに対して、Amazon RDS が復旧アクションに使用できるように、DB サブネットグループのサブネットごとに最低 1 つのアドレスを確保する必要があります。

VPC の DB インスタンスをインターネットから隠す

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

任意の VPC 内の DB インスタンスを起動するときに、PubliclyAccessible パラメータを使用して、作成した DB インスタンスに、パブリック IP アドレスに解決できる DNS を設定するかどうかを指定できます。このパラメータにより、DB インスタンスに対するパブリックアクセスがあるかどうかを指定することができます。DB インスタンスへのアクセスは、最終的にそこで使用されるセキュリティグループによって制御され、DB インスタンスに割り当てられたセキュリティグループで許可されなければ、パブリックからアクセスすることはできません。

PubliclyAccessible パラメータを変更することによって、DB インスタンスのパブリックアクセス可能性をオンまたはオフにすることができます。このパラメータは、DB インスタンスの他のパラメータと同様に変更されます。詳細については、DB エンジンの変更に関するセクションを参照してください。

次の図は、[Launch DB Instance Wizard] の [Publicly Accessible] オプションを示しています。

VPC に DB インスタンスを作成する

次の手順で VPC 内に DB インスタンスを作成できます。アカウントにデフォルト VPC がある場合は、VPC と DB サブネットグループがすでに作成されているため、ステップ 3 から始めることができます。AWS アカウントにデフォルト VPC がない場合、または追加 VPC を作成する場合は、新しい VPC を作成できます。 デフォルト VPC があるかどうかわからない場合は、「EC2-VPC または EC2-Classic のどちらのプラットフォームを使用するか判断する」を参照してください。

注記

VPC の DB インスタンスへのパブリックアクセスを可能にするには、VPC 属性の DNS hostnamesDNS resolution を有効化して、VPC 関する DNS 情報を更新する必要があります。VPC インスタンスに関する DNS 情報の更新については、「VPC の DNS サポートを更新する」を参照してください。

VPC 内に DB インスタンスを作成するには、以下の手順を実行します。

ステップ 1: VPC を作成する

AWS アカウントにデフォルト VPC がない場合、または追加 VPC を作成する場合は、次の手順を実行して新しい VPC を作成します。Amazon RDS 資料の「VPC をプライベートサブネットおよびパブリックサブネットで作成する」、または Amazon VPC 資料の「ステップ 1: VPC を作成する」を参照してください。

ステップ 2: VPC にサブネットを追加します。

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

VPC でサブネットを作成する手順については、Amazon RDS ドキュメントの「VPC をプライベートサブネットおよびパブリックサブネットで作成する」を参照してください。

ステップ 3: DB サブネットグループの作成

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

注記

DB インスタンスをパブリックにアクセス可能にするには、DB サブネットグループのサブネットにインターネットゲートウェイが必要です。サブネット用のインターネットゲートウェイの詳細については、Amazon VPC ドキュメントの「インターネットゲートウェイ」を参照してください。

VPC に DB インスタンスを作成するときは、DB サブネットグループを選択する必要があります。選択すると、Amazon RDS は、その DB サブネットグループと設定したアベイラビリティーゾーンを使用し、サブネットとそのサブネット内の IP アドレスを選択します。Amazon RDS によって Elastic Network Interface が作成され、その IP アドレスを持つ DB インスタンスに関連付けられます。マルチ AZ 配置の場合、リージョン内の 2 つ以上のアベイラビリティゾーンにサブネットを定義すると、Amazon RDS は必要に応じて別のアベイラビリティゾーンに新しいスタンバイを作成できるようになります。シングル AZ 配置の場合も、どこかの時点でマルチ AZ 配置に変換する場合に備えてこのように定義する必要があります。

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

AWS マネジメントコンソール

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

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

  2. [Navigation] ペインで、[Subnet Groups] を選択します。

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

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

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

  6. [VPC ID] で、作成した VPC を選択します。

  7. [Add Subnet(s) to this Subnet Group] セクションで、[add all the subnets] リンクをクリックします。

     [Create DB Subnet Group] ボタン
  8. [Yes, Create] を選択し、次に [Close] を選択します。

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

ステップ 4: VPC セキュリティグループを作成する

DB インスタンスを作成する前に、DB インスタンスに関連付ける VPC セキュリティグループを作成する必要があります。DB インスタンスのセキュリティグループを作成する手順については、Amazon RDS 資料の「 プライベート Amazon RDS DB インスタンスの VPC セキュリティグループの作成」、または Amazon VPC 資料の「VPC のセキュリティグループ」を参照してください。

ステップ 5: VPC に DB インスタンスを作成する

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

注記

VPC の DB インスタンスをパブリックにアクセス可能にする場合は、VPC 属性の DNS hostnamesDNS resolution を有効にする必要があります。VPC インスタンスに関する DNS 情報の更新方法については、「VPC の DNS サポートを更新する」を参照してください。

DB エンジンの DB インスタンスを作成する方法の詳細については、DB エンジンについてを説明している以下のトピックを参照してください。それぞれのエンジンで、プロンプトが表示されたら、[Launch DB Instance Wizard] に前のステップで作成した VPC の名前、DB サブネットグループ、VPC セキュリティグループを入力します。

DB インスタンスの VPC の更新

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

DB エンジンの DB インスタンスを変更する方法の詳細については、DB エンジンについて説明している以下のテーブル内のトピックを参照してください。 変更ページの [Network & Security] セクションで、次に示すように、[Subnet Group] に新しいサブネットグループを入力します。 新しいサブネットグループは新しい VPC のサブネットグループである必要があります。

 DB インスタンスパネルサブネットグループセクションの変更

注記

VPC の更新は Aurora クラスターで現在サポートされていません。

VPC 外の DB インスタンスを VPC に移行する

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

DB インスタンスの VPC を作成するには、以下の手順を実行します。

VPC を作成した後、以下の手順に従って VPC 内に DB インスタンスを移行します。

VPC 内に DB インスタンスを移行する際の制限事項を以下に示します。

  • VPC 外のマルチ AZ DB インスタンスの VPC への移行は現在サポートされていません。

  • VPC 外の DB インスタンスとリードレプリカの VPC への移行は現在サポートされていません。

VPC に DB インスタンスを移行する場合、および DB インスタンスでカスタムオプショングループを使用している場合は、DB インスタンスに関連付けられたオプショングループを変更する必要があります。 オプショングループはプラットフォーム固有であるため、VPC に移行するとプラットフォームも変更されます。 この場合にカスタムオプショングループを使用するには、DB インスタンスにデフォルトの VPC オプショングループを割り当てる、移行する VPC 内の別の DB インスタンスで使用されているオプショングループを割り当てる、または新しいオプショングループを作成して DB インスタンスに割り当てます。 詳細については、「オプショングループを使用する」を参照してください。