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" } ] }

指示

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

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

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

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

    • AutomationAssumeRole(オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、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。このパラメータが指定されていない場合、ランブックは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を生成し、 DescribeContact API によってLastUpdateTimestamp返されます。 StartTime は 1 時間前InitiationTimestamp、 は 1 時間後EndTimeになりますLastUpdateTimestamp

    • StartQuery

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

    • WaitForQueryCompletion

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

    • UploadContactFlowLog

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

    • GenerateReport

      問い合わせフローログがアップロードされた Amazon S3 AWS コンソール URL と、ログファイルのダウンロードに使用できる 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