🐕

DatadogForwaredrとDatadogAPICallFunctionの更新方法

2024/07/05に公開2

はじめに

DatadogとAWSを連携させる際、CloudFormationを利用して作成した場合、以下のLambda関数が作成されます。
連携手順

  • DatadogIntegration-ForwarderStack
  • DatadogIntegration-DatadogA-DatadogAPICallFunction

これらの関数はPythonを利用しており、定期的にEOL対応が必要になります。ForwarderStackについては公式ドキュメントに手順がありますが、DatadogAPICallFunctionの方は見つけることができなかったため、アップデート手順をまとめました。

DatadogIntegration-ForwarderStack アップデート手順

公式の手順を参考にするべきなので、リンクを記載します。
Datadog Integration Forwarder アップデート手順

DatadogAPICallFunction アップデート手順

  1. CloudFormationコンソールで「DatadogAPICall」を検索してネストされたスタックを見つけます。

  2. 「更新」をクリックし、「ネストされたスタックを更新する」にチェックを入れて、「スタックを更新」ボタンをクリックします。

  3. 「既存のテンプレートを置換」にチェックを入れ、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
    
  4. 「次へ」を選択します。

  5. スタックパラメータの変更は必要ないので、「次へ」をクリックして進みます。

  6. スタックオプションの設定画面で、下部の「次へ」をクリックします。

  7. レビュー画面で、「AWS CloudFormationによってIAMリソースが作成される場合があることを承認します。」にチェックを入れて「送信」をクリックします。

DatadogAPICallFunctionアップデートで利用するテンプレートのGitHubリポジトリのリンクは以下になります。

Discussion

たのしぶたのしぶ

この「DatadogAPICallFunction アップデート手順」は実際に試しましたか?
DatadogAPICallFunction内で実行するLambdaのhandler関数内で呼んでいるAPIはスタック更新に対応してないとレスポンスを返却しExternalIDを返却してくれないので、OutputのExternalIDが取得できなくてスタックがコケます。
またDatadogAPICallFunctionのLambdaは初回インテグレーション時にのみ実行するLambdaなのでPythonのバージョンをこまめに気にする必要ない気もします。

okayuokayu

「DatadogAPICallFunction アップデート手順」は実際に行って動作の方は確認しました。
こちらで行った際はPythonのバージョンは、Python3.8→Python3.12にアップデートしています。
裏話になりますが、こちらの手順はDatadogのサポートに問い合わせた回答を元に実際に試して書いた内容ですので、間違った内容ではないかなと思っています。
申し訳ないですが、私の触れる環境で記載いただいたエラーの再現と調査は難しいので、もし対応が必要なのであればDatadogのサポートに問い合わせていただくのが一番かと思います。

ご認識の通り、バージョンは気にしなくてもよいと思います。
今回はLambdaのPython3.8のサポートがもうすぐ終わるので、他の関数のついでに対応しました。