このチュートリアルでは、構成変数(プレビュー)を使用して、異なる Google Cloud プロジェクトの異なる環境間の統合の昇格を自動化する方法について説明します。
概要
このチュートリアルでは、サンプル統合の構成変数を使用して Application Integration のデプロイを自動化します。このサンプル統合フローは、API を呼び出し、API からのレスポンスを Pub/Sub トピックに公開します。このサンプルは、REST エンドポイントの呼び出しタスクとコネクタタスクの使用を説明することを目的としています。さまざまな環境と Google Cloud プロジェクトに対応する GitHub リポジトリにサンプル インテグレーションを保存できます。目標
このチュートリアルでは、統合で以下のタスクを行う方法について説明します。
- 統合を作成する
- 構成変数を作成して統合で使用する。
- 統合を別の環境に昇格します。
費用
このチュートリアルでは、Google Cloud の次の課金対象のコンポーネントを使用します。
このチュートリアルの手順は、リソースの使用状況が Google Cloud 無料のクラウド機能とトライアル特典の制限内に収まるように設計されています。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Secret Manager API, Connectors API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Pub/Sub Publisher (
roles/pubsub.publisher) role to the service account.To grant the role, find the Select a role list, then select Pub/Sub Publisher (
roles/pubsub.publisher). - Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Secret Manager API, Connectors API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Pub/Sub Publisher (
roles/pubsub.publisher) role to the service account.To grant the role, find the Select a role list, then select Pub/Sub Publisher (
roles/pubsub.publisher). - Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
Google Cloud コンソールで、Pub/Sub の [トピック] ページに移動します。
[トピックを作成] をクリックします。
[トピック ID] フィールドに、トピックの ID を入力します。トピックの命名の詳細については、トピック、サブスクリプション、スキーマ、スナップショットの命名に関するガイドラインをご覧ください。
[デフォルトのサブスクリプションを追加] オプションは、そのまま保持します。
他のオプションは選択しないでください。
[トピックを作成] をクリックします。
- Google Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、 Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。
- [NEXT] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Pub/Sub] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに「
pub-sub-connector」と入力します。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- プロジェクト ID: Google Cloud Pub/Sub インスタンスが存在するプロジェクト ID。
- トピック ID: Pub/Sub トピックの名前を入力します。
- [次へ] をクリックします。
- [認証] セクションで、[次へ] をクリックします。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
- Google Cloud コンソールで [Application Integration] ページに移動します。
- 左側のナビゲーション メニューで [インテグレーション] をクリックして、[インテグレーション] ページを開きます。
- [ 統合を作成] をクリックし、[統合を作成] ページで次の情報を入力します。
- 統合名: 統合の名前を入力します。例:
build-cicd - 説明: 統合の説明を入力します(省略可)。例:
Demo integration created for CICD tutorial - リージョン: プロビジョニングされたリージョンのリストからリージョン
us-central1を選択します。選択する必要があるリージョンがプロビジョニングされていない場合は、新しいリージョンをプロビジョニングするをご覧ください。サポートされているリージョンのリストについては、Application Integration のロケーションをご覧ください。 - サービス アカウント: このフィールドは、リージョンでガバナンスを有効にしている場合に表示されます。統合用のサービス アカウントを選択します。リージョンでガバナンスを有効にする方法については、リージョンを編集するをご覧ください。
- [作成] をクリックします。[統合エディタ] ページが開き、タスクとトリガーを追加して統合を構築できます。
- 統合名: 統合の名前を入力します。例:
- Google Cloud コンソールで、[Application Integration] ページに移動します。
- ナビゲーション メニューで [統合] をクリックします。
[統合リスト] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。
build-cicd統合を選択します。統合エディタで統合が開きます。
- 統合エディタのナビゲーション バーで、[トリガー] > [API トリガー] をクリックしてトリガーを追加します。
- 統合エディタのナビゲーション バーで、[タスク] > [REST エンドポイントの呼び出し] をクリックしてタスクを追加します。
- [API トリガー] 要素からエッジ接続を [REST エンドポイントの呼び出し] 要素に追加するには、[API トリガー] 要素のコントロール ポイントの上にカーソルを合わせてからクリックし、[REST エンドポイントの呼び出し] タスク要素のコントロール ポイントに線を引きます。
- インテグレーション デザイナーのナビゲーション バーで、(切り替えパネル)をクリックして、[変数] ペインを開きます。
- [+ 作成] をクリックします。
- [変数の作成] ペインで、次の操作を行います。
- [名前] に「
url」と入力します。Application Integration は、構成変数に
`CONFIG_接頭辞を追加します。API を使用して統合に構成変数を追加する場合は、構成変数に`CONFIG_CONFIG_VARIABLE_NAME`の形式を使用します。統合をダウンロードしてアップロードする方法については、統合をアップロードしてダウンロードするをご覧ください。 - [変数タイプ] で [構成変数] を選択します。
- [Data type] で [String] を選択します。
- [作成] をクリックします。
構成変数が [変数] ペインに表示されます。
- [名前] に「
- ステップ 2 と 3 を繰り返して、次の構成変数を追加します。
- 名前:
connection_name - 変数タイプ:
Config Variable - データ型:
String
- 名前:
- 統合エディタで、[REST エンドポイントの呼び出し] タスクをクリックして、タスク構成ペインを開きます。次に、以下の操作を行います。
- [タスク入力] セクションを開きます。
- [エンドポイント ベース URL] で [変数] をクリックし、
$`CONFIG_url`$を追加します。
- 統合エディタのナビゲーション バーで、[タスク] > [コネクタ] をクリックします。
- [コネクタを構成] をクリックします。
- [リージョン] リストから、Pub/Sub コネクタを作成したリージョンを選択します。
- [接続] フィールドで、前の手順で作成した Pub/Sub コネクタを選択します。
- [タイプ] セクションで、[アクション] を選択します。
- [エンティティ / アクションを設定する] セクションの [アクション] で、[publishMessage] を選択します。
- [デフォルト値] に、構成変数のデフォルト値を追加します。
- [作成] をクリックします。
- [コネクタ] タスクの構成ペインで、[接続の詳細] セクションを開き、次のフィールドを更新します。
- [接続名] フィールドで [変数] をクリックし、
$`CONFIG_connection_name`$を選択します。
- [接続名] フィールドで [変数] をクリックし、
- 統合エディタのナビゲーション バーで、[タスク] > [データ マッピング] をクリックします。
- [REST エンドポイントの呼び出し] 要素から [データ マッピング] 要素にエッジ接続を追加するには、[REST エンドポイントの呼び出し] 要素のコントロール ポイントの上にカーソルを合わせてからクリックし、[データ マッピング] タスク要素のコントロール ポイント線を引きます。
- データ マッピング 要素上のコントロール ポイントにカーソルを合わせて、データ マッピング 要素からコネクタ要素に別のエッジ接続を追加します。線をクリックして、[コネクタ] タスク要素上のコントロール ポイントにドラッグします。
- データ マッピング タスク構成ペインで、[Open Data Mapping Editor] をクリックします。
- REST エンドポイントの呼び出しタスクの出力変数をコネクタタスクの入力変数にマッピングします。
- 統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。
[Publish integration] ダイアログが表示されます。
- [インテグレーションを公開] ダイアログで、次の構成変数の値を入力します。
url: エンドポイント URL の名前を入力します。connection_name: 前の手順で作成した Pub/Sub コネクタの名前を入力します。
- [公開] をクリックします。
- 統合が正常に公開されると、公開された統合の実行ログを表示、検査できます。ログを表示するには、統合エディタのツールバーで [ログ] をクリックします。
- GitHub のサンプル インテグレーションを確認する。
- 構成変数について詳細を確認する。
integrationcliツールの詳細を確認する。
Pub/Sub トピックの作成
Pub/Sub コネクタを構成する
新しい統合を作成する
Application Integration を設定したら、新しい統合を作成できます。
統合フローを作成する
API トリガーと REST エンドポイントの呼び出しを追加する
API トリガーを追加するには、次の操作を行います。構成変数を作成する
構成変数を作成する手順は次のとおりです。REST エンドポイントの呼び出しを追加して構成する
構成変数を作成する手順は次のとおりです。コネクタタスクを追加して構成する
データ マッピング タスクを追加する
統合を公開する
統合を公開する手順は次のとおりです。環境間でのインテグレーションをプロモートする
環境間でインテグレーションをプロモートするには、integrationcli ツールを使用できます。これは、Application Integration API と Integration Connectors API を操作できるオープンソース ツールです。このツールを使用すると、インテグレーション、認証構成などのインテグレーション エンティティを管理できます。インテグレーションのスキャフォールディングを生成して、スキャフォールディングによって生成された変更を適用する方法については、コミュニティ ブログの integrationcli の概要をご覧ください。
Jenkins、GitLab、Cloud Build などを使用して DevOps パイプラインを設定することで、環境間で変更をプロモートすることもできます。詳細については、Cloud Build とのインテグレーションをご覧ください。
integrationcli を使用しない場合は、手動でインテグレーションをダウンロードして新しいプロジェクトにアップロードできます。現在ダウンロードできないため、新しいプロジェクトで手動でコネクタを作成する必要があります。新しい環境でインテグレーションを公開すると、Application Integration で構成変数の値を入力できます。