ステップ 1: OpenSearch サービスとの統合を作成する - Amazon CloudWatch ログ

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

ステップ 1: OpenSearch サービスとの統合を作成する

最初のステップでは、 OpenSearch サービスとの統合を作成します。これは 1 回だけ実行する必要があります。統合を作成すると、アカウントに次のリソースが作成されます。

  • 高可用性のないOpenSearch Service 時系列コレクション

    コレクションは、ワークロードをサポートするために連携する OpenSearch サービスインデックスのセットです。

  • コレクションの 2 つのセキュリティポリシー。1 つは暗号化タイプを定義します。これは、カスタマーマネージド AWS KMS キーまたはサービス所有キーのいずれかです。もう 1 つのポリシーはネットワークアクセスを定義し、 OpenSearch サービスアプリケーションがコレクションにアクセスできるようにします。詳細については、「Amazon OpenSearch Service の保管中のデータの暗号化」を参照してください。

  • コレクション内のデータにアクセスできるユーザーを定義する OpenSearch サービスデータアクセスポリシー

  • ソースとして CloudWatch ログが定義されている OpenSearch サービスダイレクトクエリデータソース

  • という名前のサービス OpenSearch アプリケーションaws-analytics。アプリケーションは、ワークスペースの作成を許可するように設定されます。という名前のアプリケーションaws-analyticsが既に存在する場合は、このコレクションをデータソースとして追加するように更新されます。

  • ダッシュボードをホストし、ワークスペースから読み取るためのアクセス許可が付与されたすべてのユーザーを許可する OpenSearch サービスワークスペース。

必要なアクセス許可

統合を作成するには、ここに示す CloudWatchOpenSearchDashboardsFullAccess管理IAMポリシーまたは同等のアクセス許可を持つアカウントにサインオンする必要があります。統合の削除、ダッシュボードの作成、編集、削除、およびダッシュボードの手動更新を行うには、これらのアクセス許可も必要です。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "CloudWatchOpenSearchDashboardsIntegration", "Effect": "Allow", "Action": [ "logs:ListIntegrations", "logs:GetIntegration", "logs:DeleteIntegration", "logs:PutIntegration", "logs:DescribeLogGroups", "opensearch:ApplicationAccessAll", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" }, { "Sid": "CloudWatchLogsOpensearchReadAPIs", "Effect": "Allow", "Action": [ "aoss:BatchGetCollection", "aoss:BatchGetLifecyclePolicy", "es:ListApplications" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsOpensearchCreateServiceLinkedAccess", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService", "Condition": { "StringEquals": { "iam:AWSServiceName": "opensearchservice.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsObservabilityCreateServiceLinkedAccess", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/observability.aoss.amazonaws.com/AWSServiceRoleForAmazonOpenSearchServerless", "Condition": { "StringEquals": { "iam:AWSServiceName": "observability.aoss.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsCollectionRequestAccess", "Effect": "Allow", "Action": [ "aoss:CreateCollection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsApplicationRequestAccess", "Effect": "Allow", "Action": [ "es:CreateApplication" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/OpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "OpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsCollectionResourceAccess", "Effect": "Allow", "Action": [ "aoss:DeleteCollection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsApplicationResourceAccess", "Effect": "Allow", "Action": [ "es:UpdateApplication", "es:GetApplication" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/OpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsCollectionPolicyAccess", "Effect": "Allow", "Action": [ "aoss:CreateSecurityPolicy", "aoss:CreateAccessPolicy", "aoss:DeleteAccessPolicy", "aoss:DeleteSecurityPolicy", "aoss:GetAccessPolicy", "aoss:GetSecurityPolicy" ], "Resource": "*", "Condition": { "StringLike": { "aoss:collection": "cloudwatch-logs-*", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsAPIAccessAll", "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": "*", "Condition": { "StringLike": { "aoss:collection": "cloudwatch-logs-*" } } }, { "Sid": "CloudWatchLogsIndexPolicyAccess", "Effect": "Allow", "Action": [ "aoss:CreateAccessPolicy", "aoss:DeleteAccessPolicy", "aoss:GetAccessPolicy", "aoss:CreateLifecyclePolicy", "aoss:DeleteLifecyclePolicy" ], "Resource": "*", "Condition": { "StringLike": { "aoss:index": "cloudwatch-logs-*", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsDQSRequestQueryAccess", "Effect": "Allow", "Action": [ "es:AddDirectQueryDataSource" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsStartDirectQueryAccess", "Effect": "Allow", "Action": [ "opensearch:StartDirectQuery", "opensearch:GetDirectQuery" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*" }, { "Sid": "CloudWatchLogsDQSResourceQueryAccess", "Effect": "Allow", "Action": [ "es:GetDirectQueryDataSource", "es:DeleteDirectQueryDataSource" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "directquery.opensearchservice.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsAossTagsAccess", "Effect": "Allow", "Action": [ "aoss:TagResource" ], "Resource": "arn:aws:aoss:*:*:collection/*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsEsApplicationTagsAccess", "Effect": "Allow", "Action": [ "es:AddTags" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringEquals": { "aws:ResourceTag/OpenSearchIntegration": [ "Dashboards" ], "aws:CalledViaFirst": "logs.amazonaws.com" }, "ForAllValues:StringEquals": { "aws:TagKeys": "OpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsEsDataSourceTagsAccess", "Effect": "Allow", "Action": [ "es:AddTags" ], "Resource": "arn:aws:opensearch:*:*:datasource/*", "Condition": { "StringEquals": { "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ], "aws:CalledViaFirst": "logs.amazonaws.com" }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } } ] }

統合を作成する

以下のステップを使用して統合を作成します。

CloudWatch ログを と統合するには Amazon OpenSearch Service
  1. で CloudWatch コンソールを開きますhttps://console.aws.amazon.com/cloudwatch/

  2. 左側のナビゲーションペインで、Logs Insights を選択し、 で分析 OpenSearchタブを選択します。

  3. 統合の作成 を選択します。

  4. [統合名] に、統合の名前を入力します。

  5. (オプション) OpenSearch Service Serverless に書き込まれるデータを暗号化するには、 AWS KMS キー で使用するキーARNの を入力します。 KMS ARN詳細については、「Amazon OpenSearch Service デベロッパーガイド」の「保管時の暗号化」を参照してください。

  6. データ保持には、 OpenSearch サービスデータインデックスを保持する時間を入力します。また、ダッシュボードでデータを表示できる最大期間も定義します。データ保持期間を長くすると、追加の検索とインデックス作成のコストが発生します。詳細については、OpenSearch 「Service Serverless の料金」を参照してください。

    最大保持期間は 30 日間です。

    データ保持期間は、 OpenSearch サービスコレクションライフサイクルポリシーの作成にも使用されます。

  7. IAM OpenSearch コレクションに書き込むロールについては、新しいIAMロールを作成するか、 OpenSearch サービスコレクションへの書き込みに使用する既存のIAMロールを選択します。

    新しいロールの作成は最も簡単な方法です。ロールは必要なアクセス許可で作成されます。

    注記

    ロールを作成すると、アカウント内のすべてのロググループから読み取るアクセス許可が付与されます。

    既存のロールを選択する場合は、 に記載されているアクセス許可が必要です統合に必要なアクセス許可。または、既存のロールを使用するを選択し、選択したロールのアクセス許可の検証セクションでロールの作成を選択します。これにより、 にリストされているアクセス許可をテンプレート統合に必要なアクセス許可として使用して変更できます。例えば、ロググループのよりきめ細かな制御を指定する場合です。

  8. IAM ダッシュボードを表示できるロールとユーザーについては、公開ログダッシュボードへのアクセスをIAMロールとIAMユーザーに許可する方法を選択します。

    • ダッシュボードへのアクセスを一部のユーザーのみに制限するには、ダッシュボードを表示できるIAMロールとユーザーの選択を選択し、テキストボックスでアクセスを許可するIAMロールとIAMユーザーを検索して選択します。

    • ダッシュボードへのアクセス権をすべてのユーザーに付与するには、このアカウントのすべてのロールとユーザーにダッシュボードの表示を許可するを選択します。

      重要

      ロールまたはユーザーを選択するか、すべてのユーザーを選択すると、ダッシュボードデータを保存するサービスコレクションへのアクセスに必要なデータアクセスポリシーにのみ追加されます。 OpenSearch 発行されたログダッシュボードを表示できるようにするには、それらのロールとユーザーに CloudWatchOpenSearchDashboardAccess管理IAMポリシーも付与する必要があります。

  9. 統合の作成を選択する

    統合の作成には数分かかります。