AWSSupport-CollectAmazonConnectContactFlowLog - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-CollectAmazonConnectContactFlowLog

説明

AWSSupport-CollectAmazonConnectContactFlowLog オートメーションランブックは、特定の問い合わせ ID の Amazon Connect 問い合わせフローログを収集するために使用します。Amazon Connect インスタンス ID と問い合わせ ID を指定することで、ランブックは Amazon ロググループから問い合わせフロー CloudWatch ログを検索し、リクエストパラメータで指定された Amazon Simple Storage Service (Amazon S3) バケットにアップロードします。ランブックは、ログをダウンロードするための Amazon S3 コンソールURLと AWS CLIコマンドを提供する出力を生成します。

動作の仕組み

AWSSupport-CollectAmazonConnectContactFlowLog 自動化ランブックは、設定された CloudWatchロググループに保存されている特定の問い合わせ ID の Amazon Connect 問い合わせフローログを収集し、指定された Amazon S3 バケットにアップロードするのに役立ちます。Amazon Connect の問い合わせフローから収集されたログのセキュリティをサポートするために、オートメーションは Amazon S3 バケット設定を評価して、バケットがパブリックアクセス許可readまたはwriteアクセス許可を付与し、 S3BucketOwnerAccountIdパラメータで指定された AWS アカウントによって所有されているかどうかを判断します。Amazon S3 バケットが AWS Key Management Service キー (SSE-KMS) によるサーバー側の暗号化を使用している場合は、このオートメーションを実行しているユーザーまたは AWS Identity and Access Management (IAM) ロールに AWS KMS キーに対するkms:GenerateDataKeyアクセス許可があることを確認してください。Amazon Connect インスタンスによって生成されるログの詳細については、「Amazon ロググループ に保存されているフロー CloudWatch ログ」を参照してください。

重要

CloudWatch Logs Insights クエリには、クエリされるデータの量に基づいて料金が発生します。無料利用枠のお客様は、サービスクォータを超える使用に対してのみ料金が発生します。詳細については、「Amazon CloudWatch の料金」を参照してください。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

パラメータ

必要なIAMアクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

{ "Statement": [ { "Action": [ "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl", "s3:GetObject", "s3:GetObjectAttributes", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket" ], "Effect": "Allow" }, { "Action": [ "connect:DescribeInstance", "connect:DescribeContact", "ds:DescribeDirectories" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "logs:StartQuery", "logs:GetQueryResults" "Resource": "*", "Effect": "Allow" } ] }

Instructions

次の手順に従って自動化を設定します。

  1. Systems Manager AWSSupport-CollectAmazonConnectContactFlowLogの「ドキュメント」で に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • AutomationAssumeRole (オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする () ロールARNの Amazon リソースネーム AWS Identity and Access Management (IAM)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。

    • ConnectInstanceId (必須):

      Amazon Connect インスタンスの ID。

    • ContactId (必須):

      問い合わせフローログを収集する問い合わせの ID。

    • S3BucketName (必須):

      問い合わせフローログをアップロードするアカウントの Amazon S3 バケット名。バケットポリシーが、収集されたログへのアクセスを必要としないユーザーに不要な読み取り/書き込みアクセス許可を付与していないことを確認してください。

    • S3ObjectPrefix (オプション):

      アップロードされた問い合わせフローログの Amazon S3 バケット内の Amazon S3 オブジェクトパス。例えば、 を指定するとCollectedLogs、ログは としてアップロードされますs3://your-s3-bucket/CollectedLogs/ContactFlowLog_[ContactId][AWSAccountId].gz。このパラメータを指定しない場合、Systems Manager Automation の実行 ID が使用されます。例: s3://your-s3-bucket/[automation:EXECUTION_ID]/ContactFlowLog[ContactId]_[AWSAccountId].gz。注: の値を指定S3ObjectPrefixし、同じ [ContactId] を使用してこのオートメーションを実行すると、問い合わせフローログが上書きされます。

    • S3BucketOwnerAccount (オプション):

      問い合わせフローログをアップロードする Amazon S3 バケットを所有する AWS アカウント番号。このパラメータを指定しない場合、ランブックはオートメーションを実行するユーザーまたはロールの AWS アカウント ID を使用します。

    • S3BucketOwnerRoleArn (オプション):

      Amazon S3 バケットとアカウントブロックのパブリックアクセス設定、バケット暗号化設定、バケット 、ACLsバケットポリシーステータスを取得し、バケットにオブジェクトをアップロードするアクセス許可を持つIAMロールARNの 。このパラメータが指定されていない場合、ランブックは、このランブックを開始する AutomationAssumeRole (指定されている場合) またはユーザー ( が指定されAutomationAssumeRoleていない場合) を使用します。ランブックの説明の「必要なアクセス許可」セクションを参照してください。

    Input parameters form for AWS Systems Manager Automation with fields for roles, IDs, and S3 settings.
  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • CheckConnectInstanceExistance

      で提供される Amazon Connect インスタンスConnectInstanceIdが かどうかを確認しますACTIVE

    • CheckS3BucketPublicStatus

      で指定された Amazon S3 バケットが、匿名またはパブリックの読み取り/書き込みアクセス許可S3BucketNameを許可しているかどうかを確認します。

    • GenerateLogSearchTimeRange

      に基づいてStartQueryステップEndTimeStartTimeInitiationTimestampを生成し、 によってLastUpdateTimestamp返されますAPI。 StartTimeは 1 DescribeContact 時間前InitiationTimestamp、 は 1 時間後EndTimeになりますLastUpdateTimestamp

    • StartQuery

      で提供される Amazon Connect インスタンスに関連付けられた ContactId CloudWatch Logs ロググループで提供される のクエリログを開始しますConnectInstanceId。クエリは 60 分のランタイム後にタイムアウトします。クエリがタイムアウトした場合は、検索する時間範囲を短くします。現在進行中のクエリと最近のクエリ履歴を CloudWatch コンソールで表示できます。詳細については、「実行中のクエリを表示する」または「クエリ履歴」を参照してください。

    • WaitForQueryCompletion

      指定された が完了するまで、 CloudWatch ログクエリログContactIdを待ちます。クエリは 60 分のランタイム後にタイムアウトすることに注意してください。クエリがタイムアウトした場合は、検索する時間範囲を短くします。現在進行中のクエリと最近のクエリ履歴は、Amazon Connect コンソールで表示できます。詳細については、「実行中のクエリを表示する」または「クエリ履歴」を参照してください。

    • UploadContactFlowLog

      クエリ結果を取得し、問い合わせフローログを で指定された Amazon S3 バケットにアップロードしますS3BucketName

    • GenerateReport

      問い合わせフローログURLがアップロードされた Amazon S3 コンソールと、ログファイルのダウンロードに使用できるコマンドの例 AWS CLIを返します。

  7. 完了したら、出力セクションで実行の詳細な結果を確認します。

    • GenerateReport.OutputPayload

      ランブックが指定された問い合わせの問い合わせフローログを正常に取得したことを通知する出力。このレポートには、ログファイルをダウンロードできるように、Amazon S3 コンソールURLとコマンドの例 AWS CLIも含まれています。

    Output showing successful retrieval of Contact Flow log with S3 Console URL and AWS CLI command.

リファレンス

Systems Manager Automation