Amazon RDS サービスレイヤー - AWS OpsWorks

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

Amazon RDS サービスレイヤー

重要

AWS OpsWorks Stacks 新規顧客を受け付けなくなった。既存のお客様は、2024 年 5 月 26 OpsWorks 日まではコンソール、API、CLI、 CloudFormation リソースを通常どおり使用できますが、その時点で廃止されます。この移行に備えて、 AWS Systems Manager できるだけ早くスタックをに移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS OpsWorks StacksAWS Systems Manager アプリケーションマネージャへのアプリケーションの移行」を参照してください。

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

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

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

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

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

  3. レイヤーをアプリケーションにアタッチします。これによって、Amazon RDS インスタンスの接続情報がアプリケーションの deploy属性 に追加されます。

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

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

警告

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

セキュリティグループの指定

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

既存の Amazon RDS インスタンスのセキュリティグループを指定するためには
  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

  3. [Security Group] の一覧から次のセキュリティグループを選択し、[Continue]、[Modify DB Instance] の順にクリックしてインスタンスを更新します。

    • AWS-OpsWorks-DB-マスターサーバー (セキュリティグループID) セキュリティグループ。

    • インスタンスがデータベースに接続する、アプリケーションサーバーレイヤーのセキュリティグループ。グループ名には、レイヤー名を含めます。たとえば、PHP アプリケーションサーバーインスタンスへのデータベースアクセスを提供するには、AWS-OpsWorks-PHP-App-Server グループを指定します。

新しい Amazon RDS インスタンスを作成する場合は、DB インスタンスの起動ウィザードの [詳細設定の設定] ページで適切な AWS OpsWorks Stacks セキュリティグループを指定できます。このウィザードを使用する方法については、「MySQL DB インスタンスを作成して MySQL DB インスタンス上のデータベースに接続する」を参照してください。

VPC セキュリティグループの指定方法については、「VPC のセキュリティグループ」を参照してください。

Amazon RDS インスタンスをスタックに登録する

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

Amazon RDS インスタンスをスタックに登録するためには
  1. AWS OpsWorks Stacks コンソールのナビゲーションペインで [Layer] をクリックし、[+ Layer] または [Add a Layer] をクリックして [Add Layer] ページを開き、[RDS] タブをクリックします。

  2. 必要に応じて、スタックのサービスロールを更新します(「スタックのサービスロールの更新」を参照)。

  3. [RDS] タブをクリックして、利用可能な Amazon RDS インスタンスを一覧表示します。

    注記

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

  4. 目的のインスタンスを選択し、[User] と [Password] に、それぞれ適切なユーザーとパスワードの値を設定して、[Register to Stack] をクリックします。

    重要

    Amazon RDS インスタンスを登録に使用するユーザーとパスワードが、有効なユーザーとパスワードに確実に対応していることを確認する必要があります。対応していない場合、アプリケーションからインスタンスに接続できません。ただし、レイヤーを編集して、ユーザーとパスワードに有効な値を指定したうえで、再度アプリケーションをデプロイすることはできます。

Amazon RDS サービスレイヤーをスタックに追加すると、 AWS OpsWorks Stacks はそれに ID を割り当て、関連する Amazon RDS 設定をスタック設定とデプロイ属性の属性に追加します[:opsworks][:stack]

注記

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

スタックのサービスロールの更新

すべてのスタックには、 AWS OpsWorks スタックが他の AWS サービスに対してユーザーに代わって実行できるアクションを指定する IAM サービスロールがあります。Amazon RDS インスタンスをスタックに登録するには、そのサービスロールが Amazon RDS AWS OpsWorks にアクセスするためのアクセス権限をスタックに付与する必要があります。

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

[Update] をクリックすると、 AWS OpsWorks Stacks はサービスロールのポリシーを次のように更新します。

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

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

Amazon RDS サービスレイヤーとアプリケーションの関連付け

Amazon RDS サービスレイヤーは、追加後、アプリケーションに関連付けることができます。

  • Amazon RDSサービスレイヤーとアプリケーションの関連付けは、アプリケーションの作成時に行うか、後からアプリケーションの設定を編集することによって行います。

  • Amazon RDS レイヤーとアプリケーションの関連付けを解除するには、アプリケーションの設定を編集して、異なるデータベースサーバーを指定するか、サーバーの指定を削除します。

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

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

スタックからの Amazon RDS サービスレイヤーの削除

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

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

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

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