Flex Gateway新着情報
Governance新着情報
Monitoring API Manager
可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。 |
Amazon RDS Connector v1.3
Amazon RDS 用 Anypoint Connector (Amazon RDS Connector) を使用すると、Amazon Relational Database Service (Amazon RDS) API に接続できます。Amazon RDS Connector は Amazon RDS と連携して、コスト効率の高いサイズ変更可能な容量を提供し、ハードウェアプロビジョニング、データベースセットアップ、パッチ設定、バックアップなどの時間のかかる管理作業を自動化できます。
Amazon RDS Connector を使用するには、次のものが必要です。
Amazon Web Services - RDS へのアクセス
コネクタで AWS にアクセスするための AWS Identity and Access Management (IAM) ユーザーアカウントのログイン情報
Anypoint Studio バージョン 7.1 以降
Amazon RDS Connector 1.2.0 から 1.3.0 への変更には次が含まれます。
コネクタに TLS 設定を追加。
aws-java-sdk
を 1.11.649 にアップグレード。
aws-connector-commons
を 2.2.0 にアップグレード。
<dependency>
<groupId>com.mulesoft.connectors</groupId>
<artifactId>mule-amazon-rds-connector</artifactId>
<version>x.x.x</version>
<classifier>mule-plugin</classifier>
</dependency>
Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。
Studio タスクバーの Exchange ボタンから
[Mule Palette (Mule パレット)] ビューから
Studio で Mule プロジェクトを作成します。
Studio タスクバーの左上にある Exchange アイコン (X) をクリックします。
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
Exchange で、「RDS」を検索します。
コネクタを選択して [Add to project (プロジェクトに追加)] をクリックします。
画面の指示に従ってコネクタをインストールします。
Studio で Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
[Add Modules to Project (モジュールをプロジェクトに追加)] で、検索項目に「RDS」と入力します。
[Available modules (使用可能なモジュール)] で、このコネクタの名前をクリックします。
[Add (追加)] をクリックします。
[Finish (完了)] をクリックします。
Mule アプリケーションで Amazon RDS Connector を使用するには、プロジェクトのすべての Amazon RDS Connector で使用できるグローバル Amazon RDS 要素を設定します。
キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。
[Global Configuration Elements (グローバル設定要素)] 画面で、[Create (作成)] をクリックします。
次のウィンドウが表示されます。
[Choose Global Type (グローバル種別の選択)] ウィザードで、[Connector Configuration (コネクタ設定)] を展開し、[Amazon RDS Configuration (Amazon RDS 設定)] を選択し、[OK] をクリックします。
次のウィンドウが表示されます。
以下の説明に従ってパラメーターを設定します。
パラメーター | 説明 |
---|---|
Name (名前) |
参照するコネクタの設定の名前を入力します。 |
Session Token (セッショントークン) |
AWS Security Token Service (STS) が提供するセッショントークンを入力します。 |
Access Key (アクセスキー) |
アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列を入力します。 |
Secret Key (シークレットキー) |
パスワードとして使用されるキーを入力します。 |
Try Default AWS Credentials Provider Chain (デフォルトの AWS ログイン情報プロバイダーチェーンを試す) |
一時的なログイン情報を使用するチェックボックスを選択します。 |
Region Endpoint (リージョンエンドポイント) |
Amazon RDS クライアントで使用するリージョンを選択します。リージョンを選択しない場合、デフォルトで「us-east-1」が設定されます。 |
プレースホルダー値は、プロジェクトの src/main/resources
フォルダーにある設定ファイル mule-artifact.properties
を参照します。
ログイン情報をグローバル設定プロパティに入力するか、それらの値を含む設定ファイルを参照することができます。メンテナンスの簡略化とプロジェクトの再利用性の向上のために、設定ファイルを使用することをお勧めします。これらの値を別個のファイルに保存しておくと、アクセスログイン情報が異なるさまざまな環境 (本番、開発、QA など) にデプロイする必要がある場合に便利です。
[Advanced (詳細)] タブで、[Reconnection Strategy (再接続戦略)] をデフォルトエントリのままにします。
[Test Connection (接続をテスト)] をクリックして、グローバル設定のパラメーターが正確であることと、Mule が Amazon RDS に正常に接続できることを確認します。
[OK] をクリックして、グローバルコネクタ設定を保存します。
設定ファイルに 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 Connector を設定するには、次のグローバル設定コードを使用して、フローの外側と上にグローバル Amazon RDS 設定を作成します。
<rds:config name="Amazon_RDS_Configuration">
<rds:basic-connection
accessKey="${config.accessKey}"
secretKey="${config.secretKey}"
region="${config.region}"/>
</rds:config>
自分や Amazon Identity and Access Management ユーザーがシークレットアクセスキーを忘れたり紛失したりした場合は、新しいアクセスキーを作成できます。
Amazon RDS Connector は操作ベースのコネクタです。つまり、フローにコネクタを追加するときに、コネクタが実行する特定の Web サービス操作を設定する必要があります。
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>
Amazon がサポートするすべてのデータベースに任意の DB インスタンスを作成する。
使用可能または実行中の状態の DB インスタンスを停止する。
停止中の状態の DB インスタンスを開始する。
1 つまたは使用可能なすべての DB インスタンスの情報を取得する。
DB インスタンスの DB スナップショットを作成する。
1 つまたは使用可能なすべての DB スナップショットの情報を取得する。
DB スナップショットを削除する。
Anypoint Studio 7.0 以降で Mule アプリケーションを開発している場合は、pom.xml ファイルの次の XML スニペットを使用します。
<dependency>
<groupId>com.mulesoft.connectors</groupId>
<artifactId>mule-amazon-rds-connector</artifactId>
<version>x.x.x</version>
<classifier>mule-plugin</classifier>
</dependency>
x.x.x
を使用しているコネクタに対応するバージョンに置き換えます。
このデモ Mule アプリケーションは、DB インスタンスを作成します。
Anypoint Studio で新しい Mule プロジェクトを作成します。
Amazon RDS ログイン情報の次のプロパティを mule-artifact.properties
ファイルに追加し、このファイルをプロジェクトの src/main/resources
ディレクトリに置きます。
config.accesskey=<Access Key>
config.secretkey=<Secret Key>
config.region=<Region>
HTTP Listener 操作をキャンバスにドラッグし、次のパラメーターを設定します。
パラメーター | Value (値) |
---|---|
Display Name (表示名) |
リスナー |
Extension Configuration (拡張機能設定) |
まだ HTTP 要素が作成されていない場合は、プラス記号をクリックして新しい HTTP リスナー設定を追加し、[OK] をクリックします (値はデフォルトのままにする)。 |
Path (パス) |
|
HTTP クエリパラメーターを取得してペイロードに設定する HTTP Connector の後に 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
}
Transform Message コンポーネントの後に Logger コンポーネントを追加し、前のプロセッサーで設定されたペイロードデータを Mule コンソールに表示します。
以下の表に従って Logger を設定します。
パラメーター | Value (値) |
---|---|
Display Name (表示名) |
Logger (ロガー) (または他の任意の名前) |
Message (メッセージ) |
|
レベル |
INFO |
Amazon RDS Connector を Logger コンポーネントの横にドラッグします。
新しい Amazon RDS グローバル要素を追加することで RDS Connector を設定します。
[Extension Configuration (拡張機能設定)] 項目の横にあるプラス記号をクリックします。
以下の表に従ってグローバル要素を設定します。
パラメーター | 説明 |
---|---|
Value (値) |
名前 |
参照するコネクタの設定の名前を入力します。 |
<Configuration_Name> |
Session Token (セッショントークン) |
AWS Security Token Service (STS) が提供するセッショントークン。 |
|
Access Key (アクセスキー) |
アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列 |
|
Secret Key (シークレットキー) |
パスワードの役割を果たすキー。 |
|
Region Endpoint (リージョンエンドポイント) |
Region to set for the Amazon RDS Client (Amazon RDS クライアントに設定するリージョン) |
ドロップダウンリストから選択しない場合、デフォルトで「us-east-1」が設定されます。 |
設定は次のようになります。
対応する XML 設定は次のようになります。
<rds:config name="Amazon_RDS_Configuration">
<rds:basic-connection accessKey="${config.accessKey}" secretKey="${config.secretKey}"/>
</rds:config>
[Test Connection (接続をテスト)] をクリックして、Mule が Amazon RDS インスタンスに接続できることを確認します。
正常に接続できた場合は、[OK] をクリックして設定を保存します。そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。
Amazon RDS Connector のプロパティエディターに戻り、createDbInstance 操作のパラメーターを設定します。
パラメーター | Value (値) |
---|---|
General (全般) |
|
Display Name (表示名) |
DB インスタンスの作成に対して表示する名前を入力します。 |
Extension Configuration (拡張機能設定) |
作成したグローバル要素への参照名を入力します。 |
Db instance class (DB インスタンスクラス) |
|
Db instance identifier (DB インスタンス識別子) |
DB インスタンスを一意に識別する有効な識別子を入力します。 |
Engine (エンジン) |
Amazon RDS がサポートする 6 個の DB エンジンの中から選択します。 |
Security (セキュリティ) |
|
Master username (マスターユーザー名) |
データベースの有効なユーザー名を入力します。 |
Master user password (マスターユーザーパスワード) |
データベースユーザーのパスワードを入力します。 |
Storage and Maintenance (ストレージとメンテナンス) |
|
Allocated Storage (割り当てられたストレージ) |
ストレージを表す数 (GB)。 |
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]"/>
RDS Connector の後に Logger コンポーネントを追加し、DB インスタンスの作成プロセッサーから出力されたペイロードデータを Mule コンソールに表示します。以下の表に従って Logger を設定します。
パラメーター | Value (値) |
---|---|
Display Name (表示名) |
Logger (ロガー) (または他の任意の名前) |
Message (メッセージ) |
|
レベル |
INFO |
ブラウザーに転送されるペイロードを設定する Logger コンポーネントの後に Transform Message コンポーネントをドラッグします。
コンポーネントをクリックしてそのプロパティエディターを開きます。DataWeave スクリプトは、次のようになります。
%dw 2.0
output application/json
---
{
success: true,
info: payload
}
プロジェクトを保存し、Mule アプリケーションとして実行します。
Package Explorer で、プロジェクトを右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
ブラウザーを開き、URL http://localhost:8081/create-db-instance
を入力して応答を確認します。
生成された DB インスタンス ID がブラウザーに表示され、その情報がコンソールに表示されます。
このユースケース例のフローを 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>