翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アプリケーションのデータベースサーバーへの接続
重要
AWS OpsWorks Stacks新規顧客は受け付けていません。既存のお客様は、2024 年 5 月 26 OpsWorks 日まではコンソール、API、CLI、CloudFormationおよびリソースを通常どおり使用できますが、2024 年 5 月 26 日以降は廃止されます。この移行に備えて、AWS Systems Managerできるだけ早くスタックをに移行することをおすすめします。詳細については、「AWS OpsWorks Stacksサポート終了に関するよくある質問」および「AWS OpsWorks StacksAWS Systems Managerアプリケーションマネージャーへのアプリケーションの移行」を参照してください。
[create the app (アプリケーションを作成する) ] とき、または後で [editing the app (アプリケーションを編集する) ] ことで、 Amazon RDS データベースサーバーをアプリケーションと関連付けることができます。その後、アプリケーションはデータベース接続情報 (ユーザー名、パスワードなど) を使用してデータベースサーバーに接続することができます。[deploy an app] (アプリケーションをデプロイする) と、AWS OpsWorks スタックによりこの情報が 2 つの方法でアプリケーションに提供されます。
-
Linux スタックでは、AWS OpsWorks スタックにより、各組み込みアプリケーションサーバーインスタンスに、アプリケーションがデータベースサーバーへの接続に使用できる接続データを含むファイルが作成されます。
-
AWS OpsWorks スタックでは、各インスタンスにインストールされる [stack configuration and deployment attributes] (スタック設定およびデプロイ属性) に接続情報が含められます。
カスタムレシピを実装してこれらの属性から接続情報を取得し、任意の形式でファイルに配置することができます。詳細については、「アプリケーションへのデータの引き渡し」を参照してください。
重要
Linux スタックでは、 Amazon RDS サービス レイヤーをアプリケーションと関連付ける場合は、次の手順に従って、関連付けたアプリケーションサーバーレイヤーに適切なドライバパッケージを追加する必要があります。
-
ナビゲーションペインで [Layers] (レイヤー) をクリックし、アプリケーションサーバーの [Recipes] (レシピ) タブを開きます。
-
[Edit] をクリックして適切なドライバパッケージを [OS Packages] に追加します。たとえば、レイヤーに Amazon Linux のインスタンスが含まれている場合は [
mysql
] を、レイヤーに Ubuntu インスタンスが含まれている場合は [mysql-client
] を指定する必要があります。 -
変更を保存してアプリケーションを再デプロイします。
カスタムレシピの使用
アプリケーションの deploy 属性から接続データを取得するカスタムレシピを実装し、YAML ファイルなど、アプリケーションが読み取ることができる形式で保存できます。
アプリケーションを作成する際、または後でアプリケーションを編集する際に、データベースサーバーをアプリケーションにアタッチします。AWS OpsWorks スタックでは、アプリケーションをデプロイすると、データベース接続情報を含むスタック設定およびデプロイメント属性が各インスタンスにインストールされます。その後、アプリケーションは適切な属性を取得できます。詳細は、Linux スタックと Windows スタックのどちらを使用しているかによって異なります。
Linux スタックのデータベースサーバーへの接続
Linux スタックでは、スタック設定およびデプロイ属性の deploy
名前空間に、デプロイされた各アプリケーションの属性が含まれており、アプリケーションの短縮名が付いています。アプリケーションにデータベースサーバーをアタッチすると、AWS OpsWorks スタックは、接続情報を含むアプリケーションの [:database]
属性を作成し、後続のデプロイメントのたびに属性がスタックのインスタンスにインストールします。属性値はユーザーが指定する値または AWS OpsWorks スタックにより生成される値です。
注記
AWS OpsWorks スタックでは、データベースサーバーを複数のアプリケーションに添付することができますが、各アプリケーションに添付できるのはデータベースサーバー 1 つのみです。アプリケーションを複数のデータベースサーバーに接続する場合は、サーバーの 1 つをアプリケーションにアタッチし、アプリケーションの deploy
属性の情報を使用してそのサーバーに接続します。カスタム JSON を使用して、他のデータベースサーバーの接続情報をアプリケーションに渡します。詳細については、「アプリケーションへのデータの引き渡し」を参照してください。
アプリケーションはインスタンスの deploy
属性の接続情報を使用してデータベースに接続します。ただし、アプリケーションはその情報に直接アクセスすることはできません。レシピだけが deploy
属性にアクセスできます。カスタムレシピを実装し、deploy
属性から接続情報を取得してアプリケーションで読み取り可能なファイルに保存すれば、この問題は解決します。