Amazon RDS コネクタ

Select

Amazon RDS 用 Anypoint コネクタは、Amazon Relational Database Service (Amazon RDS) API への接続を提供し、ハードウェアプロビジョニング、データベースセットアップ、パッチ設定、バックアップなどの時間のかかる管理作業を自動化する一方で、Amazon RDS と連携してコスト効率の高いサイズ変更可能な容量を提供できます。

前提条件

Amazon RDS コネクタを使用するには、次のものが必要です。

  • Amazon Web Services - RDS へのアクセス。

  • コネクタを使用して AWS にアクセスするには、AWS Identity and Access Management (IAM) ユーザアカウントのログイン情報が必要。

  • Anypoint Studio バージョン 7.0 以上または Anypoint Design Center

互換性

Amazon RDS コネクタは次のものと互換性があります。

アプリケーション/サービス バージョン

Mule Runtime

4.0.0

Amazon Java SDK for RDS

v1.11.172

Java

1.8.0_x 以降

Anypoint Studio

7.0 以上

コネクタをインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. コネクタを検索して [Install (インストール)] をクリックします。

  4. 画面の指示に従ってコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

コネクタのグローバル要素の設定

Mule アプリケーションで Amazon RDS コネクタを使用するには、プロジェクト内のすべての Amazon RDS コネクタで使用できるグローバル Amazon RDS 要素を設定します。

Studio ビジュアルエディタで設定する

  1. キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。

  2. [Global Configuration Elements (グローバル設定要素)] 画面で、[Create (作成)] をクリックします。次のウィンドウが表示されます。

    [Global Configuration Elements (グローバル設定要素)] ウィザード
  3. [Choose Global Type (グローバル型の選択)] ウィザードで、[Connector Configuration (コネクタ設定)] を展開し、[Amazon RDS Configuration (Amazon RDS 設定)] を選択し、[OK] をクリックします。次のウィンドウが表示されます。

    DB インスタンスの作成設定
  4. 以下の説明に従ってパラメータを設定します。

    パラメータ 説明

    Name (名前)

    参照する設定の名前。

    Region Endpoint (リージョンエンドポイント)

    Amazon RDS クライアントに使用されるリージョン。選択されていない場合、デフォルトで「us-east-1」が設定されます。

    Access Key (アクセスキー)

    アカウントを所有するユーザを一意に識別する英数字のテキスト文字列。

    Secret Key (シークレットキー)

    パスワードの役割を果たすキー。

    Try Default AWS Credentials Provider Chain (デフォルトの AWS ログイン情報プロバイダチェーンを試す)

    一時的なログイン情報を使用するかどうかを制御するチェックボックス。

    上の画像では、プレースホルダの値は、プロジェクトの src/main/resources フォルダにある設定ファイル mule-artifact.properties を参照します。 ログイン情報をグローバル設定プロパティに入力するか、それらの値を含む設定ファイルを参照することができます。メンテナンスをシンプルにして、プロジェクトを再利用できるようにするために、設定ファイルを使用することをお勧めします。これらの値を別個のファイルに保存しておくと、アクセスログイン情報が異なるさまざまな環境 (本番、開発、QA など) にデプロイする必要がある場合に便利です。

  5. [Reconnection Strategy (再接続戦略)] が含まれる [Advanced (詳細)] タブはデフォルトエントリのままにします。

  6. [Test Connection (接続をテスト)] をクリックして、グローバル設定のパラメータが正確であることと、Mule が Amazon RDS に正常に接続できることを確認します。

  7. [OK] をクリックして、グローバルコネクタ設定を保存します。

XML エディタまたは Standalone を使用した設定

設定ファイルに Amazon RDS 名前空間が含まれていることを確認します。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:rds="http://www.mulesoft.org/schema/mule/rds"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/rds http://www.mulesoft.org/schema/mule/rds/current/mule-rds.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">

<!-- Put your flows and configuration elements here -->

</mule>

アプリケーションで Amazon RDS コネクタを設定するには、次の手順に従います。

次のグローバル設定コードを使用して、フローの外側と上にグローバル Amazon RDS 設定を作成します。

<rds:config name="Amazon_RDS_Configuration">
	<rds:basic-connection accessKey="${config.accessKey}" secretKey="${config.secretKey}" region="${config.region}"/>
</rds:config>

自分や IAM ユーザがシークレットアクセスキーを忘れたり紛失した場合は、新しいアクセスキーを作成できます。

RDS コネクタの操作

Amazon RDS コネクタは、次のリストの操作をサポートしています。

DB インスタンス

  • CreateDBInstance

  • CreateDBInstanceReadReplica

  • DeleteDBInstance

  • DescribeDBInstances

  • ModifyDBInstance

  • RebootDBInstance

  • RestoreDBInstanceFromDBSnapshot

  • RestoreDBInstanceToPointInTime

  • StartDBInstance

  • StopDBInstance

DB スナップショット

  • CreateDBSnapshot

  • DeleteDBSnapshot

  • DescribeDBSnapshots

  • ModifyDBSnapshot

イベント

  • DescribeEvents

リザーブド DB インスタンス

  • DescribeReservedDBInstances

  • DescribeReservedDBInstancesOfferings

  • PurchaseReservedDBInstancesOffering

コネクタの使用

Amazon RDS コネクタは操作ベースのコネクタです。つまり、フローにコネクタを追加するときに、コネクタが実行する特定の Web サービス操作を設定する必要があります。Amazon RDS コネクタ v1.0.0 は 18 個の操作をサポートしています。

コネクタの名前空間とスキーマ

Studio でアプリケーションを設計するときに、コネクタの操作をパレットから Anypoint Studio キャンバスにドラッグすると、XML コードにコネクタの名前空間とスキーマの場所が自動的に入力されます。

名前空間: http://www.mulesoft.org/schema/mule/rds

スキーマの場所: http://www.mulesoft.org/schema/mule/rds/current/mule-rds.xsd

Studio の XML エディタまたはその他のテキストエディタで手動でコーディングを行う場合は、名前空間とスキーマの場所を設定 XML の <mule> タグの内部に貼り付けてください。

<mule xmlns:rds="http://www.mulesoft.org/schema/mule/rds" xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
	xmlns:spring="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/rds http://www.mulesoft.org/schema/mule/rds/current/mule-rds.xsd">

      <!-- here it goes your global configuration elements and flows -->

</mule>

Anypoint Studio 7.0 以降での Mule アプリケーションのコネクタの使用

Anypoint Studio 7.0 以降で Mule アプリケーションを開発している場合は、次の XML スニペットを pom.xml ファイルに含める必要があります。

<dependency>
    <groupId>org.mule.connectors</groupId>
    <artifactId>mule-rds-connector-4.x</artifactId>
    <version>1.0.0</version>
    <classifier>mule-plugin</classifier>
</dependency>

ユースケースとデモ

コネクタのいくつかの一般的なユースケースを次に示します。

ユースケース 説明

DB インスタンスの作成

Amazon RDS を使用して、Amazon がサポートするすべてのデータベースに選択肢内の DB インスタンスを作成できます。

DB インスタンスの停止

Amazon RDS を使用して、使用可能または実行中の状態の DB インスタンスを停止できます。

DB インスタンスの開始

Amazon RDS を使用して、停止状態の DB インスタンスを開始できます。

DB インスタンスの取得

Amazon RDS を使用して、使用可能な DB インスタンスのすべてのリストまたは必要な特定のインスタンスの情報を取得できます。

DB スナップショットの作成

Amazon RDS を使用して、DB インスタンスの DB スナップショットを作成できます。

DB スナップショットの取得

Amazon RDS を使用して、使用可能な DB スナップショットのすべてのリストまたは必要な特定のスナップショットの情報を取得できます。

DB スナップショットの削除

Amazon RDS を使用して、DB スナップショットを削除できます。

コネクタを使用したデモ Mule アプリケーション

このデモ Mule アプリケーションは、DB インスタンスを作成します。

DB インスタンスの作成
  1. Anypoint Studio で新しい Mule プロジェクトを作成します。

  2. 次のプロパティを mule-artifact.properties ファイルに追加して Amazon RDS ログイン情報を保持し、このファイルをプロジェクトの src/main/resources ディレクトリに置きます。

    config.accesskey=<Access Key>
    config.secretkey=<Secret Key>
    config.region=<Region>
  3. HTTP Listener 操作をキャンバスにドラッグし、次のパラメータを設定します。

    RDS HTTP 設定プロパティ
    パラメータ

    Display Name (表示名)

    リスナ

    Extension Configuration (拡張機能設定)

    まだ HTTP 要素が作成されていない場合は、プラス記号をクリックして新しい HTTP リスナ設定を追加し、[OK] をクリックします (値はデフォルトのままにする)。

    Path (パス)

    /create-db-instance

  4. http クエリパラメータを取得してペイロードに設定する HTTP コネクタの後に Transform Message コンポーネントをドラッグします。次に、コンポーネントをクリックしてそのプロパティエディタを開きます。DataWeave スクリプトは、次のようになります。

    %dw 2.0
    output application/java
    ---
    {
    	dbInstanceClass : attributes.queryParams.dbInstanceClass,
    	dbInstanceIdentifier : attributes.queryParams.dbInstanceIdentifier,
    	engine : attributes.queryParams.engine,
    	allocatedStorage : attributes.queryParams.allocatedStorage,
    	masterUsername : attributes.queryParams.masterUsername,
    	masterUserPassword : attributes.queryParams.masterUserPassword
    }
  5. Transform Message コンポーネントの後に Logger コンポーネントを追加し、前のプロセッサで設定されたペイロードデータを Mule コンソールに表示します。以下の表に従って Logger を設定します。

    パラメータ

    Display Name (表示名)

    Logger (ロガー) (または他の任意の名前)

    Message (メッセージ)

    #[payload]

    Level (レベル)

    INFO

  6. Amazon RDS コネクタを Logger コンポーネントの横にドラッグします。

  7. 新しい Amazon RDS グローバル要素を追加することで RDS コネクタを設定します。[Extension Configuration (拡張機能設定)] 項目の横にあるプラス記号をクリックします。

    1. 以下の表に従ってグローバル要素を設定します。

      パラメータ 説明

      Name (名前)

      参照する設定の名前を入力します。

      <Configuration_Name>

      Region Endpoint (リージョンエンドポイント)

      Amazon RDS クライアントに設定するリージョン。

      ドロップダウンリストから選択しない場合、デフォルトで「us-east-1」が設定されます。

      Access Key (アクセスキー)

      アカウントを所有するユーザを一意に識別する英数字のテキスト文字列。

      ${config.accesskey}

      Secret Key (シークレットキー)

      パスワードの役割を果たすキー。

      ${config.secretkey}

    2. 設定は次のようになります。

      RDS ユースケース設定
    3. 対応する XML 設定は次のようになります。

      <rds:config name="Amazon_RDS_Configuration">
          <rds:basic-connection accessKey="${config.accessKey}" secretKey="${config.secretKey}"/>
      </rds:config>
  8. [Test Connection (接続をテスト)] をクリックして、Mule が Amazon RDS インスタンスに接続できることを確認します。正常に接続できた場合は、[OK] をクリックして設定を保存します。そうでない場合は、見直して、誤ったパラメータを修正してからもう一度テストします。

  9. Amazon RDS コネクタのプロパティエディタに戻り、createDbInstance 操作のパラメータを設定します。

    パラメータ

    General (一般)

    Display Name (表示名)

    Create DB instance (DB インスタンスの作成) (または他の任意の名前)

    Extension Configuration (拡張機能設定)

    Amazon_RDS_Configuration (作成したグローバル要素への参照名)

    Db instance class (DB インスタンスクラス)

    #[payload.dbInstanceClass]

    Db instance identifier (DB インスタンス識別子)

    DB インスタンスを一意に識別する有効な識別子。

    Engine (エンジン)

    Amazon RDS がサポートする 6 個の DB エンジンの中から選択。

    Security (セキュリティ)

    Master username (マスタユーザ名)

    データベースの有効なユーザ名。

    Master user password (マスタユーザパスワード)

    データベースユーザのパスワード。

    Storage and Maintenance (ストレージとメンテナンス)

    Allocated storage (割り当てられたストレージ)

    ストレージを表す数 (GB)。

    DB インスタンスの作成パラメータプロパティ
  10. XML が次のようになっていることを確認します。

    <rds:create-db-instance config-ref="Amazon_RDS_Configuration" dbInstanceClass="#[payload.dbInstanceClass]"
    		dbInstanceIdentifier="#[payload.dbInstanceIdentifier]" engine="#[payload.engine]" allocatedStorage="#[payload.allocatedStorage]"
    		doc:name="Create db instance" masterUsername="#[payload.masterUsername]" masterUserPassword="#[payload.masterUserPassword]"/>
  11. RDS コネクタの後に Logger コンポーネントを追加し、DB インスタンスの作成プロセッサから出力されたペイロードデータを Mule コンソールに表示します。以下の表に従って Logger を設定します。

    パラメータ

    Display Name (表示名)

    Logger (ロガー) (または他の任意の名前)

    Message (メッセージ)

    #[payload]

    Level (レベル)

    INFO

  12. ブラウザに転送されるペイロードを設定する Logger コンポーネントの後に Transform Message コンポーネントをドラッグします。次に、コンポーネントをクリックしてそのプロパティエディタを開きます。DataWeave スクリプトは、次のようになります。

    %dw 2.0
    output application/json
    ---
    {
        success: true,
        info: payload
    }
  13. プロジェクトを保存し、Mule アプリケーションとして実行します。Package Explorer でプロジェクトを右クリックし、[Run As (別のユーザとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。

  14. ブラウザを開き、次の URL を入力して応答を確認します。 http://localhost:8081/create-db-instance。生成された DB インスタンス ID がブラウザに表示され、その情報がコンソールに表示されます。

デモ Mule アプリケーションの XML コード

このユースケース例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを XML エディタに貼り付けます。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:rds="http://www.mulesoft.org/schema/mule/rds"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/rds http://www.mulesoft.org/schema/mule/rds/current/mule-rds.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">

	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
		<http:listener-connection host="127.0.0.1" port="8081" />
	</http:listener-config>

	<rds:config name="Amazon_RDS_Configuration" doc:name="Amazon RDS Configuration">
		<rds:basic-connection accessKey="${config.accessKey}" secretKey="${config.secretKey}" />
	</rds:config>

	<flow name="create-db-instance-flow">
		<http:listener config-ref="HTTP_Listener_config" path="/create-db-instance" doc:name="Listener"/>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
	dbInstanceClass : attributes.queryParams.dbInstanceClass,
	dbInstanceIdentifier : attributes.queryParams.dbInstanceIdentifier,
	engine : attributes.queryParams.engine,
	allocatedStorage : attributes.queryParams.allocatedStorage,
	masterUsername : attributes.queryParams.masterUsername,
	masterUserPassword : attributes.queryParams.masterUserPassword
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>

		<logger level="INFO" doc:name="Logger" message="#[payload]"/>
		<rds:create-db-instance config-ref="Amazon_RDS_Configuration" dbInstanceClass="#[payload.dbInstanceClass]"
		dbInstanceIdentifier="#[payload.dbInstanceIdentifier]" engine="#[payload.engine]" allocatedStorage="#[payload.allocatedStorage]"
		doc:name="Create db instance"
		 masterUsername="#[payload.masterUsername]" masterUserPassword="#[payload.masterUserPassword]"/>

		 <logger level="INFO" doc:name="Logger" message="#[payload]"/>

		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
	success: true,
    info: payload
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>

	</flow>

</mule>

関連情報

  • 自分や IAM ユーザがシークレットアクセスキーを忘れたり紛失した場合は、新しいアクセスキーを作成できます。キーについての詳細は、 AWS ドキュメントを参照してください。

  • MuleSoft は、 コネクタサポートポリシー - Select に基づいてこのコネクタを管理します。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub