

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# RDS データベースに接続するためにスタックをカスタマイズする
<a name="customizing-rds-connect-customize"></a>

**重要**  
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

PHP アプリケーションサーバーのバックエンドデータベースとして使用するように [RDS インスタンスを作成](customizing-rds-connect-create.md)したら、[Chef 11 Linux スタックの使用開始](gettingstarted.md) から MyStack をカスタマイズできます。

**PHP アプリケーションサーバーを RDS データベースに接続するには**

1. 「」で説明されているように OpsWorks 、 スタックコンソールを開き、1 つのインスタンスを含む PHP App Server レイヤーを使用してスタックを作成し、SimplePHPApp をデプロイします[Chef 11 Linux スタックの使用開始](gettingstarted.md)。このスタックは SimplePHPApp の version1 を使用します。これは、データベース接続を使用しません。

1. [スタック設定を更新](workingstacks-edit.md)し、`appsetup.rb` レシピ、関連するテンプレートや属性ファイルを含むカスタムクックブック使用します。

   1. [**Use custom Chef cookbooks**] を [**Yes**] に設定します。

   1. [**Repository type**] を [**Git**] に、[**Repository URL**] を [`git://github.com/amazonwebservices/opsworks-example-cookbooks.git`] に設定します。

1. 次をスタックの [**Custom Chef JSON**] ボックスに追加し、`[:database]` が設定ファイルを作成するのに使用する `appsetup.rb` 属性にRDS 接続データを割り当てます。

   ```
   {
     "deploy": {
       "simplephpapp": {
         "database": {
           "username": "opsworksuser",
           "password": "your_password",
           "database": "rdsexampledb",
           "host": "rds_endpoint",
           "adapter": "mysql"
         }
       }
     }
   }
   ```

   次の属性値を使用します。
   + **username**: RDS インスタンスの作成時に指定したマスターユーザー名

     この例では `opsworksuser` を使用します。
   + [**password**]: RDS のインスタンスの作成時に指定したマスターパスワード

     指定したパスワードを入力します。
   + **database**: RDS インスタンスの作成時に作成したデータベース

     この例では `rdsexampledb` を使用します。
   + **host**: RDS インスタンスのエンドポイント。前のセクションでインスタンスを作成した際に、RDS コンソールから取得しています。ポート番号は必要ありません。
   + **adapter**: アダプタ

     この例の RDS インスタンスは MySQL を使用するため、[**adapter**] は [`mysql`] に設定されます。その他の属性とは異なり、[**adapter**] は [`appsetup.rb`] で使用されません。代わりに、別の構成ファイルを作成するために PHP App Server レイヤーの組み込み構成レシピにより使用されます。

1. [SimplePHPApp 設定を編集](workingapps-editing.md)して、次のように、バックエンドデータベースを使用する SimplePHPApp のバージョンを指定します。
   + **Document root**: このオプションを `web` に設定します。
   + **Branch/Revision**: このオプションを `version2` に設定します。

   残りのオプションは変更しません。

1. [[Edit the PHP App Server layer]](workinglayers-basics-edit.md) (PHP アプリケーションサーバーレイヤーを編集) し、`phpapp::appsetup` をレイヤーのデプロイレシピに追加することでデータベース接続を設定します。

1. [SimplePHPApp の新しいバージョンをデプロイします](workingapps-deploying.md)。

1. SimplePHPApp がデプロイされるとき、[**Instances**] ページに進み、php-app1 インスタンスのパブリック IP アドレスをクリックして、アプリケーションを実行します。ブラウザに次のページが表示されるので、そこでテキストを入力し、それをデータベースに保存します。  
![\[Text input field labeled "Your Thoughts" with a "Share Your Thought" button.\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/gsb7.png)

**注記**  
スタックに MySQL レイヤーがある場合、 OpsWorks Stacks は対応する接続データを`[:database]`属性に自動的に割り当てます。ただし、スタックに異なる `[:database]` 値を定義するカスタム JSON を割り当てると、デフォルト値は上書きされます。 `[:deploy]` 属性は、すべてのインスタンスにインストールされているため、`[:database]` 属性に依存するレシピは MySQL レイヤーのデータではなくカスタム接続データを使用します。特定のアプリケーションサーバーのレイヤーがカスタム接続データを使用するようにする場合、カスタム JSON をレイヤーのデプロイイベントに割り当て、そのレイヤーにそのデプロイメントを制限します。デプロイメント属性の使用方法の詳細については、「[アプリケーションのデプロイ](workingapps-deploying.md)」を参照してください。 OpsWorks スタックの組み込み属性のオーバーライドについては、「[属性の上書き](workingcookbook-attributes.md)」を参照してください。