

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

# Amazon RDS サービスレイヤー
<a name="workinglayers-db-rds"></a>

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

Amazon RDS サービスレイヤーとは、Amazon RDS インスタンスを意味します。このレイヤーで表すことができるのは既存の Amazon RDS インスタンスのみであるため、[Amazon RDS console](https://console.aws.amazon.com/rds/) (Amazon RDS コンソール) または API を使用して事前にインスタンスを作成しておく必要があります。

Amazon RDS サービスレイヤーをスタックに組み込む基本的な手順は次のとおりです。

1. Amazon RDS コンソール、API、CLI のいずれかを使用してインスタンスを作成します。

   インスタンスの ID、マスターユーザー名、マスターパスワード、データベース名は必ず記録しておいてください。

1. Amazon RDS レイヤーをスタックに追加するために、Amazon RDS インスタンスをスタックに登録します。

1. レイヤーをアプリケーションにアタッチします。これによって、Amazon RDS インスタンスの接続情報がアプリケーションの [`deploy`属性](workingcookbook-json.md#workingcookbook-json-deploy) に追加されます。

1. `deploy` 属性で言語固有のファイルまたは情報を使用し、アプリケーションを Amazon RDSインスタンスに接続します。

   アプリケーションをデータベースサーバーに接続する方法の詳細については、「[アプリケーションのデータベースサーバーへの接続](workingapps-connectdb.md)」を参照してください。

**警告**  
インスタンスのマスターパスワードおよびユーザー名に使用した文字に、アプリケーションサーバーが対応していることを確認します。例えば、Java App Server レイヤーでは、いずれかの文字列に `&` が含まれていると、XML 解析エラーが発生し、Tomcat サーバーを起動できません。

**Topics**
+ [セキュリティグループの指定](#workinglayers-db-rds-security)
+ [Amazon RDS インスタンスをスタックに登録する](#workinglayers-db-rds-register)
+ [Amazon RDS サービスレイヤーとアプリケーションの関連付け](#workinglayers-db-rds-register-attach)
+ [スタックからの Amazon RDS サービスレイヤーの削除](#workinglayers-db-rds-register-remove)

## セキュリティグループの指定
<a name="workinglayers-db-rds-security"></a>

スタックで Amazon RDS OpsWorks インスタンスを使用するには、データベースまたは VPC セキュリティグループが適切な IP アドレスからのアクセスを許可する必要があります。本稼働環境用のセキュリティグループでは、データベースにアクセスする必要のある IP アドレスにそのアクセス権を限定するのが一般的です。通常、データベースの管理に使用するシステムのアドレスと、データベースにアクセスする必要がある OpsWorks スタックインスタンスが含まれます。 OpsWorks スタックは、リージョンで最初のスタックを作成するときに、レイヤーのタイプごとに Amazon EC2 セキュリティグループを自動的に作成します。 OpsWorks スタックインスタンスへのアクセスを提供する簡単な方法は、適切な スタックセキュリティグループを Amazon RDS OpsWorks インスタンスまたは VPC に割り当てることです。

**既存の Amazon RDS インスタンスのセキュリティグループを指定するためには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで [**Instances**] (インスタンス) をクリックし、適切な Amazon RDS インスタンスを選択します。[**Instance Actions**]、[**Modify**] の順にクリックします。

1. [**Security Group**] の一覧から次のセキュリティグループを選択し、[**Continue**]、[**Modify DB Instance**] の順にクリックしてインスタンスを更新します。
   + **AWS-OpsWorks-DB-Master-Server (*security\$1group\$1id*) **セキュリティグループ
   + インスタンスがデータベースに接続する、アプリケーションサーバーレイヤーのセキュリティグループ。グループ名には、レイヤー名を含めます。例えば、PHP App Server インスタンスへのデータベースアクセスを提供するには、[**AWS-OpsWorks-PHP-App-Server**] (AWS-OpsWorks-PHP-App-Server) グループを指定します。

新しい Amazon RDS インスタンスを作成する場合は、DB インスタンス起動ウィザードの**「詳細設定の構成**」ページで適切な OpsWorks スタックセキュリティグループを指定できます。このウィザードを使用する方法については、「[MySQL DB インスタンスを作成して MySQL DB インスタンス上のデータベースに接続する](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html)」を参照してください。

VPC セキュリティグループの指定方法については、「[VPC のセキュリティグループ](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)」を参照してください。

## Amazon RDS インスタンスをスタックに登録する
<a name="workinglayers-db-rds-register"></a>

スタックに Amazon RDS サービスレイヤーを追加するには、そのスタックにインスタンスを登録する必要があります。

**Amazon RDS インスタンスをスタックに登録するためには**

1.  OpsWorks スタックコンソールで、ナビゲーションペインの **Layer** をクリックし、 **\$1 Layer** または **Add a Layer** をクリックして **Add Layer** ページを開き、**RDS** タブをクリックします。

1. 必要に応じて、スタックのサービスロールを更新します（「[スタックのサービスロールの更新](#workinglayers-db-rds-register-role)」を参照）。

1. [RDS] タブをクリックして、利用可能な Amazon RDS インスタンスを一覧表示します。
**注記**  
ご使用のアカウントに Amazon RDS インスタンスが存在しない場合、[RDS] タブの [**Add an RDS instance**] (RDS インスタンスを追加) をクリックして作成できます。Amazon RDS コンソールが表示され、[**Launch a DB Instance**] ウィザードが開始されます。[Amazon RDS コンソール](https://console.aws.amazon.com/rds/)に直接移動して [**Launch a DB Instance**] (DB インスタンスを開始) をクリックするか、Amazon RDS API または CLI を使用することもできます。Amazon RDS インスタンスを作成する方法の詳細については、「[Getting Started with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html)」(Amazon RDS のご利用開始にあたって) を参照してください。

1. 目的のインスタンスを選択し、[**User**] と [**Password**] に、それぞれ適切なユーザーとパスワードの値を設定して、[**Register to Stack**] をクリックします。
**重要**  
Amazon RDS インスタンスを登録に使用するユーザーとパスワードが、有効なユーザーとパスワードに確実に対応していることを確認する必要があります。対応していない場合、アプリケーションからインスタンスに接続できません。ただし、[レイヤーを編集](workinglayers-basics-edit.md)して、ユーザーとパスワードに有効な値を指定したうえで、再度アプリケーションをデプロイすることはできます。

![\[RDS instance details showing connection information for opsinstance2 with MySQL engine.\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/rds-register.png)


Amazon RDS サービスレイヤーをスタックに追加すると、 OpsWorks スタックは ID を割り当て、関連する Amazon RDS 設定を[スタック設定およびデプロイ属性の](workingcookbook-json.md) [`[:opsworks][:stack]`](attributes-json-opsworks-stack.md) 属性に追加します。

**注記**  
登録済みの Amazon RDS インスタンスのパスワードを変更する場合は、 OpsWorks スタックのパスワードを手動で更新してから、アプリケーションを再デプロイして、スタックのインスタンスのスタック設定とデプロイ属性を更新する必要があります。

**Topics**
+ [スタックのサービスロールの更新](#workinglayers-db-rds-register-role)

### スタックのサービスロールの更新
<a name="workinglayers-db-rds-register-role"></a>

すべてのスタックには、スタックがユーザーに代わって他の AWS OpsWorks のサービスで実行できるアクションを指定する [IAM サービスロール](opsworks-security-servicerole.md)があります。Amazon RDS インスタンスをスタックに登録するには、そのサービスロールが Amazon RDS OpsWorks にアクセスするためのアクセス許可をスタックに付与する必要があります。

ご使用のいずれかのスタックに対し、Amazon RDS サービスレイヤーを初めて追加するときは、必要なアクセス許可がサービスロールに存在しない可能性があります。その場合、[**Add Layer**] (レイヤーの追加) ページの [RDS] タブをクリックしたときに、次のメッセージが表示されます。

![\[Warning message about OpsWorksIAM role needing RDS instances access policy.\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/rds-iam-update.png)


**更新**をクリックして、 OpsWorks スタックがサービスロールのポリシーを次のように更新します。

```
{"Statement": [{"Action": ["ec2:*", "iam:PassRole",
                       "cloudwatch:GetMetricStatistics",
                       "elasticloadbalancing:*",
                       "rds:*"],
            "Effect": "Allow",
            "Resource": ["*"] }]
}
```

**注記**  
更新を実行する必要があるのは 1 回だけです。更新済みのロールがその後すべてのスタックで自動的に使用されます。

## Amazon RDS サービスレイヤーとアプリケーションの関連付け
<a name="workinglayers-db-rds-register-attach"></a>

Amazon RDS サービスレイヤーは、追加後、アプリケーションに関連付けることができます。
+ Amazon RDSサービスレイヤーとアプリケーションの関連付けは、[アプリケーションの作成](workingapps-creating.md)時に行うか、後から[アプリケーションの設定を編集する](workingapps-editing.md)ことによって行います。
+ Amazon RDS レイヤーとアプリケーションの関連付けを解除するには、アプリケーションの設定を編集して、異なるデータベースサーバーを指定するか、サーバーの指定を削除します。

  Amazon RDS レイヤーはスタックに属したままであり、別のアプリケーションに関連付けることができます。

Amazon RDS インスタンスをアプリケーションに関連付けると、 OpsWorks Stacks はデータベース接続情報をアプリケーションのサーバーに配置します。各サーバーインスタンスのアプリケーションは、この情報を使用して、データベースに接続できます。Amazon RDS インスタンスへの接続方法の詳細については、「[アプリケーションのデータベースサーバーへの接続](workingapps-connectdb.md)」を参照してください。

## スタックからの Amazon RDS サービスレイヤーの削除
<a name="workinglayers-db-rds-register-remove"></a>

登録している Amazon RDS サービスレイヤーをスタックから削除するには

**Amazon RDS サービスレイヤーの登録を解除するには**

1. ナビゲーションペインの [**Layers**] (レイヤー) をクリックし、Amazon RDS サービスレイヤーの名前をクリックします。

1. [**Deregister**] をクリックし、レイヤーの登録を解除することを確認します。

この手順によってスタックからはレイヤーが削除されますが、基になる Amazon RDS インスタンスは削除されません。インスタンスとデータベースはアカウント内に維持され、他のスタックに登録することができます。Amazon RDS コンソール、API、CLI のいずれかを使用してインスタンスを削除する必要があります。詳細については、「[DB インスタンスの削除](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html#CHAP_GettingStarted.Deleting)」を参照してください。