AWS Fargate で PHP 用の App and API Protection をセットアップする
This product is not supported for your selected
Datadog site. (
).
Overview
App and API Protection leverages the Datadog PHP library to monitor and secure your PHP service. The library integrates seamlessly with your existing application without requiring code changes.
For detailed compatibility information, including supported PHP versions, frameworks, and deployment environments, see PHP Compatibility Requirements.
This guide explains how to set up App and API Protection (AAP) for PHP applications. The setup involves:
- Installing the Datadog Agent
- Enabling App and API Protection monitoring
- Running your PHP application with the Datadog Agent
- Verifying the setup
前提条件
- AWS Fargate 環境
- Docker でコンテナ化された PHP アプリケーション
- AWS CLI が適切な権限で設定されています
- Datadog API キー
- Datadog PHP 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"
},
{
"name": "DD_SITE",
"value": ""
}
]
}
]
}
2. App and API Protection モニタリングを有効にしてください
Automatically enabling App and API Protection through Remote Configuration
You can enable services with remote configuration on your services dashboard.
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 PHP ライブラリが含まれているか確認してください:
Dockerfile に下記を追加してください:
# Install dd-trace-php
RUN curl -LO https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php
RUN php datadog-setup.php --php-bin=all
# Enable appsec
ENV DD_APPSEC_ENABLED=true
# Configure your service
ENV DD_SERVICE=<YOUR_SERVICE_NAME>
ENV DD_ENV=<YOUR_ENVIRONMENT>
App and API Protection 設定を含む PHP アプリケーションコンテナを含めるようにタスク定義を更新してください:
{
"containerDefinitions": [
{
"name": "your-php-app",
"image": "your-php-app-image",
"environment": [
{
"name": "DD_APPSEC_ENABLED",
"value": "true"
},
{
"name": "DD_SERVICE",
"value": "<YOUR_SERVICE_NAME>"
},
{
"name": "DD_ENV",
"value": "<YOUR_ENVIRONMENT>"
},
{
"name": "DD_SITE",
"value": "<span class="js-region-param region-param" data-region-param="dd_site"></span>"
}
]
}
]
}
App and API Protection を有効にしたまま APM トレースを無効にするには、APM トレース変数を false に設定する必要があります。
App and API Protection 設定を含む PHP アプリケーションコンテナを含めるようにタスク定義を更新してください:
{
"containerDefinitions": [
{
"name": "your-php-app",
"image": "your-php-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>"
},
{
"name": "DD_SITE",
"value": "<span class="js-region-param region-param" data-region-param="dd_site"></span>"
}
]
}
]
}
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:
- Send some traffic to your application
- Check the Application Signals Explorer in Datadog
- Look for security signals and vulnerabilities
トラブルシューティング
PHP アプリケーションの App and API Protection のセットアップ中に問題が発生した場合は、PHP App and API Protection トラブルシューティングガイドを参照してください。
参考資料