テナントとターゲット先の作成

IBM Cloud®のリージョンでIBM Cloudサービスが生成するプラットフォームログを管理するには、運用するリージョンごとにテナントを作成する必要があります。

テナントは、リージョン内で実行されているIBM Cloud Logs Routingのアカウント固有の構成です。 テナント構成には、最大1つのターゲット定義が含まれます。 ターゲットはログのルーティング先を定義する。

作成要求では、リージョンにテナントを作成するときに、ターゲットとなるデスティネーションを作成する必要があります。

開始前に

以下のステップを実行します。

IAMベアラートークンの取得

IBM Cloud® Identity and Access Management (IAM) アクセストークンを取得して、IBM® Cloud Logs Routing サービスへのリクエストを認証する必要があります。 詳細については、アクセス・トークンのリトリーブを参照してください。

例えば、以下のCLIコマンドを実行することで、IAMベアラートークンを取得し、環境変数としてエクスポートすることができます:

export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`

管理エンドポイントの選択

テナントは、リージョン内で実行されているIBM Cloud Logs Routingのアカウント固有の構成です。

リージョン内のテナントの詳細を取得するには、テナントが構成されているリージョンの管理エンドポイント URL を使用する必要があります。

プライベートまたはパブリックのエンドポイントを使うことができる。

詳細については、管理エンドポイントURL を参照してください。

UIによるテナントとターゲットの作成

IBM Cloud Logs Routingコンソールが最初に表示されると、既存のターゲット情報が表示されます。

リージョンにターゲットが設定されていない場合、リージョンは Set target オプションを表示する。 ターゲットが初めて設定されると、IBM Cloud Logs Routingテナントが 作成され(オンボード)、ターゲットが設定されます。

リージョンのテナントとターゲットを作成するには、以下の手順を実行します:

  1. IBM Cloudアカウントにログインする.

  2. 「メニュー」 アイコン「メニュー」 アイコン>「可観測性」 をクリックする。

  3. ロギング > ルーティングをクリックします。

  4. 目標設定をクリックします。

  5. IBM Cloud Logs インスタンスを選択します。 これは、 IBM Cloud Logs Routing によってルーティングされたログを受信したいインスタンスです。

    リストから IBM Cloud Logs インスタンスを選択できます。 その前に、IBM Cloud Logs RoutingサービスとIBM Cloud Logsインスタンスの間で、サービス間の認証が定義されていることを確認してください。 詳細は S2S権限を作成し、IBM Cloud Logsにログを送信するアクセスを許可する を参照。

  6. 保存 をクリックします。

UIでターゲットを設定すると、その地域にテナントが作成される。 テナントの名前は region-ID とし、地域はターゲット作成時にあなたがいる地域に設定します。

APIを使用したテナントとターゲットの作成

IBM Cloud Logs Routingサービスのテナントを作成するには、プライベート・エンドポイントを使用して、次のコマンドを実行します:

curl -X POST  https://management.private.${REGION}.logs-router.cloud.ibm.com/v1/tenants \
-H "Content-Type: application/json" \
-H "Authorization: ${IAM_TOKEN}" \
-H "IBM-API-Version: API_VERSION_DATE" \
--data '{TARGET_DATA}'

IBM Cloud Logs Routingサービスのテナントを作成するには、パブリック・エンドポイントを使用して、次のコマンドを実行します:

curl -X POST  https://management.${REGION}.logs-router.cloud.ibm.com/v1/tenants \
--H "Content-Type: application/json" \
-H "Authorization: ${IAM_TOKEN}" \
-H "IBM-API-Version: API_VERSION_DATE" \
--data '{TARGET_DATA}'

説明

  • REGION は、テナントが設定される場所を定義します。
  • IAM_TOKEN はリクエストの認証に使うクレデンシャルを定義します。
  • API_VERSION_DATE は、テナント定義のクエリに使用するAPIバージョンの日付を定義します。 書式は次のようにしなければならない:YYYY-MM-DD
  • TARGET_DATA はターゲット先の情報を定義します。

IBM Cloud Logs 送信先

IBM Cloud Logs宛先を定義するターゲットの場合、TARGET_DATA の書式は以下のようになります:

{
    "name": "TENANT_NAME",
    "targets": [
        {
            "log_sink_crn": "CLOUD_LOGS_INSTANCE_CRN",
            "name": "TARGET_NAME",
            "parameters": {
                "host": "CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT",
                "port": CLOUD_LOGS_INSTANCE_TARGET_PORT
            }
        }
    ]
}

説明

  • TENANT_NAME:テナント名 この名前は、このアカウントのテナント間で一意でなければならず、35文字まで使用できます。 値にはこれらの文字しか入れられません:a-z,0-9,-./
  • TARGET_NAME:ターゲット先の名前。 この名前は、リージョン内の全ターゲットで一意でなければならず、長さは35文字まで。 値にはこれらの文字しか入れられません:a-z,0-9,-./
  • CLOUD_LOGS_INSTANCE_CRN はIBM Cloud LogsインスタンスのCRNです。
  • CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT は、ログの送信先として完全修飾されたイングレスエンドポイントです。
  • CLOUD_LOGS_INSTANCE_TARGET_PORT は使用するポートを定義します。 例えば、443 です。

Terraformを使ったテナントとターゲットの作成

IBM Cloud Logs 送信先

logs タイプのターゲットでテナントを作るには、次のようにします:

provider "ibm" {
  ibmcloud_api_key = "IBMCLOUD_API_KEY"
  region = "some-region"
}

resource "ibm_logs_router_tenant" "logs_router_tenant_instance_1" {
	name = "TENANT_NAME"
  region = "TENANT_REGION"
	targets {
	  log_sink_crn = "CLOUD_LOGS_INSTANCE_CRN"
	  name = "TARGET_NAME"
	  parameters {
		host = "CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT"
		port = CLOUD_LOGS_INSTANCE_TARGET_PORT
	  }
	}
  }

説明

  • TENANT_NAME:テナント名 この名前は、このアカウントのテナント間で一意でなければならず、35文字まで使用できます。 値にはこれらの文字しか入れられません:a-z,0-9,-./
  • TENANT_REGION :テナントを作成するリージョン この値は、地域を表す2文字のコードの後にダッシュを続け、ゾーンを表す3文字のコード(例えば「us-south)を続けた形式でなければならない。地域の一覧は、Locations を参照のこと。
  • TARGET_NAME:ターゲット先の名前。 この名前は、リージョン内の全ターゲットで一意でなければならず、長さは35文字まで。 値にはこれらの文字しか入れられません:a-z,0-9,-./
  • CLOUD_LOGS_INSTANCE_CRN:IBM Cloud LogsインスタンスのCRN。
  • CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT: ログの送信先の完全修飾されたイングレス・エンドポイント。
  • CLOUD_LOGS_INSTANCE_TARGET_PORT: 使用するポートを定義する。 例えば、443 です。
  • IBMCLOUD_API_KEY: テナントを作成するためのIAMトークンを取得するために使用します。 このAPIキーを発行したアカウントのテナントが作成される。