Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこの例では、ボリュームと同じ可用性ゾーンの Amazon EC2 インスタンスにアタッチできる Amazon EBS (Elastic Block Store) ボリュームを作成します。
この例には、Amazon EC2 用 Anypoint Connector (Amazon EC2 Connector) のグローバル要素の設定、ボリュームサイズや種別などの追加プロパティの設定、Set Payload コンポーネントの設定、Logger コンポーネントの追加と設定、アプリケーションでのコネクタの使用のテストが含まれます。
次の画像は、この例の Mule フローを示しています。
この例では一部の項目値に変数を使用しています。次のいずれかを実行できます。
コード内で変数を値に置き換える。
プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。
プロパティファイルの使用方法についての詳細は、「プロパティプレースホルダーの設定」を参照してください。
Anypoint Studio で新しい Mule プロジェクトを作成します。
Amazon ログイン情報を保存する、mule-artifact.properties
という名前のファイルを作成します。
mule-artifact.properties
ファイルに次のプロパティを追加します。
amazon.accesskey=<Access Key> amazon.secretkey=<Secret Key> amazon.region=<Region> amazon.sessionToken=<Session Token>
text
プロジェクトの src/main/resources
ディレクトリに mule-artifact.properties
ファイルを保存します。
[HTTP] の [Listener] コンポーネントをキャンバスにドラッグします。
HTTP Listener のグローバル要素を加算します。
キャンバスで [Listener] を選択します。
操作の設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。
[Global Element Properties (グローバル要素のプロパティ)] ダイアログで、次の値を設定します。
Name (名前)
Listener
Host (ホスト)
localhost
Port (ポート)
8081
次の画像は、HTTP Listener グローバル要素設定の例を示しています。
[OK] をクリックします。
Amazon EC2 Connector の [Create volume] 操作を [Listener] コンポーネントの横にドラッグします。
新しい Amazon EC2 グローバル要素を追加します。
キャンバスで [Create volume] 操作を選択します。
操作の設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。
次のようにグローバル要素を設定します。
Name (名前)
Amazon EC2 Configuration
Session Token (セッショントークン)
一時的なセキュリティログイン情報を検証するために使用するセッショントークン。
Access Key (アクセスキー)
アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列
Secret Key (シークレットキー)
パスワードの役割を果たすキー
Region Endpoint (リージョンエンドポイント)
Amazon EC2 クライアントのドロップダウンメニューから選択するリージョン
次の画像は、設定を表示した例を示しています。
対応する XML は次のようになります。
<ec2:config
name="Amazon_EC2_configuration"
doc:name="Amazon EC2 Configuration" >
<ec2:basic-connection
accessKey="${amazon.accesskey}"
secretKey="${amazon.secretkey}"
region="${amazon.region}"
sessionToken="${amazon.sessionToken}"/>
</ec2:config>
xml
[Test Connection (接続をテスト)] をクリックして、Mule が Amazon EC2 インスタンスに接続できることを確認します。
正常に接続できた場合は、[OK] をクリックして設定を保存します。
そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。
Studio キャンバスで [Create volume] 操作を選択します。
[General (一般)] タブで、次の値を入力します。
[Display Name (表示名)] の値を入力します。
この例では、Create volume
を使用します。
[Basic Settings (基本設定)] セクションで、『コネクタのグローバル要素の設定』で作成した Amazon EC2 設定の名前を選択します。
[General (一般)] セクションで、次の項目に値を入力します。
Availability Zone (可用性ゾーン)
アクセスできる Amazon 可用性ゾーン。この例では、us-east-1a
を使用します。
Size (サイズ)
ギガバイト (GiB) 単位のボリュームのサイズ。この例では、5
を使用します。
Volume Type (ボリューム種別)
デフォルトのボリューム種別は [Standard (標準)] です。
XML が次のようになっていることを確認します。
<ec2:create-volume
config-ref="Amazon_EC2_configuration"
availabilityZone="us-east-1a"
doc:name="Create volume"
size="5"/>
xml
[Mule Palette (Mule パレット)] ビューで、[Set Payload] を選択して Amazon EC2 の [Create volume] 操作の右にドラッグします。
Set Payload トランスフォーマーは、ブラウザーでクライアントに応答を送信します。
キャンバスで [Set Payload] を選択し、[Value (値)] 項目を #[payload.volume.volumeId]
に設定します。
これにより、EBS ボリュームのボリューム ID が出力されます。
次の画像は、[Set Payload] 設定を示しています。
[Mule Palette (Mule パレット)] ビューで、[Logger] を選択して [Set Payload] コンポーネントの右にドラッグします。
Logger コンポーネントには、Mule コンソールで Create Volume 操作から Set Payload トランスフォーマーによって変換されるボリューム ID が表示されます。
キャンバスで、[Logger] を選択し、次の値を入力します。
Message (メッセージ)
#[payload]
Level (レベル)
INFO
プロジェクトを保存します。
Package Explorer で、プロジェクトを右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] を選択します。
http://localhost:8081/createVolume
にアクセスします。
生成されたボリューム ID がブラウザーとコンソールに表示されます。
このユースケース例のフローをすばやく Mule アプリケーションに読み込むには、次のコードをコピーして XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ec2="http://www.mulesoft.org/schema/mule/ec2"
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:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="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/ec2
http://www.mulesoft.org/schema/mule/ec2/current/mule-ec2.xsd">
<http:listener-config
name="HTTP_Listener_config"
doc:name="HTTP Listener config" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<ec2:config
name="Amazon_EC2_configuration"
doc:name="Amazon EC2 Configuration" >
<ec2:basic-connection
accessKey="${amazon.accesskey}"
secretKey="${amazon.secretkey}"
region="USEAST1"
sessionToken="${amazon.sessionToken}"/>
</ec2:config>
<flow name="create-ebs-volume" >
<http:listener
config-ref="HTTP_Listener_config"
path="/createVolume"
doc:name="Listener" />
<ec2:create-volume
config-ref="Amazon_EC2_configuration"
availabilityZone="us-east-1a"
doc:name="Create volume"
size="5"/>
<set-payload
value="#[payload.volume.volumeId]"
doc:name="Set Payload" />
<logger
level="INFO"
doc:name="Logger"
message="#[payload]"/>
</flow>
</mule>
xml