金融や医療などの規制対象業界では、データをリージョン境界内に厳密に保持しながら、重要なインフラストラクチャをモニタリングする必要があります。
オープンソース ソフトウェア(OSS)は、 で現在利用可能な Cloud Monitoring と Cloud Logging の機能を補完し、拡張できます。 Cloud de Confiance by S3NSこの例では、 広く使用されているオープンソース ツールを追加して、 Cloud de Confiance by S3NS で完全なソブリン オブザーバビリティ ソリューションを作成する方法を示します。
このアーキテクチャでは、OpenTelemetry、Grafana Mimir、Grafana Loki(Cloud Storage にバックアップ)、Grafana、Fluent Bit を使用して、Google Kubernetes Engine(GKE)と Compute Engine の指標、ログ、可視化、アラートを生成します。 すべてのデータはソブリン リージョン内に保持され、サードパーティの SaaS 料金は発生しません。
の Cloud de Confiance by S3NS オブザーバビリティ機能の今後の更新については、関連するリリースノート を購読することをおすすめします。
このソリューションは、Terraform を使用して、付属の リファレンス実装に沿ってデプロイできます。
ターゲット オーディエンス
このソリューションは、ソブリン Cloud de Confiance by S3NS 環境でワークロードをモニタリングする必要がある企業を対象としています。次の関係者に役立ちます。
- 手動でエクスポータをメンテナンスすることなく、アプリケーションの健全性をモニタリングし、システム サービスレベル契約(SLA)を追跡するために、自動化されたスケーラブルな指標ストレージとログ パイプラインをプロビジョニングするサイト信頼性エンジニア(SRE)と DevOps リーダー 。
- 機密性の高いアプリケーション ログ、指標、運用シグナルがソブリン境界内にローカルに保持され、ソブリン以外の SaaS データが流出しないようにするコンプライアンス担当者とセキュリティ担当者 。
- 迅速なクラウド移行を可能にし、ファースト パーティのクラウド モニタリングへのスムーズな移行パスを提供する、標準化された OpenTelemetry 基盤を確立するエンタープライズ クラウド アーキテクト 。
中核となる機能
- ソブリン オブザーバビリティとローカル データ保持: Cloud Storage バケットを使用して、ローカルのソブリン インフラストラクチャ内で Compute Engine と GKE ログのアプリケーション指標を収集、処理、 保存します。
- OpenTelemetry 標準取り込み: OpenTelemetry Collector を使用して、 プルベースの Prometheus スクレイピングとプッシュベースの OpenTelemetry Protocol(OTLP) 指標の取り込みを行います。このアプローチは、ファースト パーティの Cloud Monitoring との将来の互換性をサポートします。
- スケーラブルな Cloud Storage ベースの指標ストレージ: Cloud Storage を高可用性で 費用対効果の高い Prometheus 指標ブロック バックエンドとして使用するように Grafana Mimir と Grafana Loki を構成します。
- 統合されたテレメトリーの可視化: 事前構成済みの Grafana ダッシュボード を表示して、リアルタイムのアプリケーション指標、Grafana Loki ログストリーム、 Compute Engine VM stdout ログを表示し、Cloud Logging データソースを統合します。
- Compute Engine VM ロギング パイプライン: Fluent Bit と
OpenTelemetry Collector Contrib を Compute Engine VM に自動的にインストールして、
systemd-journaldログと stdout ログを Grafana Loki、 Cloud Logging、またはその両方にストリーミングします。また、VM ホスト指標と合成 OTLP アプリケーション指標を収集して、mTLS 経由で Mimir に転送することもできます。 - 柔軟なデプロイの自動化: Terraform と Kubernetes パッケージ管理の Infrastructure as Code(IaC) アプローチと Helm を使用して、 環境のセットアップと破棄を統一します。
アーキテクチャ
このアーキテクチャでは、OpenTelemetry Collector、Grafana Mimir、Grafana Loki、kube-state-metrics、Fluent Bit、cert-manager、Grafana を使用して、Compute Engine と GKE ワークロードをモニタリングします。指標には Cloud Storage、ログには Cloud Logging を使用します。Virtual Private Cloud(VPC)内の Mimir と Loki は、mTLS 経由で内部アプリケーション ロードバランサを使用するため、Compute Engine VM は指標とログを push できます。Grafana は、リージョン GKE Gateway を使用して HTTPS 経由で外部に公開されます。
コンポーネント
| コンポーネント | テクノロジー | 目的 |
|---|---|---|
| テレメトリー コレクタ | OpenTelemetry Collector | OpenTelemetry Protocol(OTLP)HTTP/gRPC 指標を処理し、Prometheus エンドポイントをスクレイピングして Mimir に転送する中央テレメトリー パイプライン。 |
| 指標データベース | Grafana Mimir | Cloud Storage に永続ブロックがある、高可用性の長期 Prometheus 指標ストレージ データベース。 |
| ログデータベース | Grafana Loki | 水平方向にスケーラブルなマルチテナント ログ集約データベース。チャンクと TSDB インデックスを Cloud Storage に保持します。 |
| オブジェクト ストレージ | Cloud Storage | Mimir 指標、Loki ログ、共有モニタリング アーティファクト専用のバケットをプロビジョニングします。 |
| クラスタ状態指標 | kube-state-metrics
|
Kubernetes API サーバーをリッスンし、クラスタ オブジェクト(Deployment、ノード、Pod など)の状態に関する指標を生成します。ServiceMonitor を使用して OpenTelemetry Collector によってスクレイピングされます。 |
| PKI と証明書 | cert-manager と PKI 発行者
|
内部ルート CA と ClusterIssuer をブートストラップして、クラスタ内コンポーネントとスタンドアロン Compute Engine VM の TLS / mTLS 証明書を発行します。 |
| Google Kubernetes Engine ログコレクタ | Fluent Bit(DaemonSet) | GKE ノード全体でコンテナ stdout ログを収集し、Kubernetes メタデータで強化して、OTLP mTLS を使用して GKE OTel Collector に転送します。 |
| VM ログコレクタ | Fluent Bit と OpenTelemetry Contrib | systemd-journald を使用して、スタンドアロン Compute Engine VM で OS とアプリケーションの stdout ログを収集し、Cloud Logging にストリーミングします。 |
| 中央ロギング | Cloud Logging | Compute Engine VM とプラットフォーム ログの中央ロギング シンク。 |
| 可視化とアラート | Grafana | Mimir、Grafana Loki、Cloud Monitoring、Cloud Logging のデータソースで事前構成されたダッシュボード可視化レイヤ。 |
| push デモアプリ | Python(ビーコンアプリ) | 5 秒ごとに OpenTelemetry Collector に push される合成 OTLP 指標を出力するデモ マイクロサービス。 |
| pull デモアプリ | Python(センサーアプリ) | OpenTelemetry Collector によってスクレイピングされる標準の /metrics Prometheus エンドポイントを公開するデモ マイクロサービス。 |
| デモアプリ | Python | Compute Engine VM で実行され、stdout に構造化 JSON ログを生成するデモ アプリケーション。 |
| デプロイ | Terraform と Helm | Virtual Private Cloud、GKE クラスタ、Cloud Storage バケット、Identity and Access Management(IAM)ロール、Compute Engine VM、Helm チャートのデプロイを自動化します。 |
リファレンス実装
このソリューションのリファレンス実装(Terraform を使用)は、GitHub で提供されています。これはデモンストレーションを目的として構築された概念実証プロトタイプであり、本番環境での使用を想定した監査や保護は行われていません。
前提条件とデプロイ手順については、 Grafana と OpenTelemetry を使用したソブリン オブザーバビリティとモニタリングをご覧ください。