デフォルトの VPC で外部 Amazon RDS インスタンスを起動して接続 - AWS Elastic Beanstalk

デフォルトの VPC で外部 Amazon RDS インスタンスを起動して接続

Elastic Beanstalk で実行されているアプリケーションで外部データベースを使用するには、2 つのオプションがあります。どちらでも、Amazon RDS で DB インスタンスを起動できます。Amazon RDS で起動するインスタンスは、Elastic Beanstalk および Elastic Beanstalk 環境から完全に独立しています。これは、Amazon RDS でサポートされているすべての DB エンジンとインスタンスタイプを、これらが Elastic Beanstalk で使用されていなくても使用できることを意味します。

または、新しい DB インスタンスを起動する代わりに、以前に Elastic Beanstalk で作成して、その後、Beanstalk 環境からデカップリングされたデータベースから開始することもできます。詳細については、「Elastic Beanstalk 環境にデータベースを追加する」を参照してください。このオプションを使用すると、新しいデータベースを起動する手順を行う必要はありません。ただし、このトピックで説明するその後の手順を完了する必要があります。

以下で、「デフォルト VPC」の手順について説明します。このプロセスは、カスタム VPC を使用する場合も同じです。唯一の追加要件となるのが、環境と DB インスタンスが相互に通信可能な同じサブネット内に存在することです。カスタム VPC を Elastic Beanstalk で設定する方法の詳細については、「Amazon VPC で Elastic Beanstalk を使用する」を参照してください。

注記
  • Elastic Beanstalk によって作成され、その後 Beanstalk 環境からデカップリングされたデータベースから開始する場合は、最初のグループの手順をスキップして、「RDS インスタンスのセキュリティグループのインバウンドルールを変更するには」以下のグループの手順から続行できます。

  • デカップリングしたデータベースを実稼働環境で使用する場合は、データベースが使用するストレージタイプがワークロードに適していることを確認します。詳細については、Amazon RDS ユーザーガイドの「Amazon RDS DB インスタンスストレージ」および「Amazon RDS DB インスタンスを変更する」を参照してください。

RDS DB インスタンスをデフォルト VPC 内で起動するには

  1. RDS コンソールを開きます。

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

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

  4. [Standard Create (標準作成)] を選択します。

    重要

    [Easy Create (簡易作成)] を選択しないでください。これを選択した場合、この RDS DB の起動に必要な設定ができません。

  5. [Additional configuration (追加の設定)] の [Initial database name (初期データベース名)] に 「ebdb」と入力します。

  6. デフォルト設定を確認し、自身に特有の要件に従ってこれらの設定を調整します。以下のオプションに注目します。

    • DB instance class (DB インスタンスクラス) – ワークロードに適したメモリ量と CPU 能力があるインスタンスサイズを選択します。

    • Multi-AZ deployment (マルチ AZ 配置) – 高可用性を得るには、これを [Create an Aurora Replica/Reader node in a different AZ (異なる AZ に Aurora レプリカ/リーダーノードを作成)] に設定します。

    • [Master username (マスターユーザー名)] と [Master password (マスターパスワード)] – データベースのユーザー名とパスワード。後で使用するため、これらの設定を書き留めておきます。

  7. 残りのオプションのデフォルト設定を確認し、[データベースの作成] を選択します。

次に、DB インスタンスにアタッチするセキュリティグループを変更して、適切なポートへのインバウンドトラフィックを許可します。これは、後で Elastic Beanstalk 環境にアタッチするのと同じセキュリティグループです。その結果、追加するルールは、同じセキュリティグループ内の他のリソースにインバウンドアクセスのアクセス許可を付与します。

RDS インスタンスにアタッチされているセキュリティグループのインバウンドルールを変更するには

  1. Amazon RDS コンソールを開きます。

  2. [データベース] をクリックします。

  3. 詳細を表示する DB インスタンスの名前を選択します。

  4. [Connectivity] (接続) セクションで、このページに表示される [Subnets] (サブネット)、Security groups (セキュリティグループ)、Endpoint (エンドポイント) をメモします。これは、後でこの情報を使用できるようにするためです。

  5. [Security] (セキュリティ) には、DB インスタンスに関連付けられるセキュリティグループが表示されます。リンクを開いて、Amazon EC2 コンソールにセキュリティグループを表示します。

    
        Amazon RDS コンソールの [DB インスタンス] ページの [接続] セクション
  6. セキュリティグループの詳細で、インバウンド を選択します。

  7. [Edit] を選択します。

  8. [Add Rule] を選択します。

  9. タイプ として、アプリケーションが使用する DB エンジンを選択します。

  10. ソース として、sg- と入力して、使用可能なセキュリティグループのリストを表示します。Elastic Beanstalk 環境で使用される Auto Scaling グループに関連付けられているセキュリティグループを選択します。これは、環境内の Amazon EC2 インスタンスがデータベースにアクセスできるようにするためです。

    
        Amazon EC2 コンソールのセキュリティグループのインバウンドのルールの編集
  11. [Save] を選択します。

次に、実行中の環境に DB インスタンスのセキュリティグループを追加します。この手順では、アタッチされる追加のセキュリティグループを使用して、Elastic Beanstalk が環境内のすべてのインスタンスの再プロビジョニングを行います。

環境にセキュリティグループを追加するには

  • 次のいずれかを行ってください。

    • Elastic Beanstalk コンソールを使用してセキュリティグループを追加するには

      1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

      2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

        注記

        環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

      3. ナビゲーションペインで、[設定] を選択します。

      4. [インスタンス] 設定カテゴリで、[編集] を選択します。

      5. EC2 セキュリティグループで、Elastic Beanstalk が作成するインスタンスセキュリティグループに加えて、インスタンスにアタッチするセキュリティグループを選択します。

      6. [Apply] を選択します。

      7. 警告を読んでから、確認 を選択します。

    • 設定ファイルを使用してセキュリティグループを追加するには、securitygroup-addexisting.config サンプルファイルを使用します。

次に、環境プロパティを使用して環境に接続情報を渡します。Elastic Beanstalk コンソールを使用して DB インスタンスを環境に追加すると、Elastic Beanstalk は [RDS_HOSTNAME] など環境プロパティを使用して、アプリケーションに接続情報を渡します。同じプロパティを使用できます。これにより、統合 DB インスタンスと外部 DB インスタンスの両方で同じアプリケーションコードを使用できます。または、独自のプロパティ名を選択することもできます。

Amazon RDS DB インスタンスの環境プロパティを設定するには

  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

  3. ナビゲーションペインで、[設定] を選択します。

  4. [ソフトウェア] 設定カテゴリで、[編集] を選択します。

  5. [環境プロパティ] セクションで、アプリケーションが読み取る変数を定義して、接続文字列を構成します。統合された RDS DB インスタンスがある環境との互換性を考慮して、以下の名前と値を使用します。パスワードを除くすべての値は、RDS コンソールで見つかります。

    プロパティ名 説明 プロパティ値

    RDS_HOSTNAME

    DB インスタンスのホスト名。

    Amazon RDS コンソールの [Connectivity & security (接続とセキュリティ)] タブ: [Endpoint (エンドポイント)]。

    RDS_PORT

    DB インスタンスが接続を許可するポート。デフォルト値は DB エンジンによって異なります。

    Amazon RDS コンソールの [Connectivity & security (接続とセキュリティ)] タブ: [Port (ポート)]。

    RDS_DB_NAME

    データベース名 ebdb

    Amazon RDS コンソールの [Configuration (設定)] タブ: [DB Name (DB 名)]。

    RDS_USERNAME

    お客様のデータベース用に設定したユーザー名。

    Amazon RDS コンソールの [Configuration (設定)] タブ: [Master username (マスターユーザー名)]。

    RDS_PASSWORD

    お客様のデータベース用に設定したパスワード。

    Amazon RDS コンソールでは参照できません。

    
        RDS プロパティが追加された環境プロパティ設定セクション
  6. [Apply] を選択します。

アプリケーションが環境プロパティを読み取り、接続文字列を作成するようにまだプログラムしていない場合は、次の言語固有のトピックで手順を参照してください。

最後に、環境変数を読み込むアプリケーションによっては、環境のインスタンス上でアプリケーションサーバーを再起動する必要があります。

環境のアプリケーションサーバーを再起動するには

  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

  3. [環境アクション] を選択し、[アプリサーバーの再起動] を選択します。