翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
RDS データベースに接続するためにスタックをカスタマイズする
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
PHP アプリケーションサーバーのバックエンドデータベースとして使用するように RDS インスタンスを作成したら、Chef 11 Linux スタックの使用開始 から MyStack をカスタマイズできます。
PHP アプリケーションサーバーを RDS データベースに接続するには
-
「」の説明に従って、 OpsWorks スタックコンソールを開き、1 つのインスタンスを含む PHP アプリケーションサーバーレイヤーでスタックを作成し、SimplePHPApp をデプロイしますChef 11 Linux スタックの使用開始。このスタックは SimplePHPApp の version1 を使用します。これは、データベース接続を使用しません。
-
スタック設定を更新し、
appsetup.rbレシピ、関連するテンプレートや属性ファイルを含むカスタムクックブック使用します。-
[Use custom Chef cookbooks] を [Yes] に設定します。
-
[Repository type] を [Git] に、[Repository URL] を [
git://github.com/amazonwebservices/opsworks-example-cookbooks.git] に設定します。
-
-
次をスタックの [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 レイヤーの組み込み構成レシピにより使用されます。
-
-
SimplePHPApp 設定を編集して、次のように、バックエンドデータベースを使用する SimplePHPApp のバージョンを指定します。
-
Document root: このオプションを
webに設定します。 -
Branch/Revision: このオプションを
version2に設定します。
残りのオプションは変更しません。
-
-
[Edit the PHP App Server layer] (PHP アプリケーションサーバーレイヤーを編集) し、
phpapp::appsetupをレイヤーのデプロイレシピに追加することでデータベース接続を設定します。 -
SimplePHPApp がデプロイされるとき、[Instances] ページに進み、php-app1 インスタンスのパブリック IP アドレスをクリックして、アプリケーションを実行します。ブラウザに次のページが表示されるので、そこでテキストを入力し、それをデータベースに保存します。
注記
スタックに MySQL レイヤーがある場合、 OpsWorks スタックは対応する接続データを[:database]属性に自動的に割り当てます。ただし、スタックに異なる [:database] 値を定義するカスタム JSON を割り当てると、デフォルト値は上書きされます。 [:deploy] 属性は、すべてのインスタンスにインストールされているため、[:database] 属性に依存するレシピは MySQL レイヤーのデータではなくカスタム接続データを使用します。特定のアプリケーションサーバーのレイヤーがカスタム接続データを使用するようにする場合、カスタム JSON をレイヤーのデプロイイベントに割り当て、そのレイヤーにそのデプロイメントを制限します。デプロイメント属性の使用方法の詳細については、「アプリケーションのデプロイ」を参照してください。 OpsWorks スタックの組み込み属性のオーバーライドについては、「属性の上書き」を参照してください。