This product is not supported for your selected Datadog site. ().

Overview

App and API Protection works by leveraging the Datadog Node.js library to monitor and secure your Node.js service. The library integrates seamlessly with your existing application without requiring code changes.

For detailed compatibility information, including supported Node.js versions, frameworks, and deployment environments, see Node.js Compatibility Requirements.

This guide explains how to set up App and API Protection (AAP) for Node.js applications. The setup involves:

  1. Installing the Datadog Agent
  2. Enabling App and API Protection monitoring
  3. Running your Node.js application with the Datadog Agent
  4. Verifying the setup

前提条件

  • AWS Fargate 環境
  • Docker によってコンテナ化された Node.js アプリケーション
  • 適切な権限で構成された AWS CLI
  • Datadog API キー
  • Datadog Node.js SDK (バージョン要件を参照)

1. Datadog Agent をインストールしてください

Fargate タスク定義に Datadog Agent をインストールしてください。

{
  "containerDefinitions": [
    {
      "name": "datadog-agent",
      "image": "public.ecr.aws/datadog/agent:latest",
      "environment": [
        {
          "name": "DD_API_KEY",
          "value": "<YOUR_API_KEY>"
        },
        {
          "name": "DD_APM_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_NON_LOCAL_TRAFFIC",
          "value": "true"
        }
      ]
    }
  ]
}

2. App and API Protection モニタリングを有効にしてください

Automatically enabling App and API Protection through Remote Configuration

APM Tracing cannot be disabled for the time being with remote config.

You can enable remote configuration on your services dashboard. Simply check the box for the service you want to enable App and API Protection for under "Activate on your APM services".

App and API Protection モニタリングを手動で有効にしてください

Dockerfile に Datadog Node.js ライブラリが含まれていることを確認してください。

FROM node:18-alpine

# Install the Datadog Node.js library
RUN npm install dd-trace

# Copy your application files
COPY package*.json ./
COPY . .
RUN npm install

# Start the application with the Datadog SDK
CMD ["node", "--require", "dd-trace/init", "app.js"]

App and API Protection の構成を含む Node.js アプリケーション コンテナをタスク定義に追加してください。

{
  "containerDefinitions": [
    {
      "name": "your-nodejs-app",
      "image": "your-nodejs-app-image",
      "environment": [
        {
          "name": "DD_APPSEC_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_SERVICE",
          "value": "<YOUR_SERVICE_NAME>"
        },
        {
          "name": "DD_ENV",
          "value": "<YOUR_ENVIRONMENT>"
        }
      ]
    }
  ]
}

App and API Protection を有効にしたまま APM トレーシングを無効にするには、APM トレーシング変数を false に設定してください。

App and API Protection の構成を含む Node.js アプリケーション コンテナをタスク定義に追加してください。

{
  "containerDefinitions": [
    {
      "name": "your-nodejs-app",
      "image": "your-nodejs-app-image",
      "environment": [
        {
          "name": "DD_APPSEC_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_TRACING_ENABLED",
          "value": "false"
        },
        {
          "name": "DD_SERVICE",
          "value": "<YOUR_SERVICE_NAME>"
        },
        {
          "name": "DD_ENV",
          "value": "<YOUR_ENVIRONMENT>"
        }
      ]
    }
  ]
}

3. アプリケーションを実行してください

更新された構成で Fargate タスクをデプロイしてください。

aws ecs register-task-definition --cli-input-json file://task-definition.json
aws ecs run-task --cluster your-cluster --task-definition your-task-definition

4. Verify setup

To verify that App and API Protection is working correctly:

  1. Send some traffic to your application
  2. Check the Application Signals Explorer in Datadog
  3. Look for security signals and vulnerabilities

トラブルシューティング

Node.js アプリケーションの App and API Protection セットアップ中に問題が発生した場合は、Node.js App and API Protection トラブルシューティングガイドを参照してください。

参考資料