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

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

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

重要

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

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

PHP アプリケーションサーバーを RDS データベースに接続するには
  1. 「」で説明されているように OpsWorks 、 スタックコンソールを開き、1 つのインスタンスを含む PHP App Server レイヤーを使用してスタックを作成し、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 アドレスをクリックして、アプリケーションを実行します。ブラウザに次のページが表示されるので、そこでテキストを入力し、それをデータベースに保存します。

    Text input field labeled "Your Thoughts" with a "Share Your Thought" button.
注記

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