アプリケーションのデータベースサーバーへの接続 - AWS OpsWorks

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

アプリケーションのデータベースサーバーへの接続

重要

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

[create the app (アプリケーションを作成する) ] とき、または後で [editing the app (アプリケーションを編集する) ] ことで、 Amazon RDS データベースサーバーをアプリケーションと関連付けることができます。その後、アプリケーションはデータベース接続情報 (ユーザー名、パスワードなど) を使用してデータベースサーバーに接続することができます。アプリケーション をデプロイすると、Stacks は 2 つの方法でこの情報をアプリケーションに提供します。 AWS OpsWorks

  • Linux スタックでは、 AWS OpsWorks スタックにより、各組み込みアプリケーションサーバーインスタンスに、アプリケーションがデータベースサーバーへの接続に使用できる接続データを含むファイルが作成されます。

  • AWS OpsWorks スタックには、各インスタンスにインストールされているスタック設定とデプロイ属性の接続情報が含まれます。

    カスタムレシピを実装してこれらの属性から接続情報を取得し、任意の形式でファイルに配置することができます。詳細については、「アプリケーションへのデータの引き渡し」を参照してください。

重要

Linux スタックでは、 Amazon RDS サービス レイヤーをアプリケーションと関連付ける場合は、次の手順に従って、関連付けたアプリケーションサーバーレイヤーに適切なドライバパッケージを追加する必要があります。

  1. ナビゲーションペインで [Layers] (レイヤー) をクリックし、アプリケーションサーバーの [Recipes] (レシピ) タブを開きます。

  2. [Edit] をクリックして適切なドライバパッケージを [OS Packages] に追加します。たとえば、レイヤーに Amazon Linux のインスタンスが含まれている場合は [mysql] を、レイヤーに Ubuntu インスタンスが含まれている場合は [mysql-client] を指定する必要があります。

  3. 変更を保存してアプリケーションを再デプロイします。

カスタムレシピの使用

アプリケーションの deploy 属性から接続データを取得するカスタムレシピを実装し、YAML ファイルなど、アプリケーションが読み取ることができる形式で保存できます。

アプリケーションを作成する際、または後でアプリケーションを編集する際に、データベースサーバーをアプリケーションにアタッチします。アプリケーションをデプロイすると、 AWS OpsWorks スタックは、データベース接続情報を含むスタック設定とデプロイ属性を各インスタンスにインストールします。その後、アプリケーションは適切な属性を取得できます。詳細は、Linux スタックと Windows スタックのどちらを使用しているかによって異なります。

Linux スタックのデータベースサーバーへの接続

Linux スタックでは、スタック設定およびデプロイ属性の deploy 名前空間に、デプロイされた各アプリケーションの属性が含まれており、アプリケーションの短縮名が付いています。データベースサーバーをアプリケーションにアタッチすると、 AWS OpsWorks Stacks はアプリケーションの [:database] 属性に接続情報を入力し、後続のデプロイごとにスタックのインスタンスにインストールします。属性値はユーザーが指定する値または AWS OpsWorks スタックにより生成される値です。

注記

AWS OpsWorks スタックを使用すると、データベースサーバーを複数のアプリケーションにアタッチできますが、各アプリケーションにはアタッチできるデータベースサーバーが 1 つだけあります。アプリケーションを複数のデータベースサーバーに接続する場合は、サーバーの 1 つをアプリケーションにアタッチし、アプリケーションの deploy 属性の情報を使用してそのサーバーに接続します。カスタム JSON を使用して、他のデータベースサーバーの接続情報をアプリケーションに渡します。詳細については、「アプリケーションへのデータの引き渡し」を参照してください。

アプリケーションはインスタンスの deploy 属性の接続情報を使用してデータベースに接続します。ただし、アプリケーションはその情報に直接アクセスすることはできません。レシピだけが deploy 属性にアクセスできます。カスタムレシピを実装し、deploy 属性から接続情報を取得してアプリケーションで読み取り可能なファイルに保存すれば、この問題は解決します。