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

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

Elastic Beanstalk で実行されているアプリケーションで外部データベースを使用するには、まず Amazon RDS で DB インスタンスを起動します。Amazon RDS で起動するインスタンスは、Elastic Beanstalk および Elastic Beanstalk 環境から完全に独立していて、設定に関して Elastic Beanstalk に依存しません。これは、Amazon RDS でサポートされている DB エンジンとインスタンスタイプを、これらが Elastic Beanstalk で使用されていなくても使用できることを意味します。

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

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

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

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

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

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

    重要

    [Easy Create (簡易作成)] を選択しないでください。この RDS DB の起動に必要な設定をお客様が定義することはできません。

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

  6. デフォルト設定をよく確認し、必要に応じて調整します。以下のオプションに注目します。

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

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

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

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

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

RDS インスタンスのセキュリティグループのインバウンドルールを変更するには

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

  2. [データベース] を選択します。

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

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

  5. [セキュリティ] には、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 コンソールを開き、[リージョン] リストで 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 コンソールを開き、[リージョン] リストで AWS リージョンを選択します。

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

    注記

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

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

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

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

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

    RDS_HOSTNAME

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

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

    RDS_PORT

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

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

    RDS_DB_NAME

    データベース名 ebdb

    Amazon RDS コンソールの [設定] タブで [DB 名] を選択します。

    RDS_USERNAME

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

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

    RDS_PASSWORD

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

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

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

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

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

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

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

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

    注記

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

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