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

Google Cloud ノード

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

アクションを探す

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

Search for a Google Cloud action

アクションを設定する

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

Google Cloud action configuration

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

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

承認を必須にする

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

Require approval for a Google Cloud action

  • 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 condition を定義できます。この条件が満たされるまで(または最大リトライ回数に達するまで)アクションが実行されます。VM が実行中になるまで待つ、bucket が存在するまで待つなど、JMESPath 式で表現可能な任意の状態を待機できます。

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

Google Cloud action Parameters tab with Enable waiter and JMESPath condition / retry fields

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

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

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

ウェイターの例

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

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

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

ヒント

done フィールドを返す長時間実行オペレーションでは、done == true のような条件により、そのオペレーションが完了するまで待機できます。

制限事項

このセクションでは、CloudFlow 内の特定の Google Cloud アクションに対する既知の制限を一覧します。

Cloud Storage: storage.objects.get

CloudFlow は、storage.objects.get に対する alt=media クエリパラメータをサポートしていません。ファイルのメタデータ(名前やサイズなど)は取得できますが、このアクションを通じて生のファイルコンテンツを直接ダウンロードすることはできません。これは、機密データが Run history や保存された結果に格納されることを防ぎ、大容量ダウンロードによる信頼性リスクを軽減するのに役立ちます。

注意

同様の理由から、[CLI node] を使用して gcloud storage cat 経由で GCS オブジェクトのファイルコンテンツを渡さないことを推奨します。

テスト

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