Datadog Lambda 拡張機能に移行する必要がありますか?

AWS Lambda 拡張機能は、Lambda 関数コードとともに Lambda 実行環境内で実行されます。Datadog は AWS と提携して、Datadog Lambda 拡張機能を作成しました。これは、カスタムメトリクス、拡張メトリクス、トレース、ログを送信する Datadog Agent の軽量バージョンです。

Datadog Lambda 拡張機能の導入前に Datadog サーバーレスを構成した場合は、Datadog Forwarder を使用して、カスタムメトリクス、拡張メトリクス、トレース、ログを送信する可能性があります。

Lambda 拡張機能と Forwarder の間にはいくつかの重要な違いがあります。このページでは、Forwarder から Lambda 拡張機能への移行を選択する場合と選択しない場合があるさまざまな理由について説明します。

機能の違い

AWS サーバーレスアプリケーションをインスツルメントする

Lambda 拡張機能は、Lambda 関数からテレメトリーを収集する推奨方法として Forwarder に取って代わるものですが、API Gateway、AppSync、Lambda@Edge からのものを含む他の AWS サービスのログを収集しメタデータを追加するには、Forwarder が必要です。

メリット

Datadog Lambda 拡張機能には、Datadog Forwarder に比べて次の利点があります。

  • CloudWatch Log をスキップ: Forwarder は、ログからテレメトリーを抽出し、Datadog に送信します。Datadog Lambda 拡張機能はテレメトリーを直接 Datadog に送信し、CloudWatch Log や Forwarder Lambda 関数自体に関わるコストを削減することが可能です。
  • セットアップが簡単: Datadog Lambda 拡張機能は Lambda レイヤーとして追加でき、テレメトリーを直接 Datadog に送信するため、新しい Lambda 関数の CloudWatch ロググループごとにサブスクリプションフィルターを設定する必要がありません。

トレードオフ

拡張機能は、コールドスタート時に拡張機能をロードし、テレメトリーを Datadog にフラッシュするため、Lambda 関数に追加のオーバーヘッドをもたらします。追加される期間の大部分は、関数のパフォーマンスに影響を与えません。Datadog の最新のベンチマーク結果によると、Lambda 拡張機能と Forwarder を使用した場合、コストオーバーヘッドは常に低くなっています。

考察

特に多くの Lambda 関数からログを収集したいだけであれば、Datadog Forwarder を使い続けることは理にかなっています。Lambda 関数からメトリクスやトレースも収集する場合は、Datadog Lambda 拡張機能に移行することをお勧めします。

Datadog Lambda 拡張機能に移行する

Datadog Forwarder から Datadog Lambda 拡張機能への移行は、サーバーレス構成ドキュメントをご参照ください。

その他の参考資料

お役に立つドキュメント、リンクや記事: