Red Hat Training

A Red Hat training course is available for Red Hat Fuse

161.5. コンピュート使用状況のサンプル

以下は、java dsl および spring/blueprint xml での jclouds コンピュートプロデューサーの使用を示すいくつかの例です。

161.5.1. 例 1: 利用可能なイメージを一覧表示します。

    from("jclouds:compute:aws-ec2" +
        "&operation=CamelJCloudsListImages")
        .to("direct:next");

これにより、本文内にイメージのリストを含むメッセージが作成されます。xml を使用して同じことを行うこともできます。

<route>
    <from uri="jclouds:compute:aws-ec2?operation=CamelJCloudsListImages"/>
    <to uri="direct:next"/>
</route>

161.5.2. 例 2: 新しいノードを作成します。

    from("direct:start").
    to("jclouds:compute:aws-ec2" +
        "?operation=CamelJcloudsCreateNode" +
        "&imageId=AMI_XXXXX" +
        "&locationId=XXXXX" +
        "&group=myGroup");

これにより、クラウドプロバイダーに新しいノードが作成されます。この場合の出力メッセージは、新しく作成されたノードに関する情報 (IP、ホスト名など) を含む一連のメタデータになります。これは、Spring xml を使用した場合と同じです。

<route>
    <from uri="direct:start"/>
    <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsCreateNode&imageId=AMI_XXXXX&locationId=XXXXX&group=myGroup"/>
</route>

161.5.3. 例 3: 実行中のノードでシェルスクリプトを実行します。

    from("direct:start").
    to("jclouds:compute:aws-ec2" +
        "?operation=CamelJcloudsRunScript" +
        "?nodeId=10" +
        "&user=ubuntu");

上記のサンプルは、実行されるシェルスクリプトを含むと予想される in メッセージのボディーを取得します。スクリプトが取得されると、指定されたユーザー (ubuntu の場合) の下で実行するためにノードに送信されます。ターゲットノードは、その nodeId を使用して指定されます。nodeId は、ノードの作成時に、結果のメタデータの一部になるか、または LIST_NODES 操作を実行することによって取得できます。

注記 これには、コンポーネントに渡されるコンピュートサービスが、適切な jclouds ssh 対応モジュール (jsch または sshj など) で初期化される必要があります。

これは、Spring xml を使用した場合と同じです。

<route>
    <from uri="direct:start"/>
    <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsListNodes&?nodeId=10&user=ubuntu"/>
</route>

161.5.4. その他の参考資料

jclouds について詳しく知りたい場合は、興味深いリソースのリストをご覧ください。

Jclouds Blobstore wiki

Jclouds コンピュート wiki Compute wiki