---
title: "Apache APISIX 与 Google Cloud Logging 集成以提升日志处理能力 - API7.ai"
description: "ロギングは分散システムにとって重要なインフラストラクチャです。開発者が..."
url: "https://api7.ai/ja/blog/apache-apisix-google-cloud"
---

[Blog](https://api7.ai/ja/blog)

[Products](https://api7.ai/ja/category/products)[Technology](https://api7.ai/ja/category/technology)[Ecosystem](https://api7.ai/ja/category/ecosystem)[Case Study](https://api7.ai/ja/category/usercase)[Team & Community](https://api7.ai/ja/category/community)

Search

⌘ + K

[Blog](https://api7.ai/blog)

Ecosystem

# Apache APISIX 与 Google Cloud Logging 集成以提升日志处理能力

API7.ai

December 22, 2021

[Ecosystem](https://api7.ai/category/ecosystem)

![Apache APISIX-Google Cloud Logging カバー](https://static.api7.ai/2022/10/03/633a42498b1bc.png?imageMogr2/format/webp)

ロギングは分散システムにとって重要なインフラストラクチャです。これにより、開発者はサービスの動作状況を観察し、サービスのトラブルシューティングと診断の効率を向上させ、多次元分析を行ってシステム全体の安定性と運用効率を向上させることができます。

[Google Cloud Logging](https://cloud.google.com/logging/) は、Google Cloudが提供するリアルタイムのログ管理サービスで、EBレベルのストレージ、検索、分析、アラートサービスを提供します。Google Cloud Loggingのログブラウザを使用すると、ログを簡単かつ効率的に検索、ソート、分析できます。また、Google Cloud Loggingは保存されたクエリと豊富なグラフィカル機能を提供し、ログのスクリーニング結果を検索可能でより直感的にします。

Apache APISIXは以前から、[HTTP Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/http-logger.md)、[TCP Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/tcp-logger.md)、[Kafka Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/kafka-logger.md)、[UDP Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/udp-logger.md)、[RocketMQ Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/rocketmq-logger.md)、[SkyWalking Logger](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/skywalking-logger.md)、[Aliyun Cloud Logging(SLS)](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/sls-logger.md) など、多くのオープンソースおよびクラウドロギングサービスソリューションをサポートしています。

最近、Apache APISIXはGoogle Cloud Loggingのサポートも追加し、Apache APISIXをゲートウェイとして使用する際に新しいロギングソリューションを提供します：[google-cloud-logging](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/google-cloud-logging.md) を使用して、Apache APISIXのリクエストログをGoogle Cloud Loggingサービスに転送し、分析と保存を行います。

プラグインが有効になると、Apache APISIXはLog Phaseでリクエストコンテキスト情報を取得し、Google Cloud Loggingの[LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)にシリアライズします。その後、シリアライズされたログデータをバッチキューに送信し、ユーザーが設定した時間またはエントリの閾値がトリガーされると、ログデータがGoogle Cloud APIを介してGoogle Cloud Loggingサービスに転送されます。

この記事では、Apache APISIXでGoogle Cloud Loggingサービスを設定して使用する方法について説明します。

## Google Cloudの設定

1. ブラウザを開き、Google Cloudホームページにアクセスします。
2. ユーザー名とパスワードを入力してGoogle Cloudコンソールにログインします。
3. Google Cloudコンソールの左メニューをクリックし、「IAM & Admin > プロジェクトの作成」を選択してプロジェクトの作成を開始します。 ![プロジェクトの作成](https://static.api7.ai/2022/10/03/633a3edf07257.jpg?imageMogr2/format/webp)
4. プロジェクト名を入力し、組織名を選択して「CREATE」をクリックしてプロジェクトを作成します。 ![プロジェクトの作成-2](https://static.api7.ai/2022/10/03/633a42489fca6.png?imageMogr2/format/webp)
5. プロジェクトが正常に作成されると、コンソールの右上に作成成功の通知が表示されます。 ![プロジェクト通知](https://static.api7.ai/2022/10/03/633a424907a8c.png?imageMogr2/format/webp)
6. ウィンドウ内でプロジェクトを選択するか、コンソールホームページの上部ナビゲーションバーでプロジェクト操作パスを選択します。プロジェクトを選択すると、コンソールホームページにリダイレクトされ、上部ナビゲーションバーに現在のプロジェクトに関するデータと情報センターにプロジェクト情報が表示されます。 ![プロジェクトを表示](https://static.api7.ai/2022/10/03/633a4249971e4.png?imageMogr2/format/webp)
7. プロジェクトの作成が完了したら、プロジェクトのサービスアカウントを作成する必要があります。Google Cloudコンソールホームページに戻り、左メニューの「IAM & Admin > サービスアカウント」をクリックしてサービスアカウントの作成を開始します。 ![サービスアカウントの作成を開始](https://static.api7.ai/2022/10/03/633a424886255.png?imageMogr2/format/webp)
8. 「CREATE SERVICE ACCOUNT」をクリックしてサービスアカウントを作成します。 ![サービスアカウントの作成](https://static.api7.ai/2022/10/03/633a4248c67b1.png?imageMogr2/format/webp)
9. サービスアカウント名とIDを入力し（IDは通常アカウント生成に従います）、「CREATE AND CONTINUE」をクリックします。 ![サービスアカウントの作成-2](https://static.api7.ai/2022/10/03/633a42490540d.png?imageMogr2/format/webp)
10. 「Role」をクリックし、検索ボックスに「Logging Admin」と入力してこのロールを検索し、「Logging Admin」をロールとして選択します。 ![サービスアカウントの作成-3](https://static.api7.ai/2022/10/03/633a4248cfece.png?imageMogr2/format/webp)
11. 「DONE」をクリックしてサービスアカウントの作成を完了し、サービスアカウントホームページにジャンプします。この時点で、リストに作成したアカウントとその詳細が表示されます。 ![サービスアカウント情報](https://static.api7.ai/2022/10/03/633a4247917f0.png?imageMogr2/format/webp)
12. サービスアカウントの最後の列にある「Manage keys」をクリックして、秘密鍵管理インターフェースに入ります。 ![秘密鍵管理インターフェースに入る](https://static.api7.ai/2022/10/03/633a3edf07257.jpg?imageMogr2/format/webp)
13. 「ADD KEY > Create new key」をクリックして新しい秘密鍵の作成を開始します。 ![新しい秘密鍵の作成](https://static.api7.ai/2022/10/03/633a42490dd41.png?imageMogr2/format/webp)
14. ポップアップページで秘密鍵のタイプを「JSON」として選択し、「CREATE」をクリックして新しい秘密鍵を作成します。 ![新しい秘密鍵の作成-2](https://static.api7.ai/2022/10/03/633a4248d4d4b.png?imageMogr2/format/webp)
15. 秘密鍵情報はブラウザを通じてシステムのデフォルトのダウンロードディレクトリに自動的にダウンロードされます。google-cloud-loggingプラグインを有効にする際には、この秘密鍵の情報を使用する必要があるため、秘密鍵ファイルを保存してください。 ![鍵をダウンロード](https://static.api7.ai/2022/10/03/633a4247a7c76.png?imageMogr2/format/webp)

## Apache APISIXの設定

### google-cloud-loggingプラグインの有効化

#### オプション1: 鍵ファイルをアップロードして設定

1. 秘密鍵ファイルをApache APISIXノードサーバーにアップロードします。
2. ファイルパスを`google-cloud-logging.auth_file`に設定します。以下に示すように：

```
curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri":"/logging.do",
    "upstream":{
        "type":"roundrobin",
        "nodes":{
            "127.0.0.1:1980":1
        }
    },
    "plugins":{
        "google-cloud-logging":{
            // Google Cloud Logging秘密鍵ファイル
            "auth_file":"/path/to/apache-apisix-fcafc68c2f41.json",
            // バッチキューごとの最大エントリ数
            "batch_max_size": 1,
            // バッファをリフレッシュする最大時間（秒）
            "inactive_timeout": 10
        }
    }
}'
```

#### オプション2: JSONで設定を宣言

1. 秘密鍵ファイルを開きます。
2. `project_id`の値を`google-cloud-logging.auth_config.project_id`に設定します。
3. `private_key`の値を`google-cloud-logging.auth_config.private_key`に設定します。以下に示すように：

```
curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri":"/logging.do",
    "upstream":{
        "type":"roundrobin",
        "nodes":{
            "127.0.0.1:1980":1
        }
    },
    "plugins":{
        "google-cloud-logging":{
            // Google Cloud Logging秘密鍵ファイル
            "auth_config":{
                "project_id":"apache-apisix",
                "private_key":"-----BEGIN RSA PRIVATE KEY-----your private key-----END RSA PRIVATE KEY-----"
            },
            // バッチキューごとの最大エントリ数
            "batch_max_size": 1,
            // バッファをリフレッシュする最大時間（秒）
            "inactive_timeout": 10
        }
    }
}'
```

#### パラメータ

| 名前                        | 必須  | デフォルト値                                                                                                                                                                                                                                                                                                                                                                                                          | 説明                                                                                                                             |
| ------------------------- | --- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| auth\_config              | いいえ | n/a                                                                                                                                                                                                                                                                                                                                                                                                             | Google Cloud Logging秘密鍵ファイル。auth\_configまたはauth\_fileのいずれかを設定する必要があります。                                                        |
| auth\_config.private\_key | はい  | n/a                                                                                                                                                                                                                                                                                                                                                                                                             | Google Cloud Logging秘密鍵。                                                                                                       |
| auth\_config.project\_id  | はい  | n/a                                                                                                                                                                                                                                                                                                                                                                                                             | GoogleサービスアカウントのプロジェクトID。                                                                                                      |
| auth\_config.token\_uri   | いいえ | oauth2.googleapis.com/token                                                                                                                                                                                                                                                                                                                                                                                     | GoogleサービスアカウントのトークンをリクエストするURI。                                                                                               |
| auth\_config.entries\_uri | いいえ | logging.googleapis.com/v2/entries                                                                                                                                                                                                                                                                                                                                                                               | Googleログサービスのログエントリ書き込みAPI。                                                                                                    |
| auth\_config.scopes       | いいえ | \["[https://www.googleapis.com/auth/logging.read","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/logging.admin","https://www.googleapis.com/auth/cloud-platform](https://www.googleapis.com/auth/logging.read%22,%22https://www.googleapis.com/auth/logging.write%22,%22https://www.googleapis.com/auth/logging.admin%22,%22https://www.googleapis.com/auth/cloud-platform)"] | Googleサービスアカウントのアクセススコープ、参照：[Google APIのOAuth 2.0スコープ](https://developers.google.com/identity/protocols/oauth2/scopes#logging) |
| auth\_file                | いいえ | n/a                                                                                                                                                                                                                                                                                                                                                                                                             | GoogleサービスアカウントのJSONファイルのパス（auth\_configまたはauth\_fileのいずれかを設定する必要があります）                                                        |
| ssl\_verify               | いいえ | TRUE                                                                                                                                                                                                                                                                                                                                                                                                            | SSL認証を有効にします。[OpenRestyドキュメント](https://github.com/openresty/lua-nginx-module#tcpsocksslhandshake)のオプションに従って設定します。              |
| resource                  | いいえ | {"type": "global"}                                                                                                                                                                                                                                                                                                                                                                                              | Google監視リソース、参照：[MonitoredResource](https://cloud.google.com/logging/docs/reference/v2/rest/v2/MonitoredResource)。             |
| log\_id                   | いいえ | apisix.apache.org%2Flogs                                                                                                                                                                                                                                                                                                                                                                                        | GoogleログID、参照：[LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)。                                 |
| max\_retry\_count         | いいえ | 0                                                                                                                                                                                                                                                                                                                                                                                                               | 処理パイプラインから削除される前の最大リトライ回数。                                                                                                     |
| retry\_delay              | いいえ | 1                                                                                                                                                                                                                                                                                                                                                                                                               | 実行が失敗した場合に処理を遅延させる秒数。                                                                                                          |
| buffer\_duration          | いいえ | 60                                                                                                                                                                                                                                                                                                                                                                                                              | バッチ内の最も古いエントリの最大期間（秒）。                                                                                                         |
| inactive\_timeout         | いいえ | 10                                                                                                                                                                                                                                                                                                                                                                                                              | バッファをリフレッシュする最大時間（秒）。                                                                                                          |
| batch\_max\_size          | いいえ | 100                                                                                                                                                                                                                                                                                                                                                                                                             | バッチキューごとの最大エントリ数。                                                                                                              |

### プラグインが正常に動作していることを確認

1. 以下のコマンドを実行して、Google Cloud Loggingにリクエストを送信します。

   ```
   curl -i http://127.0.0.1:9080/logging.do
   HTTP/1.1 200 OK
   Content-Type: text/html; charset=utf-8
   Transfer-Encoding: chunked
   Connection: keep-alive
   Date: Fri, 10 Dec 2021 09:57:52 GMT
   Server: APISIX/2.11.0

   Hello, Google Cloud Logging
   ```

2. ブラウザを開き、Google Cloudホームページにアクセスします。

3. ユーザー名とパスワードを入力してGoogle Cloudコンソールにログインします。

4. ログブラウザで送信されたリクエストのログを表示し、返された結果は以下のようになります。 ![ログを表示](https://static.api7.ai/2022/10/03/633a3edf07257.jpg?imageMogr2/format/webp)

### google-cloud-loggingプラグインの無効化

使用が完了したら、google-cloud-logging関連の設定ブロックを削除してプラグインを無効にすることができます。

```
curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri":"/logging.do",
    "upstream":{
        "type":"roundrobin",
        "nodes":{
            "127.0.0.1:1980":1
        }
    },
    "plugins":{
    }
}'
```

## まとめ

この記事では、Apache APISIXとGoogle Cloud Loggingを連携するための詳細な手順を説明しました。この記事が、Apache APISIXでGoogle Cloud Loggingを使用する際の理解を深め、その後の実践操作を容易にすることを願っています。

Apache APISIXは、自身の高性能を維持することに加えて、オープンソースエコシステムの構築にも常に大きな重要性を置いています。現在、Apache APISIXは10以上のロギング関連プラグインをサポートし、業界の主要なオープンソースロギングプロジェクトとの連携をサポートしています。

他のログとの連携が必要な場合は、Apache APISIXの[GitHub](https://github.com/apache/apisix/issues)にアクセスして、issueを通じて提案を残してください。または、Apache APISIXの[メーリングリスト](https://apisix.apache.org/docs/general/subscribe-guide/)に登録して、メールで意見を表明してください。

## 関連記事

[Apache APISIXがSkyWalkingと統合し、フルレンジのログ処理を実現](https://apisix.apache.org/blog/2021/12/07/apisix-integrate-skywalking-plugin/)

[Apache APISIX & RocketMQがユーザーAPIログ監視機能をサポート](https://apisix.apache.org/blog/2021/12/08/apisix-integrate-rocketmq-logger-plugin/)

Tags:

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Ecosystem](https://api7.ai/tags/ecosystem)

[Google Cloud](https://api7.ai/tags/google-cloud)

Share article link

Share

Related Posts

[![APIを保護するための深掘り：WAFとAPI Gatewayの統合](https://static.api7.ai/uploads/2024/01/29/xV7L0ef7_APISIX_WAF_Cover.jpeg)](https://api7.ai/blog/waf-and-api-gateway-integration)

## [APIを保護するための深掘り：WAFとAPI Gatewayの統合](https://api7.ai/blog/waf-and-api-gateway-integration)

[![mTLS Everywhere: APISIX の TLS 設定方法](https://static.api7.ai/uploads/2024/12/24/DVhnbLpy_apisix-mtls.png)](https://api7.ai/blog/configure-tls-for-apisix)

## [mTLS Everywhere: APISIX の TLS 設定方法](https://api7.ai/blog/configure-tls-for-apisix)

Table of Contents

- [Google Cloudの設定](#google-cloud%E3%81%AE%E8%A8%AD%E5%AE%9A)

- [Apache APISIXの設定](#apache-apisix%E3%81%AE%E8%A8%AD%E5%AE%9A)

  - [google-cloud-loggingプラグインの有効化](#google-cloud-logging%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9C%89%E5%8A%B9%E5%8C%96)
  - [プラグインが正常に動作していることを確認](#%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8C%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D)
  - [google-cloud-loggingプラグインの無効化](#google-cloud-logging%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E7%84%A1%E5%8A%B9%E5%8C%96)

- [まとめ](#%E3%81%BE%E3%81%A8%E3%82%81)

- [関連記事](#%E9%96%A2%E9%80%A3%E8%A8%98%E4%BA%8B)

## Related Posts

[![Apache APISIX 与 Open Policy Agent 集成以丰富其生态系统](https://static.api7.ai/2022/10/03/633a42410370c.webp)](https://api7.ai/ja/blog/apache-apisix-opa-integration)

Ecosystem

December 24, 2021

#### [Apache APISIX 与 Open Policy Agent 集成以丰富其生态系统](https://api7.ai/ja/blog/apache-apisix-opa-integration)

Open Policy Agent (OPA) は、オープンソースの軽量な汎用ポリシーエンジンです...

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Ecosystem](https://api7.ai/tags/ecosystem)

[Open Policy Agent](https://api7.ai/tags/open-policy-agent)

[![xRPCがリリースされます、APISIXエコシステムの詳細を確認しましょう](https://static.api7.ai/2022/11/18/6377370f7d49c.png)](https://api7.ai/ja/blog/apisix-xrpc-details-and-miltilingual)

Ecosystem

January 21, 2021

#### [xRPCがリリースされます、APISIXエコシステムの詳細を確認しましょう](https://api7.ai/ja/blog/apisix-xrpc-details-and-miltilingual)

ビジネスシナリオや要件がますます複雑化・多様化するにつれ、多くの企業が...

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Ecosystem](https://api7.ai/tags/ecosystem)

[xRPC](https://api7.ai/tags/xrpc)

[![カスタマイズされたソリューションの解放：Apache APISIXとNode-Redの調和を活用する](https://static.api7.ai/uploads/2024/03/06/uppjizMq_APISIX-node-red-cover.png)](https://api7.ai/ja/blog/apache-apisix-and-node-red)

Ecosystem

March 6, 2024

#### [カスタマイズされたソリューションの解放：Apache APISIXとNode-Redの調和を活用する](https://api7.ai/ja/blog/apache-apisix-and-node-red)

APISIXとNode-Redを組み合わせることで、複雑なコードやプラグインを書き直すことなく、視覚的に完全なリクエスト処理プロセスを実装することができます。

[Node-Red](https://api7.ai/tags/node-red)

[APISIX Basics](https://api7.ai/tags/apisix-basics)
