翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
RDS データベースに接続するためにスタックをカスタマイズする
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
PHP アプリケーションサーバーのバックエンドデータベースとして使用する RDS インスタンスを作成したら、 からカスタマイズ MyStackできますChef 11 Linux スタックの使用開始。
PHP アプリケーションサーバーを RDS データベースに接続するには
-
「」の説明に従って、 AWS 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 レイヤーがある場合、 AWS OpsWorks Stacks は対応する接続データを[:database]
属性に自動的に割り当てます。ただし、スタックに異なる [:database]
値を定義するカスタム JSON を割り当てると、デフォルト値は上書きされます。 [:deploy]
属性は、すべてのインスタンスにインストールされているため、[:database]
属性に依存するレシピは MySQL レイヤーのデータではなくカスタム接続データを使用します。特定のアプリケーションサーバーのレイヤーがカスタム接続データを使用するようにする場合、カスタム JSON をレイヤーのデプロイイベントに割り当て、そのレイヤーにそのデプロイメントを制限します。デプロイメント属性の使用方法の詳細については、「アプリケーションのデプロイ」を参照してください。 AWS OpsWorks スタックの組み込み属性のオーバーライドについては、「属性の上書き」を参照してください。