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

Google Cloud ノード

Google Cloud ノードを使用すると、フローから直接 Google Cloud のサービスと連携できます。データの取得、リソースの作成・変更、および Google Cloud の各種サービスに対するアクションの実行に使用します。あるノードの出力は次のノードの入力となり、一連のアクションとオペレーションを定義できます。

アクションを探す

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

Google Cloud アクションを検索する

アクションを設定する

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

Google Cloud アクションの設定

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

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

承認を必須にする

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

Google Cloud アクションに承認を必須とする

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

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

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

ウェイターを追加する

ウェイターは、フローが次のステップに進む前に、フロー内の Google Cloud アクションが完了していることを保証します。多くの Google Cloud オペレーションは非同期であり、リソースが最終状態に達する前に API 呼び出しが戻ることがあります。Waiter を使用して、アクション結果に対する JMESPath 条件 を定義できます。条件が満たされるまで(または最大リトライ回数に達するまで)アクションが実行されます。VM が実行状態になるのを待つ、バケットが存在することを待つなど、JMESPath 式で表現できる任意の状態を待機できます。

アクションにウェイターが必要な場合は、Enable waiter を選択し、JMESPath 条件とリトライ設定を構成してください。

Enable waiter と JMESPath 条件/リトライフィールドを含む Google Cloud アクションの Parameters タブ

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

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

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

ウェイターの例

一般的なパターンとしては、まず Google Cloud アクションでリソースを作成または変更し、そのリソースが目的の状態に達するまで待機してから、別のアクションや通知に進みます。

  1. Trigger: たとえば、schedulemanual trigger です。
  2. Google Cloud ノード: リソースを作成または変更するアクションを実行します(例: Compute Engine の insert instance、Cloud Storage の create bucket)。ウェイターを有効にし、リソースが準備完了になったときに true になる JMESPath 条件を設定します(例: status == 'DONE'status == 'Complete')。
  3. 次のノード: Notification ノード、別の Google Cloud アクション、またはBranch ノードで、結果に基づいて判断を行うために出力を使用します。

ウェイターがない場合、次のノードはリソースがまだ保留状態の間に実行され、失敗したり、正しく動作しない可能性があります。ウェイターを使用すると、条件が満たされた後にのみフローが続行されます。

ヒント

done フィールドを返す長時間実行オペレーションの場合、done == true のような条件を指定すると、そのオペレーションが完了するまで待機します。

テスト

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