Awesome
Datadog-AWS CloudFormation
AWS CloudFormation gives you templates to describe, configure, and provision all of the AWS resources in your environment at once. The Datadog-AWS CloudFormation Resources allow you to interact with the supported Datadog resources, send resources to any Datadog datacenter, and privately register an extension in any region with Datadog resources.
To access these resources, use the AWS Management Console (UI) or the AWS Command Line Interface (CLI).
AWS Management Console
To get started:
-
Sign in to the AWS Management Console with your account and navigate to CloudFormation.
-
Select "Public extensions" from the left hand pane and filter Publisher by "Third Party".
-
Use the search bar to filter by the "Datadog" prefix.
Note: All official Datadog resources begin with Datadog::
and specify that they are Published by Datadog
.
-
Select the desired resource name to view more information about its schema, and click Activate.
-
On the Extension details page, specify:
- Extension name
- Execution role ARN
- Automatic updates for minor version releases
- Configuration
- For the resource configuration, it is strongly recommended to use AWS Secrets Manager or similar service for storing your Datadog API and Application keys instead of clear text.
If using AWS Secrets Manager, you can dynamically reference your API and Application keys in the configuration. For more information, see the AWS documentation.
For example:
{
"DatadogCredentials": {
"ApiKey": "{{resolve:secretsmanager:MySecret:SecretString:SecretAPIKey}}",
"ApplicationKey": "{{resolve:secretsmanager:MySecret:SecretString:SecretAppKey}}"
}
}
Specify the ApiURL
if you are using an account in a region other than US1. For example, use https://api.datadoghq.eu
for an account in the EU region or https://api.us5.datadoghq.com/
for an account in the US5 region.
- After you have configured your resource, create your AWS stack that includes any of the activated Datadog resources.
For more information about available commands and workflows, see the official AWS documentation.
AWS Command Line Interface
To get started:
-
Create an execution role for the CloudFormation resource based on the file
<RESOURCE_DIR>/resource-role.yaml
-
In your terminal, use the aws-cli tool to register a Datadog resource:
aws cloudformation register-type \ --region "<REGION>" \ --type RESOURCE \ --type-name "<DATADOG_RESOURCE_NAME>" \ --schema-handler-package "<LINK_TO_S3>" \ --execution-role-arn "<ROLE_ARN_FROM_STEP_1>"
-
View the version of the newly registered resource by running the following in your terminal:
aws cloudformation list-type-versions \ --region "<REGION>" \ --type RESOURCE \ --type-name "<DATADOG_RESOURCE_NAME>"
-
Set this newly registered version as the
default
by running the following in your terminal:aws cloudformation set-type-default-version \ --region "<REGION>" \ --type RESOURCE \ --version-id <VERSION_ID> \ --type-name "<DATADOG_RESOURCE_NAME>"
With the following required placeholders:
<REGION>
: Your AWS region.<DATADOG_RESOURCE_NAME>
: The name of the resource to register, refer to the table below to see the Datadog supported resources.<LINK_TO_S3>
: S3 link to the resource.- S3 link:
s3://datadog-cloudformation-resources/<RESOURCE_FOLDER>/<RESOURCE_FOLDER>-<RESOURCE_VERSION>.zip
- See the Resources Available section, which links to examples of the latest supported S3 links.
- S3 link:
VERSION_ID
: The underlying version of the resource as returned by the command in step2
.
-
Set the newly registered resource configuration by running the following in your terminal:
aws cloudformation set-type-configuration \ --type-name "<DATADOG_RESOURCE_NAME>" \ --type RESOURCE \ --configuration '{"DatadogCredentials": {"ApiKey": "{{resolve:secretsmanager:MySecret:SecretString:SecretAPIKey}}", "ApplicationKey": "{{resolve:secretsmanager:MySecret:SecretString:SecretAppKey}}"}}'
-
In your AWS account, create your AWS stack that includes any of the registered Datadog resources.
For more information about available commands and workflows, see the official AWS documentation.
Resources available
The following Datadog resources can be registered within your AWS account. Refer to their specific documentation to see how to configure them:
Resource | Name | Description | Folder | S3 Package Links |
---|---|---|---|---|
Dashboard | Datadog::Dashboards::Dashboard | Create, update, and delete Datadog dashboards | datadog-dashboards-dashboard | Schema Handler Versions |
Datadog-AWS integration | Datadog::Integrations::AWS | Manage your Datadog-Amazon Web Service integration | datadog-integrations-aws | Schema Handler Versions |
Monitor | Datadog::Monitors::Monitor | Create, update, and delete Datadog monitors | datadog-monitors-monitor | Schema Handler Versions |
Downtime (Deprecated) | Datadog::Monitors::Downtime | Enable or disable downtimes for your monitors | datadog-monitors-downtime | Schema Handler Versions |
Downtime Schedule | Datadog::Monitors::DowntimeSchedule | Schedule Datadog downtimes | datadog-monitors-downtimeschedule | Schema Handler Versions |
User | Datadog::IAM::User | Create and manage Datadog users | datadog-iam-user | Schema Handler Versions |
SLO | Datadog::SLOs::SLO | Create and manage Datadog SLOs | datadog-slos-slo | Schema Handler Versions |
Supported regions
The Datadog-Amazon CloudFormation resources are available on the CloudFormation Public Registry in the following regions:
Code | Name |
---|---|
us-east-1 | US East (N. Virginia) |
us-east-2 | US East (Ohio) |
us-west-1 | US West (N. California) |
us-west-2 | US West (Oregon) |
ap-south-1 | Asia Pacific (Mumbai) |
ap-northeast-1 | Asia Pacific (Tokyo) |
ap-northeast-2 | Asia Pacific (Seoul) |
ap-southeast-1 | Asia Pacific (Singapore) |
ap-southeast-2 | Asia Pacific (Sydney) |
ca-central-1 | Canada (Central) |
eu-central-1 | Europe (Frankfurt) |
eu-west-1 | Europe (Ireland) |
eu-west-2 | Europe (London) |
eu-west-3 | Europe (Paris) |
eu-north-1 | Europe (Stockholm) |
sa-east-1 | South America (São Paulo) |
Note: To privately register a resource in any other region, use the provided packages.
Troubleshooting
Need help? Contact Datadog support.