メインコンテンツへスキップ

AWS ノード

AWS ノードを使用すると、フローから直接 AWS のサービスとやり取りできます。データの取得、リソースの作成や変更、AWS のサービス間での各種アクションの実行に利用します。1 つのノードの出力は次のノードの入力となり、これにより一連のアクションとオペレーションを定義できます。

アクションを探す

フローに AWS ノードを追加する際、プロバイダとして AWS を選択し、その後 AWS のサービス内を検索またはブラウズしてアクションを探してください。加えて、テンプレートノードを使用すると、あらかじめ構成されたアクションのグループを現在のフローに追加できます。

Search all a provider's services for an action

アクションを設定する

アクションノードを選択すると、設定用の 3 つのタブを含むサイドパネルが開きます。

Action configuration

  • Parameters: このタブには、選択したサービスとアクション、およびそれを変更するオプションが表示されます。このタブで承認設定も構成します。利用可能なパラメータはサービスとアクションによって異なります。パラメータの種類や、前のノードから値(リスト全体やマップを含む)を参照する方法については、Parameter typesを参照してください。

  • Permissions: このタブでは、アクションを実行するために必要な権限を持っているかどうかを確認でき、権限が不足している場合の手順を案内します。APIs in CloudFlowも参照してください。

承認を必須にする

アクションの実行前に承認が必要な場合は、Permissions タブで Require approval for this action を選択してください。

Require approval for action

  • Notification provider: 承認者に Slack かメールのどちらで通知するかを指定します。Slack を使用する場合は、事前に DoiT との共有 Slack チャンネルを作成しておく必要があります。

  • Message (任意): 承認者向けのメッセージです。前のノードのフィールドをメッセージに追加できます。メッセージが作成されると、そのフィールドのデータがメッセージ内に表示されます。これにより、受信者はシステムに移動して手動で関連情報を検索することなく、意思決定に必要な詳細を確認できるため便利です。フィールドの配列はカンマ区切りのリストとして表示されます。例: Instance ID: i-123,i-466

  • Reject approval after certain time (任意): アクションが承認を待機する時間の上限を設定します。利用可能な時間単位は HoursDaysWeeksMonths です。たとえば、承認者が 24 時間以内にアクションを承認または拒否する必要があるように設定できます。指定した期間内に承認者が何も操作しない場合、アクションは自動的に拒否されます。

ウェイターを追加する

ウェイターは、フローが次のステップに進む前に、フロー内の AWS アクションが完了していることを保証します。多くの AWS オペレーションは非同期であり、API 呼び出しはリソースが最終状態に到達する前に戻ります。ウェイターはその状態に到達するまでポーリングを行うため、後続のノードで結果を信頼して利用できます。これは、リソースを作成または変更し、次のステップに進む前に準備が整っている必要がある場合に役立ちます。例えば、ボリュームをアタッチしたり通知を送信したりする前に、EC2 インスタンスが running 状態になるまで待機するケースです。すべての AWS アクションがウェイターをサポートしているわけではなく、利用可能なウェイターの一覧は、選択したサービスとアクションによって決まります。アクションに対して事前定義されたウェイターが存在しない場合は、アクション結果に対する JMESPath 条件を設定し、最大リトライ回数と遅延を構成できます。同じオプションは Google Cloud node でも説明されています。

アクションにウェイターが必要な場合は、Enable waiter を選択してください。

Waiter for action

  • Wait until: このアクションに使用するウェイターを選択します。ドロップダウンには、現在の AWS サービスとアクションに適用可能なウェイターのみが表示されます(例: EC2 RunInstances 向けの InstanceRunning)。

  • (任意)Parameters: ウェイターは、どのリソースをポーリングすべきか(どの EC2 インスタンスやどの S3 バケットかなど)を知る必要があります。このセクションでそれらの値を指定します。現在のアクションの出力、またはフロー内の前のノードからフィールドを参照できます。例えば、RunInstances によって返されたインスタンス ID や、前のステップのバケット名などです。

  • (任意)+ Add additional parameters: 1 つ以上のパラメータを追加し、それぞれの値を手動で入力するか、+ ボタンを使用して現在のアクションまたは前のノードのフィールドを挿入して設定します。ウェイターが、どのリソースをチェックすべきかを正確に把握する必要がある場合に、パラメータを追加することがあります。例えば、InstanceRunning ウェイターでは InstanceId パラメータを追加し、上記の RunInstances 出力からインスタンス ID を参照することで、その特定のインスタンスが対象状態になるまでフローが待機するようにできます。

  • (任意)Override waiter configuration: ウェイターがポーリングする長さと頻度を調整します。

    • Max wait time: 失敗とみなすまでに待機する最大時間(秒)。デフォルトは 20 分です。
    • Min delay / Max delay: ポーリング試行間の最小および最大秒数です。これらを調整することで、処理が速いオペレーション向けにウェイターを高速化したり、処理が遅いオペレーション向けに負荷を軽減したりできます。
    ヒント

    これらのオプションの詳細については、AWS SDK ドキュメントの WaiterConfiguration を参照してください。

  • JMESPath condition: JMESPath 構文を使用して条件を定義します。この式はアクション結果に対して評価され、ブール値を返す必要があります。条件がまだ満たされていない場合、一定の遅延後にアクションが再度呼び出されます。これは、条件が満たされるか最大リトライ回数に達するまで繰り返されます。例えば、status == 'RUNNING' は、リソースがそのステータスを報告するまで待機します。

  • Max retries (1–30): 失敗とみなす前にアクションを再実行する最大回数です。デフォルトは 5 です。

  • Min delay (ms) / Max delay (ms): 試行間の遅延は、これらの範囲内で指数バックオフを使用します。最小遅延のデフォルトは 1000 ms、最大遅延のデフォルトは 10000 ms です。

ウェイターの例

一般的なパターンとしては、AWS アクションでリソースを作成し、その準備が整うまで待ってから、別のアクションや通知に進みます。

  1. Trigger: 例えば、schedulemanual trigger です。
  2. AWS node: リソースを作成または変更するアクションを実行します(例: EC2 RunInstances、S3 CreateBucket)。ウェイターを有効にし、適切な Wait until の値(例: InstanceRunning、BucketExists)を選択します。
  3. Next nodes: ノードの出力を Notification node、別の AWS アクション(例: インスタンス ID を使用してボリュームをアタッチ)、または結果に基づいて分岐させるための Branch node で使用します。

ウェイターがない場合、次のノードはリソースがまだ pending 状態のうちに実行され、失敗したり、正しく動作しなかったりする可能性があります。ウェイターを使用すると、リソースが目的の状態に達してからフローが進行します。

テスト

ノードをテストするには、Test を選択してください。