👓

Datadog Fowarder のアップグレード

2023/09/19に公開

これはなに?

Datadog Fowarder はログを Datadog に転送する Lambda 関数だが、使用しているバージョンが古いため AWS Lambda における Python 3.7 ランタイムのサポート終了ともなう対応が必要なためその対応方法をまとめたものである

手順

基本的に公式の通り実施する

事前確認

  • 以下のコマンドにて datadog-forwarder が存在することを確認する
        $ aws lambda list-functions --function-version ALL --region {リージョン} --output text --query "Functions[?Runtime=='python3.7'].FunctionArn"
    

実施

  • AWSマネージメントコンソールにログイン
  • CloudFormation > スタックを開く
  • フィルターに datadog と入力しインストール時のスタックを検索する
  • 該当のスタックのリソースタブを開き Lambda::Function と入力し該当の Lambda 関数を開く

  • 設定タブを開き、左メニューからタブを選択する
  • ロールバックする必要がある場合に備えて、dd_forwarder_version 値をメモする
  • CloudFormation > スタックより再度該当のスタックを開く
  • 更新ボタンを押下でスタックの更新を開く
  • 以下の設定を行い次へを押下
    設定項目 設定値
    前提条件/テンプレートの準備/テンプレートの準備 既存テンプレートを置き換える
    テンプレートの指定/テンプレートソース Amazon S3 URL
    テンプレートの指定/Amazon S3 URL https://datadog-cloudformation-template.s3.amazonaws.com/aws/forwarder/latest.yaml
  • スタックの詳細を指定はデフォルトのまま次へを押下
  • スタックオプションの設定はデフォルトのまま次へを押下
  • レビューは内容を比較し問題なさそうであれば、 AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。 をチェックし送信を押下
  • CloudFormation > スタックより再度該当のスタックのステータスが UPDATE_COMPLETE であることを確認する
  • 該当のスタックのリソースタブを開き Lambda::Function と入力し該当の Lambda 関数を開く
  • ランタイム設定の項目でランタイムが Python 3.9であることを確認する

事後確認

  • Datadog にて datadog-fowarder を使用している部分でログが出力されていることを確認する
  • 以下のコマンドにて結果なしであることを確認する
        $ aws lambda list-functions --function-version ALL --region {リージョン} --output text --query "Functions[?Runtime=='python3.7'].FunctionArn"
    

Discussion