Amazon EC2 Connector 2.5 の例

この例では、ボリュームと同じ可用性ゾーンの Amazon EC2 インスタンスにアタッチできる Amazon EBS (Elastic Block Store) ボリュームを作成します。

この例には、Amazon EC2 用 Anypoint Connector (Amazon EC2 Connector) のグローバル要素の設定、ボリュームサイズや種別などの追加プロパティの設定、​Set Payload​ コンポーネントの設定、​Logger​ コンポーネントの追加と設定、アプリケーションでのコネクタの使用のテストが含まれます。

次の画像は、この例の Mule フローを示しています。

EBS ボリュームの作成フロー

この例では一部の項目値に変数を使用しています。次のいずれかを実行できます。

  • コード内で変数を値に置き換える。

  • プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。
    プロパティファイルの使い方が分からない場合は、​「プロパティプレースホルダーの設定」​を参照してください。

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

  1. Anypoint Studio で新しい Mule プロジェクトを作成します。

  2. Amazon ログイン情報を保存する、​mule-artifact.properties​ という名前のファイルを作成します。

  3. mule-artifact.properties​ ファイルに次のプロパティを追加します。

    amazon.accesskey=<Access Key>
    amazon.secretkey=<Secret Key>
    amazon.region=<Region>
    amazon.sessionToken=<Session Token>
  4. プロジェクトの ​src/main/resources​ ディレクトリに ​mule-artifact.properties​ ファイルを保存します。

  5. [HTTP] の [Listener]​ コンポーネントをキャンバスにドラッグします。

  6. HTTP Listener​ のグローバル要素を加算します。

    1. キャンバスで ​[Listener]​ を選択します。

    2. 操作の設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックし、グローバル要素設定項目にアクセスします。

    3. [Global Element Properties (グローバル要素のプロパティ)]​ ダイアログで、次の値を設定します。

      • Name (名前)
        Listener

      • Host (ホスト)
        localhost

      • Port (ポート)
        8081

        次の画像は、​HTTP Listener​ グローバル要素設定の例を示しています。

        HTTP Listener のグローバル要素設定
    4. [OK]​ をクリックします。

  7. Amazon EC2 Connector の ​[Create volume]​ 操作を ​[Listener]​ コンポーネントの横にドラッグします。

  8. 新しい Amazon EC2 グローバル要素を追加します。

    1. キャンバスで ​[Create volume]​ 操作を選択します。

    2. 操作の設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックし、グローバル要素設定項目にアクセスします。

  9. 次のようにグローバル要素を設定します。

    • Name (名前)
      Amazon EC2 Configuration

    • Session Token (セッショントークン)
      一時的なセキュリティログイン情報を検証するために使用するセッショントークン。

    • Access Key (アクセスキー)
      アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列

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

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

    • Region Endpoint (リージョンエンドポイント)
      Amazon EC2 クライアントのドロップダウンメニューから選択するリージョン

      次の画像は、設定を表示した例を示しています。

      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>
  10. [Test Connection (接続をテスト)]​ をクリックして、Mule が Amazon EC2 インスタンスに接続できることを確認します。

  11. 正常に接続できた場合は、​[OK]​ をクリックして設定を保存します。

    そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。

追加プロパティを設定する

  1. Studio キャンバスで ​[Create volume]​ 操作を選択します。

  2. [General (一般)]​ タブで、次の値を入力します。

    1. [Display Name (表示名)]​ の値を入力します。
      この例では、​Create volume​ を使用します。

    2. [Basic Settings (基本設定)]​ セクションで、​コネクタのグローバル要素の設定​で作成した Amazon EC2 設定の名前を選択します。

    3. [General (一般)]​ セクションで、次の項目に値を入力します。

      • Availability Zone (可用性ゾーン)

        アクセスできる Amazon 可用性ゾーン。この例では、​us-east-1a​ を使用します。

      • Size (サイズ)

        ギガバイト (GiB) 単位のボリュームのサイズ。この例では、​5​ を使用します。

      • Volume Type (ボリューム種別)

        デフォルトのボリューム種別は ​[Standard (標準)]​ です。

        メッセージのパブリッシュコネクタのプロパティ
  3. XML が次のようになっていることを確認します。

    <ec2:create-volume
    	config-ref="Amazon_EC2_configuration"
    	availabilityZone="us-east-1a"
    	doc:name="Create volume"
    	size="5"/>

Set Payload コンポーネントを設定する

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Set Payload]​ を選択して Amazon EC2 の ​[Create volume]​ 操作の右にドラッグします。
    Set Payload​ トランスフォーマーは、ブラウザーでクライアントに応答を送信します。

  2. キャンバスで ​[Set Payload]​ を選択し、​[Value (値)]​ 項目を ​#[payload.volume.volumeId]​ に設定します。

    これにより、EBS ボリュームのボリューム ID が出力されます。

    次の画像は、​[Set Payload]​ 設定を示しています。

    EC2 の Create Volume の Payload トランスフォーマー

Logger コンポーネントを追加および設定する

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Logger]​ を選択して ​[Set Payload]​ コンポーネントの右にドラッグします。
    Logger​ コンポーネントには、Mule コンソールで ​Create Volume​ 操作から ​Set Payload​ トランスフォーマーによって変換されるボリューム ID が表示されます。

  2. キャンバスで、​[Logger]​ を選択し、次の値を入力します。

    • Message (メッセージ)
      #[payload]

    • Level (レベル)
      INFO

      EC2 の Create Volume の Logger
  3. プロジェクトを保存します。

アプリケーションをテストする

  1. Package Explorer​ で、プロジェクトを右クリックし、​[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)]​ を選択します。

  2. http://localhost:8081/createVolume​ にアクセスします。

    生成されたボリューム ID がブラウザーとコンソールに表示されます。

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

このユースケース例のフローをすばやく 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>