RDS データベースに接続するためにスタックをカスタマイズする - AWS OpsWorks

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

RDS データベースに接続するためにスタックをカスタマイズする

重要

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

PHP アプリケーションサーバーのバックエンドデータベースとして使用する RDS インスタンスを作成したら、 からカスタマイズ MyStackできますChef 11 Linux スタックの使用開始

PHP アプリケーションサーバーを RDS データベースに接続するには
  1. 「」の説明に従って、 AWS OpsWorks スタックコンソールを開き、1 つのインスタンスを含む PHP アプリケーションサーバーレイヤーを使用してスタックを作成し、SimplePHPApp をデプロイしますChef 11 Linux スタックの使用開始。このスタックは SimplePHPApp の version1 を使用します。これは、データベース接続を使用しません。

  2. スタック設定を更新し、appsetup.rb レシピ、関連するテンプレートや属性ファイルを含むカスタムクックブック使用します。

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

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

  3. 次をスタックの [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 レイヤーの組み込み構成レシピにより使用されます。

  4. SimplePHPApp 設定を編集して、次のように、バックエンドデータベースを使用する SimplePHPApp のバージョンを指定します。

    • Document root: このオプションを web に設定します。

    • Branch/Revision: このオプションを version2 に設定します。

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

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

  6. SimplePHPApp の新しいバージョンをデプロイします

  7. SimplePHPApp がデプロイされるとき、[Instances] ページに進み、php-app1 インスタンスのパブリック IP アドレスをクリックして、アプリケーションを実行します。ブラウザに次のページが表示されるので、そこでテキストを入力し、それをデータベースに保存します。

注記

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