App Design Center で Pub/Sub を構成する

Pub/Sub は、メッセージを生成するサービスを、それらのメッセージを処理するサービスと切り離す、非同期のスケーラブルなメッセージング サービスです。詳細については、Pub/Sub とはをご覧ください。

このドキュメントでは、App Design Center を使用して Pub/Sub トピックとサブスクリプションを作成するときに構成できる接続とパラメータについて説明します。構成パラメータは、terraform-google-pubsub Terraform モジュールに基づいています。

コンポーネント接続

次の表に、Pub/Sub トピックまたはサブスクリプションに接続できるコンポーネントと、アプリケーションとその生成された Terraform コードに対する更新結果を示します。

連結成分

アプリケーションの更新

背景情報

Compute Engine インスタンス テンプレート

  • Compute Engine インスタンスは、Pub/Sub トピックにパブリッシュして、Pub/Sub トピックからメッセージを受信できます。
  • Pub/Sub トピック ID が Compute Engine インスタンス テンプレートのメタデータに追加されます。
インスタンス テンプレート

サービス アカウント

  • サービス アカウントは、Pub/Sub トピックを管理し、サブスクリプションからメッセージを pull できます。
  • roles/pubsub.editor ロールがサービス アカウントに追加されます。
  • サービス アカウントの名前とメールアドレスの情報が Pub/Sub プル サブスクリプションに追加されます。
IAM を使用したアクセス制御

BigQuery

  • Pub/Sub サブスクリプションは、BigQuery データセットにメッセージを書き込むことができます。
  • BigQuery データセット情報が BigQuery サブスクリプション フィールドに追加されます。
BigQuery サブスクリプション

Cloud Run

  • Cloud Run サービスは、メッセージを受信するか、Pub/Sub トピックにパブリッシュできます。
  • Pub/Sub トピック ID が Cloud Run 環境変数に追加されます。
  • roles/pubsub.publisher ロールと roles/pubsub.subscriber ロールが Cloud Run サービス アカウントに追加されます。
  • Cloud Run サービスが Pub/Sub の push サブスクリプション フィールドと pull サブスクリプション フィールドに追加されます。
Cloud Run で Pub/Sub を使用するチュートリアル

Cloud Storage

  • Pub/Sub サブスクリプションは、Cloud Storage バケットにメッセージを書き込むことができます。
  • Cloud Storage バケット情報が Pub/Sub サブスクリプション フィールドに追加されます。
Cloud Storage のサブスクリプション

必要な構成パラメータ

テンプレートに Pub/Sub コンポーネントが含まれている場合は、デプロイする前に次のパラメータを構成する必要があります。

パラメータ名

説明と制約

背景情報

プロジェクト ID

Pub/Sub リソースをデプロイするプロジェクト。

コンポーネントを構成する

トピック

name トピック、サブスクリプション、スキーマ、スナップショットの名前に関するガイドライン

オプションの構成パラメータ

次のパラメータは省略可能です。詳細パラメータを表示するには、[構成] 領域で [詳細フィールドを表示] を選択します。

機能

パラメータ名

説明と制約に関する情報

背景情報

トピックを作成 デフォルトでは、トピックが作成されます。トピックを作成しない場合は、チェックボックスをオフにします。 トピックの作成
サブスクリプションを作成する デフォルトでは、サブスクリプションが作成されます。サブスクリプションを作成しない場合は、チェックボックスをオフにします。 サブスクリプションの概要

トピックラベル

Key(キー) labels ラベル付き使用状況の報告
labels ラベル付き使用状況の報告

プッシュ サブスクリプション

名前 name トピック、サブスクリプション、スキーマ、スナップショットの名前に関するガイドライン
Ack Deadline Seconds ackDeadlineSeconds 確認応答の期限
プッシュ エンドポイント pushEndpoint Endpoints
X-goog-version プッシュされたメッセージの Pub/Sub API 形式。たとえば、v1beta1 です。 attributes
OIDC サービス アカウントのメールアドレス serviceAccountEmail 認証
対象 認証
有効期限ポリシー expirationPolicy 有効期限
デッドレター トピック deadLetterTopic デッドレター トピック
確認応答されたメッセージを保持する retainAckedMessages 確認済みメッセージを保持する
メッセージの保持期間 messageRetentionDuration メッセージ保持期間
最大配信試行回数 maxDeliveryAttempts デッドレター トピック
最大バックオフ maximumBackoff 再試行ポリシー
最小バックオフ minimumBackoff 再試行ポリシー
フィルタ filter サブスクリプション フィルタ
メッセージの順序指定を有効にする enableMessageOrdering メッセージの順序指定

Pull サブスクリプション

名前 name トピック、サブスクリプション、スキーマ、スナップショットの名前に関するガイドライン
Ack Deadline Seconds ackDeadlineSeconds 確認応答の期限
デッドレター トピック deadLetterTopic デッドレター トピック
最大配信試行回数 maxDeliveryAttempts デッドレター トピック
確認応答されたメッセージを保持する retainAckedMessages 確認済みメッセージを保持する
メッセージの保持期間 messageRetentionDuration メッセージ保持期間
最大バックオフ maximumBackoff 再試行ポリシー
最小バックオフ minimumBackoff 再試行ポリシー
フィルタ filter サブスクリプション フィルタ
メッセージの順序指定を有効にする enableMessageOrdering メッセージの順序指定
サービス アカウント
1 回限りの配信を有効にする enableExactlyOnceDelivery 1 回限りの配信

BigQuery サブスクリプション

名前 name トピック、サブスクリプション、スキーマ、スナップショットの名前に関するガイドライン
テーブル テーブル BigQuery サブスクリプションを作成する
トピック スキーマを使用する useTopicSchema トピック サブスクリプションを使用する
テーブル スキーマを使用する useTableSchema テーブル スキーマを使用する
メタデータを書き込む writeMetadata メタデータを書き込む
不明なフィールドを削除する dropUnknownFields 不明な項目を削除する
Ack Deadline Seconds ackDeadlineSeconds 確認応答の期限
確認応答されたメッセージを保持する retainAckedMessages 確認済みメッセージを保持する
メッセージの保持期間 messageRetentionDuration メッセージ保持期間
メッセージの順序指定を有効にする enableMessageOrdering メッセージの順序指定
有効期限ポリシー expirationPolicy 有効期限
フィルタ filter サブスクリプション フィルタ
デッドレター トピック deadLetterTopic デッドレター トピック
最大バックオフ maximumBackoff 再試行ポリシー
最小バックオフ minimumBackoff 再試行ポリシー

Cloud Storage のサブスクリプション

名前 name トピック、サブスクリプション、スキーマ、スナップショットの名前に関するガイドライン
バケット バケット バケット名
ファイル名の接頭辞 filenamePrefix ファイル名の接頭辞、接尾辞、日時
ファイル名の接尾辞 filenameSuffix ファイル名の接頭辞、接尾辞、日時
Filename Datetime Format(ファイル名の日時形式) filenameDatetimeFormat ファイル名の接頭辞、接尾辞、日時
最大期間 maxDuration ファイルのバッチ処理
最大バイト数 maxBytes ファイルのバッチ処理
最大メッセージ数 maxMessages ファイルのバッチ処理
出力形式 textConfig または avroConfig ファイル形式
メタデータを書き込む writeMetadata メタデータを書き込む
トピック スキーマを使用する useTopicSchema トピック スキーマを使用する
Ack Deadline Seconds ackDeadlineSeconds 確認応答の期限
確認応答されたメッセージを保持する 確認済みメッセージを保持する
メッセージの保持期間 messageRetentionDuration メッセージ保持期間
メッセージの順序指定を有効にする enableMessageOrdering メッセージの順序指定
有効期限ポリシー expirationPolicy 有効期限
フィルタ filter サブスクリプション フィルタ
デッドレター トピック deadLetterTopic デッドレター トピック
最大バックオフ maximumBackoff 再試行ポリシー
最小バックオフ minimumBackoff 再試行ポリシー

定期購入ラベル

Key(キー) labels ラベル付き使用状況の報告
labels ラベル付き使用状況の報告
トピック メッセージの保持期間 topicMessageRetentionDuration メッセージ保持期間
トピックの KMS 鍵名 kmsKeyName 顧客管理の暗号鍵(CMEK)を使用する
BigQuery プロジェクト ロールを付与する デフォルトでは、BigQuery メタデータ閲覧者ロールと BigQuery データ編集者ロールがデフォルトの Pub/Sub サービス アカウントに付与されます。これらのロールを付与しない場合は、チェックボックスをオフにします。 Pub/Sub サービス アカウントに BigQuery のロールを割り当てる
Grant Token Creator デフォルトでは、サービス アカウント トークン作成者のロールがデフォルトの Pub/Sub サービス アカウントに付与されます。このロールを付与しない場合は、チェックボックスをオフにします。 Pub/Sub の認証を設定する

スキーマ

名前 name スキーマに関する重要なお知らせ
type スキーマの種類
定義 定義 スキーマの種類
エンコード エンコード スキーマをトピックに関連付けるためのガイドライン