

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

# `AWSSupport-CollectAmazonConnectContactFlowLog`
<a name="automation-collect-amazon-connect-contact-flow-log"></a>

 **説明** 

 `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 ロググループに保存されているフローログ](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-logs-stored-in-cloudwatch.html)」を参照してください。

**重要**  
CloudWatch Logs Insights クエリには、クエリされるデータ量に基づいて料金が発生します。無料利用枠のお客様は、サービスクォータを超える使用に対してのみ料金が発生します。詳細については、「[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)」をご覧ください。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-CollectAmazonConnectContactFlowLog) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

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 [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description)で に移動します。

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

1. 入力パラメータには、次のように入力します。
   + **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、バケットポリシーステータスを取得し、バケットにオブジェクトをアップロードするアクセス許可を持つ IAM ロールの ARN。このパラメータが指定されていない場合、ランブックは、このランブックを開始する `AutomationAssumeRole` (指定されている場合) または ユーザー ( が指定され`AutomationAssumeRole`ていない場合) を使用します。ランブックの説明の必要なアクセス許可セクションを参照してください。  
![\[Input parameters form for AWS Systems Manager Automation with fields for roles, IDs, and S3 settings.\]](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/automation-collect-amazon-connect-contact-flow-log_input_parameters.png)

1. [実行] を選択します。

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

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

     で提供されている Amazon Connect インスタンス`ConnectInstanceId`が かどうかを確認します`ACTIVE`。
   + **CheckS3BucketPublicStatus**

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

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

     `ContactId` で提供される Amazon Connect インスタンスに関連付けられた CloudWatch Logs ロググループで提供される のクエリログを開始します`ConnectInstanceId`。クエリは 60 分のランタイム後にタイムアウトします。クエリがタイムアウトした場合は、検索する時間範囲を短くします。現在進行中のクエリと最近のクエリ履歴は、CloudWatch コンソールで表示できます。詳細については、[「実行中のクエリまたはクエリ履歴を表示する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-History.html)」を参照してください。
   + **WaitForQueryCompletion**

     指定された が完了するまで CloudWatch Logs クエリログ`ContactId`を待ちます。クエリは 60 分のランタイム後にタイムアウトすることに注意してください。クエリがタイムアウトした場合は、検索する時間範囲を短くします。Amazon Connect コンソールで、現在進行中のクエリと最近のクエリ履歴を表示できます。詳細については、[「実行中のクエリまたはクエリ履歴を表示する](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-History.html)」を参照してください。
   + **UploadContactFlowLog**

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

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

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

     ランブックが指定された問い合わせの問い合わせフローログを正常に取得したことを示す出力。このレポートには、ログファイルをダウンロードできるように、Amazon S3 コンソール URL とサンプル AWS CLI コマンドも含まれています。  
![\[Output showing successful retrieval of Contact Flow log with S3 Console URL and AWS CLI command.\]](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/automation-collect-amazon-connect-contact-flow-log_outputs.png)

 **リファレンス** 

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [「自動化ワークフローをサポート」ランディングページ](https://aws.amazon.com/premiumsupport/technology/saw/)