テナントとターゲット先の作成
IBM Cloud®のリージョンでIBM Cloudサービスが生成するプラットフォームログを管理するには、運用するリージョンごとにテナントを作成する必要があります。
テナントは、リージョン内で実行されているIBM Cloud Logs Routingのアカウント固有の構成です。 テナント構成には、最大1つのターゲット定義が含まれます。 ターゲットはログのルーティング先を定義する。
作成要求では、リージョンにテナントを作成するときに、ターゲットとなるデスティネーションを作成する必要があります。
開始前に
以下のステップを実行します。
-
コンセプトを理解するために IBM® Cloud Logs Routingについて を復習してください。
-
始める で説明されているように、すべての前提条件となるツールをインストールします。
-
アカウント内のターゲットを管理する権限を設定する。 詳細については、テナントを管理するためのIAM権限の設定 を参照してください。
-
APIを使用してテナントの詳細を取得するには、管理APIを使用してIBM Cloud Logs Routingに接続できることを確認します。 詳しくは、IBM® Cloud Logs Routing への接続を参照してください。
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テナントが 作成され(オンボード)、ターゲットが設定されます。
リージョンのテナントとターゲットを作成するには、以下の手順を実行します:
-
「メニュー」 アイコン
>「可観測性」 をクリックする。
-
ロギング > ルーティングをクリックします。
-
目標設定をクリックします。
-
IBM Cloud Logs インスタンスを選択します。 これは、 IBM Cloud Logs Routing によってルーティングされたログを受信したいインスタンスです。
リストから IBM Cloud Logs インスタンスを選択できます。 その前に、IBM Cloud Logs RoutingサービスとIBM Cloud Logsインスタンスの間で、サービス間の認証が定義されていることを確認してください。 詳細は S2S権限を作成し、IBM Cloud Logsにログを送信するアクセスを許可する を参照。
-
保存 をクリックします。
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-DDTARGET_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キーを発行したアカウントのテナントが作成される。