このドキュメントでは、Pub/Sub Lite の予約の使用と管理の方法について説明します。このドキュメントでは、容量単位のコンセプトと、アプリケーションのスループットへの対応に必要な容量を決定する方法についても説明します。
Lite 予約の概要
Lite 予約は、リージョン内の 1 つ以上の Lite トピック間でスループット容量をプロビジョニングして動的に共有します。これらのトピックは、リージョンまたはゾーンの Lite トピックです。Lite 予約の使用は、個々の Lite トピックのスループット容量を設定する場合よりも優れた方法になります。Lite 予約を使用すると、管理、モニタリングするリソースの数が少なくなります。また、個々の Lite トピックのスループット容量を選択する必要もありません。
Lite 予約を使用するには、同じリージョンにある Lite トピックを特定の Lite 予約にアタッチします。1 つの Lite 予約は、ゾーンとリージョンの両方の Lite トピックにアタッチできます。Lite 予約にアタッチされた Lite トピック内のすべてのパーティションは、Lite 予約でプロビジョニングされたスループット容量を動的に消費します。Lite トピックに Lite 予約を指定した場合は、レート制限を設定して、Lite トピックの各パーティションのスループット容量を制限できます。
容量ユニットの概要
Lite 予約のスループット容量は、容量ユニットでプロビジョニングされます。
1 つの容量ユニットが次のスループットに対応します。
Lite トピックタイプ | パブリッシュのスループット(MiBps) | サブスクライブのスループット(MiBps) |
---|---|---|
ゾーン | 1 | 2 |
リージョン | 0.25 | 0.5 |
予約の名前を指定するガイドライン
Pub/Sub Lite リソース名は、トピック、サブスクリプション、予約などの Pub/Sub Lite リソースを一意に識別します。リソース名は次の形式に従う必要があります。
projects/project-identifier/collection/ID
project-identifier
: Google Cloud コンソールから取得可能なプロジェクト ID またはプロジェクト番号を指定する必要があります。たとえば、my-cool-project
はプロジェクト ID です。123456789123
はプロジェクト番号です。collection
:topics
、subscriptions
、reservations
のいずれかにする必要があります。ID
: 次のガイドラインに従う必要があります。- 文字列
goog
で始めないこと。 - 文字から始まる
- 3~255 文字の長さであること。
- 次の文字だけが含まれている: 文字
[A-Za-z]
、数字[0-9]
、ダッシュ-
、アンダースコア_
、ピリオド.
、チルダ~
、プラス記号+
、パーセント記号%
URL エンコードのないリソース名で、上記リストの特殊文字を使用できます。ただし、URL で使用されている場合、その他すべての特殊文字が適切にエンコードまたはデコードされることを確認する必要があります。たとえば、
mi-tópico
は無効な ID です。mi-t%C3%B3pico
は有効です。この形式は、REST 呼び出しを行う際に重要です。- 文字列
Lite 予約の使用に関するガイドライン
Lite 予約によるスループットのプロビジョニングは、リージョン Lite トピックでは必須ですが、ゾーン Lite トピックでは省略できます。Lite 予約はリージョン リソースです。
Lite 予約を構成する場合は、次の点に留意してください。
Lite 予約に必要な容量ユニットの数は、その Lite 予約のすべてのトピックとサブスクリプションで予想される 1 分間のピーク スループットと同じである必要があります。
Lite 予約内のすべての Lite トピックの合計スループットが容量に達すると、パブリッシュと配信が抑制されます。Pub/Sub Lite サーバーはクライアントへのメッセージ送信を停止し、メッセージはパブリッシャー クライアントにバッファリングされます。
reservation/throughput_capacity/utilization
にアラートを設定すると、予約がスロットリングされる危険があるときに通知されます。これにより、予約サイズを増やすことができます。予約のスループットは必要に応じて何度でも更新できます。変更は 1 分以内に反映されます。ただし、予約のスループットを減少させた場合は、24 時間、引き続き高い料金が課金されます。Pub/Sub Lite は本質的には容量課金制であり、スケールアップは即座に行われスケールダウンも可能です。
Lite 予約にアタッチされているすべての Lite トピックは、同じスループット容量のプールから消費します。したがって、Lite トピックで大量のスループット容量が突然使用されて、他の Lite トピックが使用できる容量が枯渇し、メッセージのパブリッシュや受信ができなくなる可能性があります。Lite トピックを完全に分離する必要がある場合は、独立した予約にアタッチできます。
パーティションが Lite 予約に及ぼす影響
Lite 予約のすべての Lite トピック内のパーティションの合計数は、予約済みの容量ユニット数以下でなければなりません。たとえば、容量ユニットが 10 個の Lite 予約を、Lite トピックまたはパーティションの合計数が 10 を超える Lite トピックのセットに接続することはできません。
Lite 予約の容量単位を計算する
Lite 予約のサイズは、容量ユニットの数によって決定されます。次の例は、個別の Lite トピックに必要な容量を見積もる方法を示しています。
パブリッシュのピーク スループットを特定します。
Lite 予約にアタッチされているすべての Lite トピックのスループットのピークを見積もります。予約のサイズはいつでも更新できるため、スループットの概算で十分です。
ピーク時のサブスクライブ スループットを特定します。
ピーク時のサブスクライブ スループットは、ピーク時のパブリッシュ スループットと同様に計算されます。ただし、サブスクライバーが必ずしもパブリッシャーのピークレートでメッセージを受信する必要はありません。処理の遅延が許容される場合は、Pub/Sub Lite を使用するとメッセージをバッファして、一定の速度で処理できます。同時に、定期的にサブスクライバーのダウンタイムが発生する可能性があるため、サブスクリプション容量をパブリッシュ容量よりも多くすることもできます。
必要な容量ユニットの合計数を決定します。
上記のセクション内の表に、容量ユニットがさまざまなオペレーションに対応可能な MiBps の数を指定します。Lite 予約のサンプルに必要な容量ユニットを計算する式は次のとおりです。
- ゾーン Lite トピックのピーク パブリッシュ スループット =
Pz MiBps
- リージョン Lite トピックのピーク パブリッシュ スループット =
Pr MiBps
- ゾーン Lite トピックのピーク サブスクライブ スループット =
Sz MiBps
リージョン Lite トピックのピーク サブスクライブ スループット =
Sr MiBps
必要な容量単位数 =
(Pz / 1 MiBps) + (Pr/0.25 MiBps) + (Sz/2 MiBps) + (Sr/0.5 MiBps)
数値が整数でない場合は、値を切り上げる必要があります。
- ゾーン Lite トピックのピーク パブリッシュ スループット =
Lite 予約を使用せずにスループット容量を構成する
トピック公開スループット容量: 4 ~ 16 MiBps のスループット容量を指定できます。この値は整数にする必要があります。
トピック サブスクライブのスループット容量: 4~32 MiBps のスループット容量を指定できます。この値は整数にする必要があります。
サブスクライブのスループットについては、スループット容量は、予想されるパブリッシュのスループットのとトピックのサブスクリプション数の積に等しくなるように準備することをおすすめします。
個々のトピックにプロビジョニングされたパブリッシャーとサブスクライバーの容量に互換性はありません。このため、常に予約を使用することをおすすめします。
予約を使用する代わりにトピックの容量を直接プロビジョニングする場合、請求が異なります。詳細については、Pub/Sub Lite の料金ページをご覧ください。
Lite 予約の作成
Lite 予約は、アタッチされている Lite トピックと同じプロジェクトとリージョンに存在している必要があります。使用可能なゾーンとリージョンのリストについては、Pub/Sub Lite のロケーションをご覧ください。
Lite 予約は、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して作成できます。
Console
[Lite 予約] ページに移動します。
[LITE 予約を作成] をクリックします。
リージョンを選択します。
Lite 予約 ID を入力します。
スループット容量の単位数をプロビジョニングします。
[作成] をクリックします。
gcloud
Lite 予約を作成するには、gcloud pubsub lite-reservations create
コマンドを使用します。
gcloud pubsub lite-reservations create myRes \ --location=us-central1 \ --throughput-capacity=INTEGER_NUMBER_OF_UNITS
gcloud pubsub lite-topics create myTopic \ --throughput-reservation=myRez \ --zone=ZONE \ --location=us-central1a \ --partitions \ --storage
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite 予約を更新する
Lite 予約に構成された容量単位の数は更新できます。
Lite 予約は、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して更新できます。
Console
[Lite 予約] ページに移動します。
Lite 予約 ID をクリックします。
[Lite 予約の詳細] ページで [編集] をクリックします。
gcloud
Lite 予約を更新するには、gcloud pubsub lite-reservations update
コマンドを使用します。
gcloud pubsub lite-reservations update RESERVATION_ID \ --location=REGION \ --throughput-capacity=THROUGHPUT_CAPACITY
次のように置き換えます。
- RESERVATION_ID: Lite 予約の ID
- REGION: 予約のリージョン
- THROUGHPUT_CAPACITY: 予約のスループット容量
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite 予約の詳細を取得する
Lite 予約の詳細は、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して取得できます。
Console
[Lite 予約] ページに移動します。
Lite 予約 ID をクリックします。
gcloud
Lite 予約の詳細を取得するには、gcloud pubsub lite-reservations describe
コマンドを使用します。
gcloud pubsub lite-reservations describe RESERVATION_ID \ --location=REGION
次のように置き換えます。
- RESERVATION_ID: Lite 予約の ID
- REGION: 予約のリージョン
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite 予約を一覧表示する
Console
[Lite 予約] ページに移動します。
gcloud
プロジェクト内の Lite 予約のリストを表示するには、gcloud pubsub lite-reservations list
コマンドを使用します。
gcloud pubsub lite-reservations list \ --location=REGION
次のように置き換えます。
- REGION: 予約のリージョン
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite 予約を削除する
Lite 予約は、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して削除できます。予約を削除する際に、予約にトピックが含まれません。既存のトピックを別の予約にアタッチすると、予約を削除できます。
Console
[Lite 予約] ページに移動します。
Lite 予約 ID をクリックします。
[Lite 予約の詳細] ページで [削除] をクリックします。
表示されたダイアログで [削除] をクリックして、削除する Lite 予約の削除を確定します。
gcloud
Lite サブスクリプションを削除するには、gcloud pubsub lite-reservations delete
コマンドを使用します。
gcloud pubsub lite-reservations delete RESERVATION_ID \ --location=REGION
次のように置き換えます。
- RESERVATION_ID: Lite 予約の ID
- REGION: 予約のリージョン
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
次のステップ
- Pub/Sub Lite の料金を学習する。
- Lite トピックを作成する。