CloudFormationでDataDogのIntegration設定
CloudFormationで以下のアップデートがありサードパーティ製品についてもCoudFormationで設定できるようになりました。
DataDogのIntegration設定などをCloudFormationで設定できるようなので、早速試してみました。
aws.amazon.com
CloudFormationへDatadogリソースの登録
aws cliで以下のコマンドを実行しリソースの登録を行います。
実行前にawscliのアップデートが必要になります。(pip install -U awscli)
aws cloudformation register-type \ --region ap-northeast-1 \ --type RESOURCE \ --type-name "Datadog::Integrations::AWS" \ --schema-handler-package s3://datadog-cloudformation-resources/datadog-integrations-aws/datadog-integrations-aws-1.0.0.zip
※type-name、schema-handler-packageの設定値についてはこちらのgithubを参照してください。
以下の通りRegistrationTokenが表示されれば登録は完了です。
{ "RegistrationToken": "122c2c39-12c8-4e93-a711-f6eb1234eae0" }
登録されているかは以下で確認できます。
$aws cloudformation list-types { "TypeSummaries": [ { "Description": "Datadog AWS Integrations", "LastUpdated": "2019-11-20T03:13:25.218Z", "TypeName": "Datadog::Integrations::AWS", "TypeArn": "arn:aws:cloudformation:ap-northeast-1:123412341234:type/resource/Datadog-Integrations-AWS", "DefaultVersionId": "00000001", "Type": "RESOURCE" } ] }
リージョンごとにリソース登録が必要となるようですが、このあたりの設定は今後もっと簡略化されていくと嬉しいですね。
Integration設定
事前に設定するDataDogのAPIキーとApplicationキーを取得しておいてください。
以下のyamlをファイルに保存しCloudFormationから実行し、パラメータにて上記のキーを設定して実行してください。
--- AWSTemplateFormatVersion: '2010-09-09' Description: 'IAM Role and IAM Policy for Datadog AWS Integration' Parameters: DatadogAPIKey: Description: "Datadog's API Key" Type: String DatadogAPPKey: Description: "Datadog's APP Key" Type: String Resources: DatadogAWSIntegrationResource: Type: 'Datadog::Integrations::AWS' Properties: AccountID: !Ref AWS::AccountId RoleName: DatadogAWSIntegrationRoleTest HostTags: ["env:staging"] AccountSpecificNamespaceRules: {"ec2": true, "api_gateway": false} DatadogCredentials: ApiKey: !Ref DatadogAPIKey ApplicationKey: !Ref DatadogAPPKey
DataDogの設定画面を確認すると以下の通り登録されていれば完了です。
AWS側のRoleも合わせて作成してくれないか期待しましたが、残念ながらそこまではしてくれないようでした。
また、ExternalIDの取得方法が現状ではなさそうなので今後に期待したいと思いますが、機能が拡充されていくと思いますので、まとめてCloudFormationで管理することが可能になりますね。