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

エージェントエクスペリエンスは、強力なAIエージェント、ダイナミックオーケストレーション、統合ツールを使用し、よりスマートでコンテキストを意識した意思決定と自動化を実現します。

エージェントワークフローの監視とデバッグをサポートするために、 外部ログを有効にして、監査ログとデバッグログの両方を保存し、アクセスすることができます。 Amazon S3 および CloudWatch.

開始前に

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

  • AWS アカウントを持っている必要があります。
  • お持ちでない方は無料でお試しください。

あなたは創造する必要がある:

  • Amazon S3 ログを保存するバケット。
  • CloudWatch ログを閲覧・分析するためのロググループ。
  • アクセスを管理するためのIAMロールとポリシー。

ログは Amazon S3 に保存され、オプションで CloudWatch Logs に表示される。 watsonx Orchestrate でロギングを有効にするには、これらの AWS リソースを設定し、 IBM サポートに登録する必要があります。

ステップ1: Amazon S3 バケツの作成

Amazon S3 バケットはデータを格納するコンテナである。 以下は、 Amazon S3 バケットを作成する手順である:

  1. アカウントに Amazon S3 バケットを作成する。 Amazon S3 バケット名はグローバルに一意でなければならない。 したがって、 "tenantxxx-bucket" のように、バケット名の最後にテナント ID を追加して、 S3 バケットに一意な名前を作成する必要があります。

  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 値をコピーする。

このバケットに外部ログを保存することができます。

ステップ3: 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:*"
    }
    ]
}

ステップ4:ロギング情報を登録する IBM

ログ転送を有効にするには、 サポートケースを開いてください IBM{: new_window}。 以下の情報をリクエストに含めてください:

  • watsonx Orchestrate シーアールエヌ

    CRNを検索するには

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

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

    • s3_bucket_name
    • s3_region
    • s3_role_arn
  • CloudWatch ロググループ情報

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

    • cw_loggroup_name
    • cw_region
    • cw_role_arn

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

ステップ5:ログへのアクセス

  • 監査ログ

    • Amazon S3 バケツの中

    • テナントIDにちなんだトップレベルのフォルダの下にJSON形式で保存されます

  • デバッグ・ログ

    • で利用可能 CloudWatch

    • トラブルシューティングのための監査ログと追加の実行コンテキストを含む

注: デバッグログは、 watsonx Orchestrate の内部システムログを表示することを意図していない。 これらの追加ログはデバッグを目的としているため、内容が変更される可能性があります。