- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Terraform
を使うと、Datadog IAM ロール、ポリシードキュメント、Datadog-AWS インテグレーションを 1 つの terraform apply
コマンドで作成することが可能です。
以下の例を基本テンプレートとして、Terraform の構成ファイルを設定します。変更を適用する前に、以下のパラメーターを確実に更新してください。
AWS_PERMISSIONS_LIST
: Datadog AWS インテグレーションが必要とする IAM ポリシー。現在のリストは、Datadog AWS インテグレーションのドキュメントで確認できます。AWS_ACCOUNT_ID
: AWS アカウント ID。さらなる使用例やオプションパラメーターの全リスト、Datadog の追加リソースについては、Terraform レジストリの Datadog AWS インテグレーションリソースページを参照してください。
data "aws_iam_policy_document" "datadog_aws_integration_assume_role" {
statement {
actions = ["sts:AssumeRole"]
principals {
type = "AWS"
identifiers = ["arn:aws:iam::464622532012:root"]
}
condition {
test = "StringEquals"
variable = "sts:ExternalId"
values = [
"${datadog_integration_aws.sandbox.external_id}"
]
}
}
}
data "aws_iam_policy_document" "datadog_aws_integration" {
statement {
actions = [<AWS_PERMISSIONS_LIST>]
resources = ["*"]
}
}
resource "aws_iam_policy" "datadog_aws_integration" {
name = "DatadogAWSIntegrationPolicy"
policy = "${data.aws_iam_policy_document.datadog_aws_integration.json}"
}
resource "aws_iam_role" "datadog_aws_integration" {
name = "DatadogAWSIntegrationRole"
description = "Role for Datadog AWS Integration"
assume_role_policy = "${data.aws_iam_policy_document.datadog_aws_integration_assume_role.json}"
}
resource "aws_iam_role_policy_attachment" "datadog_aws_integration" {
role = "${aws_iam_role.datadog_aws_integration.name}"
policy_arn = "${aws_iam_policy.datadog_aws_integration.arn}"
}
resource "datadog_integration_aws" "sandbox" {
account_id = "<AWS_ACCOUNT_ID>"
role_name = "DatadogAWSIntegrationRole"
}
以下の例を基本テンプレートとして、Terraform の構成ファイルを設定します。変更を適用する前に、以下のパラメーターを確実に更新してください。
AWS_PERMISSIONS_LIST
: Datadog AWS インテグレーションが必要とする IAM ポリシー。現在のリストは、Datadog AWS インテグレーションのドキュメントで確認できます。AWS_ACCOUNT_ID
: AWS アカウント ID。さらなる使用例やオプションパラメーターの全リスト、Datadog の追加リソースについては、Terraform Registry を参照してください。
data "aws_iam_policy_document" "datadog_aws_integration_assume_role" {
statement {
actions = ["sts:AssumeRole"]
principals {
type = "AWS"
identifiers = ["arn:aws:iam::417141415827:root"]
}
condition {
test = "StringEquals"
variable = "sts:ExternalId"
values = [
"${datadog_integration_aws.sandbox.external_id}"
]
}
}
}
data "aws_iam_policy_document" "datadog_aws_integration" {
statement {
actions = [<AWS_PERMISSIONS_LIST>]
resources = ["*"]
}
}
resource "aws_iam_policy" "datadog_aws_integration" {
name = "DatadogAWSIntegrationPolicy"
policy = "${data.aws_iam_policy_document.datadog_aws_integration.json}"
}
resource "aws_iam_role" "datadog_aws_integration" {
name = "DatadogAWSIntegrationRole"
description = "Role for Datadog AWS Integration"
assume_role_policy = "${data.aws_iam_policy_document.datadog_aws_integration_assume_role.json}"
}
resource "aws_iam_role_policy_attachment" "datadog_aws_integration" {
role = "${aws_iam_role.datadog_aws_integration.name}"
policy_arn = "${aws_iam_policy.datadog_aws_integration.arn}"
}
resource "datadog_integration_aws" "sandbox" {
account_id = "<AWS_ACCOUNT_ID>"
role_name = "DatadogAWSIntegrationRole"
}
アクセスキーを使用して Datadog AWS インテグレーションをインストールする場合、AWS マニュアルセットアップガイドで説明されているように、必要な権限とアクセスキーを持つ IAM ユーザーを作成したことを確認してください。以下の例のプレースホルダーにアクセスキー ID とシークレットアクセスキーを追加します。Terraform を使用して AWS ユーザーと関連するアクセスキーを設定する方法については、Terraform Registry の AWS Provider リソースを参照してください。
resource "datadog_integration_aws" "sandbox" {
access_key_id = "<ACCESS_KEY_ID>"
secret_access_key = "<SECRET_ACCESS_KEY>"
}
terraform apply
を実行します。データ収集が開始されるまで最大 10 分待ち、すぐに使える AWS 概要ダッシュボード
を表示し、AWS サービスやインフラストラクチャーから送信されるメトリクスを確認します。お役に立つドキュメント、リンクや記事: