今回は、Google Cloudのプロジェクト間でPubSubトピックを送信できるかを検証した際、別プロジェクトのPubSubトピックが表示されない問題に直面しました。
結論として、ログシンク作成時に同一組織内であっても別プロジェクトのPubSubトピックは自動表示されず、手動で設定する必要があることが分かりました。
概要
前回の実装(Cloud Buildのデプロイ失敗をDiscordに通知する仕組みを構築する)では、通知用のコンテナを各環境ごとに用意していました。
しかし、dev、stg、prdと分ける必要性を感じなかったため、今回はあるプロジェクト(prd)から別のプロジェクト(dev)へ、PubSubトピックを介して特定のログを送信する仕組みを試してみました。
実装手順
- ロギング → ログルーター → シンクを作成
- シンク作成画面で、Pub/Subトピックを選択し、
"トピックを手動で入力"
を選びます。
- 手動入力欄に、通知を担当するCloud Run関数にトリガーしてあるPub/Subトピックからトピック名(完全なリソースID)をコピーして貼り付け、保存します。
以上で設定は完了です。
まとめ
今回の実験により、Google Cloudのプロジェクト間でもPubSubトピックを介して通知連携が可能であることが確認できました。
この検証結果を活かし、今後は組織内のデプロイ通知のグループ化など、さらなるシステム運用の効率化を目指していきたいと考えています。
フィードバックやご意見がありましたら、ぜひコメントでお知らせください!