🐕
DatadogForwaredrとDatadogAPICallFunctionの更新方法
はじめに
DatadogとAWSを連携させる際、CloudFormationを利用して作成した場合、以下のLambda関数が作成されます。
連携手順
- DatadogIntegration-ForwarderStack
- DatadogIntegration-DatadogA-DatadogAPICallFunction
これらの関数はPythonを利用しており、定期的にEOL対応が必要になります。ForwarderStackについては公式ドキュメントに手順がありますが、DatadogAPICallFunctionの方は見つけることができなかったため、アップデート手順をまとめました。
DatadogIntegration-ForwarderStack アップデート手順
公式の手順を参考にするべきなので、リンクを記載します。
Datadog Integration Forwarder アップデート手順
DatadogAPICallFunction アップデート手順
-
CloudFormationコンソールで「DatadogAPICall」を検索してネストされたスタックを見つけます。
-
「更新」をクリックし、「ネストされたスタックを更新する」にチェックを入れて、「スタックを更新」ボタンをクリックします。
-
「既存のテンプレートを置換」にチェックを入れ、AWS S3 URLに以下のURLを入力します。
https://datadog-cloudformation-template-quickstart.s3.amazonaws.com/aws/datadog_integration_api_call_v2.yaml
V1のAPIを利用している場合は、以下のURLを入力します。
https://datadog-cloudformation-template-quickstart.s3.amazonaws.com/aws/datadog_integration_api_call.yaml
-
「次へ」を選択します。
-
スタックパラメータの変更は必要ないので、「次へ」をクリックして進みます。
-
スタックオプションの設定画面で、下部の「次へ」をクリックします。
-
レビュー画面で、「AWS CloudFormationによってIAMリソースが作成される場合があることを承認します。」にチェックを入れて「送信」をクリックします。
DatadogAPICallFunctionアップデートで利用するテンプレートのGitHubリポジトリのリンクは以下になります。
Discussion
この「DatadogAPICallFunction アップデート手順」は実際に試しましたか?
DatadogAPICallFunction内で実行するLambdaのhandler関数内で呼んでいるAPIはスタック更新に対応してないとレスポンスを返却しExternalIDを返却してくれないので、OutputのExternalIDが取得できなくてスタックがコケます。
またDatadogAPICallFunctionのLambdaは初回インテグレーション時にのみ実行するLambdaなのでPythonのバージョンをこまめに気にする必要ない気もします。
「DatadogAPICallFunction アップデート手順」は実際に行って動作の方は確認しました。
こちらで行った際はPythonのバージョンは、Python3.8→Python3.12にアップデートしています。
裏話になりますが、こちらの手順はDatadogのサポートに問い合わせた回答を元に実際に試して書いた内容ですので、間違った内容ではないかなと思っています。
申し訳ないですが、私の触れる環境で記載いただいたエラーの再現と調査は難しいので、もし対応が必要なのであればDatadogのサポートに問い合わせていただくのが一番かと思います。
ご認識の通り、バージョンは気にしなくてもよいと思います。
今回はLambdaのPython3.8のサポートがもうすぐ終わるので、他の関数のついでに対応しました。