の外部ロギングを有効にする AWS

エージェント型体験は、高度なAIエージェント、動的なオーケストレーション、統合ツールを活用し、よりスマートで状況認識型の意思決定と自動化を実現します。

エージェントワークフローの監視とデバッグを支援するため、外部ロギングを有効化できます。設定は ` Amazon S3 ` および ` CloudWatch ` で行います。 この設定により、 AWS 環境内で監査ログとデバッグログの両方を保存および参照できます。

概要

AWS リソースを使用して外部ログ記録を有効にするには、次の手順を完了してください:

開始前に

セットアップを開始する前に、必要な AWS リソースが用意されていることを確認し、準備すべきコンポーネントを理解してください。

ログとトレースにアクセスするには

  • AWS アカウントをお持ちでない場合は、 無料でお試しください
  • S3 バケット、 CloudWatch ロググループ、および IAM ロールを作成する権限。

以下のリソースを作成します:

  • ログを保存するための Amazon S3 バケット
  • CloudWatch ロググループ(ログの閲覧および分析用)
  • IBM ( watsonx Orchestrate )が AWS アカウントにログを書き込めるようにするIAMロールとポリシー
情報: ログは Amazon S3 に保存され、オプションで CloudWatch Logs で閲覧できます。 これらの AWS リソースを設定し、 IBM サポートに登録する必要があります。これにより、 watsonx Orchestrate でのログ記録が可能になります。

ステップ1: Amazon S3 バケットとIAMロールを作成する

この手順では、監査ログが配信される Amazon S3 ストレージの保存場所を設定します。

Amazon S3 バケットは外部ログデータを保存します。 以下は、 Amazon S3 バケットを作成する手順である:

  1. Amazon S3 バケットを作成します。 S3 のバケット名は、グローバルに一意である必要があります。 テナントIDを含めて一意性を確保してください。例: "tenantxxx-bucket"

  2. AWS アカウントにロールを作成し、信頼されるエンティティとして watsonx Orchestrate ServiceLine AWS のアカウント ID( 239621575091 )を指定する。 また、作成したバケットへの読み取りおよび書き込みアクセス "tenantxxx-bucket"権限に制限する新しいポリシーを作成します。 このロールアクセスを付与された者は、 "tenantxxx-bucket" バケツに対する完全な読み書きができます。

    i.ロールを作成する前に、ロールの要件に対するアクセス許可を定義するマネージドポリシーを準備し、準備したマネージドポリシーを後のステップでロールにアタッチします。

    ii. AWS Identity and Access Management (IAM)コンソールに移動し、 「Policies(ポリシー )」 > 「 Create policy(ポリシーの作成) 」をクリックする。 JSON タブをクリックし、JSON ポリシー文書から完全なテキストをコピーします。 コピーした JSON ポリシー文書を JSON テキストエディタで編集し、リソース ARN (arn:aws:s3:::tenantxxx-bucket) を Amazon S3 バケットのものに置き換えて更新します。 以下は、JSON ポリシー文書のサンプルです:

    {
        "Version": "2012-10-17",
        "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
            "s3:ListBucket",
            "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::tenantxxx-bucket"
        },
        {
            "Effect": "Allow",
            "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::tenantxxx-bucket/*"
        }
        ]
    }
    

    ii. Review and create(レビューと作成) 」ページで、ポリシー名を入力します(例: read-write-app-bucket )。

    iv.ポリシーによって許可される権限を確認し、[ ポリシーの作成 ] をクリックして保存します。 新しいポリシーは、管理されているポリシーのリストに表示されなければならない。

    v.ロールを作成するには、ナビゲーション・ペインで 「Roles(ロール) 」>「 Create role(ロールの作成) 」をクリックします。

    vi. An AWS account role typeをクリックし、 AWS accountを設定する:

    • Another AWS account 」を選択し、「 Account ID 」に watsonx Orchestrate ServiceLine AWS のアカウントID( 239621575091 )を指定する。

    vii. ロールに関連付けられた権限を設定し、 「次へ: 権限」 をクリックします。

    viii.前のステップで作成したポリシーの横にあるチェックボックスをクリックします。

    ix.(オプション) キーと値のペアとしてタグを添付して、ユーザーにメタデータを追加します。

    x.(オプション)[ Description]の下に、新しいロールの説明を入力できます。

    xi.ロールを確認したら、 Create roleをクリックします。

  3. ロールを作成したら、ロールのAmazon Resource Name(ARN)を取得します。 ARNはロールの一意識別子である。 ARNを取得する:

    i.IAMコンソールのナビゲーションペインに移動し、 「ロール」をクリックする。

    ii.ロールのリストで、前のステップで作成したロールを選択します。

    iii. サマリーから役割 ARN 値をコピーする。

この S3 バケットは、監査ログを保存します。

ステップ2: CloudWatch ロググループとIAMロールを作成する

次に、デバッグログの保存に必要な CloudWatch ロググループと権限を作成します。

  1. CloudWatch > Log groups に進み、新しいグループを作成する。例えば、 tenantxxx-lg
  2. S3、同様の手順を踏む:
    • CloudWatch ロググループアクセス用の IAM ポリシーを作成する
    • ロググループ ARN (形式: arn:aws:logs:<account_id>:log-group:tenantxxx-lg:*) の logs:* アクションに権限を割り当てる
    • 同じ AWS アカウントIDを使用して、 watsonx Orchestrate の新しいロールを作成する: 239621575091
  3. 登録用のロールARNをコピーする。

CloudWatch ポリシーの例:

{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
        "logs:ListTagsLogGroup",
        "logs:GetDataProtectionPolicy",
        "logs:DeleteDataProtectionPolicy",
        "logs:DescribeLogStreams",
        "logs:StartQuery",
        "logs:CreateLogStream",
        "logs:TagLogGroup",
        "logs:GetLogEvents",
        "logs:AssociateKmsKey",
        "logs:FilterLogEvents",
        "logs:PutDestination",
        "logs:DisassociateKmsKey",
        "logs:PutDataProtectionPolicy",
        "logs:UntagLogGroup",
        "logs:DescribeLogGroups",
        "logs:PutDestinationPolicy",
        "logs:TagResource",
        "logs:PutLogEvents",
        "logs:CreateLogGroup",
        "logs:PutRetentionPolicy",
        "logs:GetLogGroupFields"
        ],
        "Resource": "arn:aws:logs::<AWS_Account_ID>:log-group:tenantxxx-lg:*"
    }
    ]
}

ステップ3: AWS の設定を IBM サポートに提出してください

AWS リソースの準備が完了したら、ログ記録を有効化するため、設定詳細を IBM サポートに提供する必要があります。

ログ転送を有効にするには、 IBM にサポートケース を開き、以下を含めてください:

IBM サポートが統合を完了すると、確認のメールが届きます。

watsonx Orchestrate シーアールエヌ

CRNを検索するには

  • watsonx Orchestrate にサインインする。
  • プロフィール > 自己紹介をご覧ください。
  • アバウトページのスクリーンショットを撮り、サポートケースに添付してください。

Amazon S3 バケット情報

以下の詳細情報を入力します。

必要な情報 説明 どこで見つけるか
s3_bucket_name ログ転送に使用される S3 バケットの名前 AWS コンソール > S3 > バケットリスト
s3_region バケットがホストされている地域 AWS コンソール > S3 > バケットを選択 > リージョン
s3_role_arn バケットへの IBM アクセスを許可するために使用されるIAMロールARN AWS コンソール > IAM > ロール > 「 S3 」ロールを選択 > ロールARN

CloudWatch ロググループ情報

以下の詳細情報を入力します。

必要な情報 説明 どこで見つけるか
cw_loggroup_name CloudWatch ロググループ名 AWS コンソール > CloudWatch > ロググループ
cw_region CloudWatch が使用する地域 AWS コンソール > CloudWatch > 地域選択ツール(右上)
cw_role_arn IAMロールARN(識別子)を使用して、 IBM に CloudWatch ログへのアクセス権を付与する AWS コンソール > IAM > ロール > 「 CloudWatch 」ロールを選択 > ロールARN

ステップ4: AWS でログにアクセスする

ログ記録を有効にすると、 AWS 環境で監査ログとデバッグログに直接アクセスできます。

  1. 監査ログは、 Amazon S3 バケットに保存されます。

    • それらはJSON形式で保存されます。
    • すべての監査ログファイルは、テナントIDを名前にした最上位フォルダーの下に整理されます。
  2. デバッグログは CloudWatch で確認できます。

    • これらは監査ログエントリと追加のコンテキストの両方を含みます。
    • ログはトラブルシューティングに役立つ詳細な情報を提供します。
注: デバッグログは、 watsonx Orchestrate の内部システムログを表示することを意図していない。 これらの追加ログはデバッグを目的としているため、内容が変更される可能性があります。

ステップ5:次に何が起こるか

サポートリクエストを送信後、 IBM サポートがお客様の情報を確認し、適切なエンジニアリングチームと連携して、外部ロギングを有効化するために必要なバックエンド設定を完了します。 設定が完了次第、確認通知が届きます。