Amazon EC2 コネクタ

Select

Amazon EC2 用 Anypoint コネクタは、Amazon Elastic Compute Cloud (Amazon EC2) API への接続を提供し、 Amazon EC2 と連動して必要な数の仮想サーバを起動したり、セキュリティとネットワークを設定したり、ストレージを管理したりできます。

前提条件

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

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

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

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

互換性

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

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

Mule Runtime

4.0.0

AWS SDK for Java

1.11.134

Java

1.8.0_x

Anypoint Studio

7.0 以上

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

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

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

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

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

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

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

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

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

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

  2. [Global Mule Configuration Elements (グローバル Mule 設定要素)] 画面で、[Create (作成)] をクリックします。

  3. [Choose Global Type (グローバル種別の選択)] ウィザードで、[Connector Configuration (コネクタ設定)] を展開し、[Amazon EC2: Configuration (Amazon EC2: 設定)] を選択し、[OK] をクリックします。

    [Global Element Configuration (グローバル要素設定)] ウィザード
  4. 以下の説明に従ってパラメータを設定します。

    パラメータ 説明

    Name (名前)

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

    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 EC2 のインスタンスに正常に接続できることを確認します。

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

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

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

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

<mule xmlns:ec2="http://www.mulesoft.org/schema/mule/ec2"
xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
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.mulesoft.org/schema/mule/ee/dw
http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
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/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/ec2
http://www.mulesoft.org/schema/mule/ec2/current/mule-ec2.xsd">
<!-- Put your flows and configuration elements here -->

</mule>

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

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

<ec2:config name="Amazon_EC2_configuration" doc:name="Amazon EC2 Configuration" >
	<ec2:basic-connection accessKey="${amazon.accesskey}" secretKey="${amazon.secretkey}"
	region="${amazon.region}" />
</ec2:config>

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

EC2 コネクタの操作

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

AMI

  • CreateImage

  • DeregisterImage

  • DescribeImageAttribute

  • DescribeImages

  • ModifyImageAttribute

  • ResetImageAttribute

Elastic IP アドレス

  • AllocateAddress

  • AssociateAddress

  • DescribeAddresses

  • DescribeMovingAddresses

  • DisassociateAddress

  • MoveAddressToVpc

  • ReleaseAddress

  • RestoreAddressToClassic

Elastic Network Interface (Amazon VPC)

  • AssignIpv6Addresses

  • AssignPrivateIpAddresses

  • AttachNetworkInterface

  • CreateNetworkInterface

  • DeleteNetworkInterface

  • DescribeNetworkInterfaceAttribute

  • DescribeNetworkInterfaces

  • DetachNetworkInterface

  • ModifyNetworkInterfaceAttribute

  • ResetNetworkInterfaceAttribute

  • UnassignIpv6Addresses

  • UnassignPrivateIpAddresses

インスタンス

  • AssociateIamInstanceProfile

  • DescribeIamInstanceProfileAssociations

  • DescribeInstanceAttribute

  • DescribeInstances

  • DescribeInstanceStatus

  • DisassociateIamInstanceProfile

  • GetConsoleOutput

  • GetConsoleScreenshot

  • GetPasswordData

  • ModifyInstanceAttribute

  • MonitorInstances

  • RebootInstances

  • ReplaceIamInstanceProfileAssociation

  • ReportInstanceStatus

  • ResetInstanceAttribute

  • RunInstances

  • StartInstances

  • StopInstances

  • TerminateInstances

  • UnmonitorInstances

キーペア

  • CreateKeyPair

  • DeleteKeyPair

  • DescribeKeyPairs

  • ImportKeyPair

リージョンおよび可用性ゾーン

  • DescribeAvailabilityZones

  • DescribeRegions

セキュリティグループ

  • AuthorizeSecurityGroupEgress

  • AuthorizeSecurityGroupIngress

  • CreateSecurityGroup

  • DeleteSecurityGroup

  • DescribeSecurityGroupReferences

  • DescribeSecurityGroups

  • DescribeStaleSecurityGroups

  • RevokeSecurityGroupEgress

  • RevokeSecurityGroupIngress

タグ

  • CreateTags

  • DeleteTags

  • DescribeTags

ボリュームおよびスナップショット (Amazon EBS)

  • AttachVolume

  • CopySnapshot

  • CreateSnapshot

  • CreateVolume

  • DeleteSnapshot

  • DeleteVolume

  • DescribeSnapshotAttribute

  • DescribeSnapshots

  • DescribeVolumeAttribute

  • DescribeVolumes

  • DescribeVolumesModifications

  • DescribeVolumeStatus

  • DetachVolume

  • EnableVolumeIO

  • ModifySnapshotAttribute

  • ModifyVolume

  • ModifyVolumeAttribute

  • ResetSnapshotAttribute

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

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

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

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

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

<mule xmlns:ec2="http://www.mulesoft.org/schema/mule/ec2"
xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
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.mulesoft.org/schema/mule/ee/dw
http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
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/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/ec2
http://www.mulesoft.org/schema/mule/ec2/current/mule-ec2.xsd">

      <!-- here go your global configuration elements and flows -->

</mule>

Maven 対応の Mule アプリケーションでのコネクタの使用

Maven 対応の Mule アプリケーションをコーディングしている場合は、次のスニペットを pom.xml ファイルに含める必要があります。

<dependency>
    <groupId>org.mule.modules</groupId>
    <artifactId>mule-module-ec2</artifactId>
    <version>2.0.0</version>
    <classifier>mule-plugin</classifier>
</dependency>

ユースケースとデモ

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

Amazon EC2 インスタンスの開始

Amazon EC2 を使用して、以前に停止した Amazon EBS-Backed AMI を開始できます。

Amazon EC2 インスタンスの停止

Amazon EC2 を使用して、Amazon EBS-Backed インスタンスを停止できます。

EBS ボリュームの作成

Amazon EC2 を使用して、同じ可用性ゾーン内のインスタンスにアタッチできる EBS ボリュームを作成できます。

Amazon EC2 インスタンスへの EBS ボリュームのアタッチ

Amazon EC2 を使用して、実行中または停止中の Amazon EC2 インスタンスに EBS ボリュームをアタッチできます

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

このデモでは、同じ可用性ゾーンの EC2 インスタンスにアタッチできる EBS ボリュームを作成します。

EBS ボリュームの作成
  1. Anypoint Studio で新しい Mule プロジェクトを作成します。

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

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

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

    Display Name (表示名)

    リスナ

    Extension Configuration (拡張機能設定)

    まだ HTTP リスナ設定が作成されていない場合は、プラス記号をクリックして新しい HTTP リスナ設定を追加し、[OK] をクリックします ([Host (ホスト)] と [Port (ポート)] 列の値は「localhost」と「8081」にする)。

    Path (パス)

    /createVolume

  4. Amazon EC2 コネクタの「Create volume」を HTTP Listener コンポーネントの横にドラッグします。

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

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

      パラメータ 説明

      Name (名前)

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

      <Configuration_Name>

      Access Key (アクセスキー)

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

      ${amazon.accesskey}

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

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

      ${amazon.secretkey}

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

      Amazon EC2 クライアントのドロップダウンから選択するリージョン。

      USEAST1

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

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

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

  7. Amazon EC2 の Create volume 操作のプロパティエディタに戻り、残りのパラメータを設定します。

    パラメータ

    Display Name (表示名)

    Create Volume (ボリュームを作成) (または他の任意の名前)

    Basic Settings (基本設定)

    Extension Configuration (拡張機能設定)

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

    General (一般)

    Availability Zone (可用性ゾーン)

    us-east-1a (またはアクセス可能な他の可用性ゾーン)

    Size (サイズ)

    5 (GiB 単位のボリュームのサイズ)

    Volume Type (ボリューム種別)

    Standard (標準) (デフォルトのボリューム種別)

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

    <ec2:create-volume config-ref="Amazon_EC2_configuration" availabilityZone="us-east-1a" doc:name="Create volume" size="5"/>
  9. Amazon EC2 の Create Volume 操作の後に Set Payload トランスフォーマを追加し、ブラウザでクライアントに応答を送信します。以下の表に従って SetPayload トランスフォーマを設定します。

    パラメータ

    Display Name (表示名)

    Set Payload (ペイロードを設定) (または他の任意の名前)

    Value (値)

    #[payload.volume.volumeId] (作成した EBS ボリュームのボリューム ID の出力用)

    EC2 の Create Volume の Payload トランスフォーマ
  10. Set Payload トランスフォーマの後に Logger コンポーネントを追加し、Mule コンソールで Create Volume 操作から Set Payload トランスフォーマによって変換されるボリューム ID を出力します。以下の表に従って Logger を設定します。

    パラメータ

    Display Name (表示名)

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

    Message (メッセージ)

    #[payload]

    Level (レベル)

    INFO

    EC2 の Create Volume の Logger
  11. プロジェクトを保存し、Mule アプリケーションとして実行します。Package Explorer でプロジェクトを右クリックし、[Run As (別のユーザとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。

  12. ブラウザを開き、URL 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" />
	</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>

関連情報

  • AWS の AWS EC2 アクション用に提供されるコネクタでサポートされていない操作がいくつかある可能性があります。追加の操作サポートが必要な場合は、https://support.mulesoft.com/s/ideas[サポートポータル]を参照してください。

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub