AWS PrivateLink を使って Datadog AP1(東京)サイトに接続してみた

AWS PrivateLink を使って Datadog AP1(東京)サイトに接続してみた

Clock Icon2025.06.09

こんにちは。テクニカルサポートチームのShiinaです。

はじめに

Datadog は AWS の東京リージョン(ap-northeast-1)に AWS PrivateLink エンドポイントを公開しています。
Datadog の AP1(東京)サイトを利用することで、同一リージョン内で PrivateLink 接続が可能です。
これにより、セキュアな通信を確立できるだけでなく、リージョン間通信が発生しないことによるコストメリットも得られます。
今回は東京リージョンの EC2 上で稼働している Datadog エージェントから Datadog の AP1(東京)サイトへ PrivateLink 接続をやってみました。

注意事項

異なるリージョン間の通信には、クロスリージョン PrivateLink エンドポイントもしくはリージョン間 VPC ピアリングを利用する必要があります。
リージョン間 VPC ピアリングを利用した場合は以下の記事をご参考ください。
https://dev.classmethod.jp/articles/datadog-aws-privatelink/

セキュリティ向上
Datadog への通信がプライベートネットワーク内部で完結します。
インターネットを経由しないため、よりセキュアな通信が確立できます。

データ転送料金のコスト削減
同一リージョン内の通信は、異なるリージョン間通信やインターネット通信と比べてデータ転送料金が安価です。
そのため、PrivateLink エンドポイントの利用によりコスト削減が期待できます。
東京リージョン(ap-northeast-1)の同一リージョン内データ転送料金(OUT)は USD 0.01/GB です。
一方、東京とバージニア北部リージョン間のデータ転送料金(OUT)は USD 0.09/GB です。
料金は変動する可能性があるため、最新の情報をご確認ください。[1]

AWS 東京リージョンには下記のエンドポイントが公開されています。

用途 Datadog エンドポイントサービス名 プライベート DNS 名
ログ (Agent HTTP インテーク) com.amazonaws.vpce.ap-northeast-1.vpce-svc-03e139d1f2766685b agent-http-intake.logs.ap1.datadoghq.com
ログ (ユーザー HTTP インテーク) com.amazonaws.vpce.ap-northeast-1.vpce-svc-08799aabff1cfd8a3 http-intake.logs.ap1.datadoghq.com
API com.amazonaws.vpce.ap-northeast-1.vpce-svc-008cd79a7a09e0a1e api.ap1.datadoghq.com
メトリクス com.amazonaws.vpce.ap-northeast-1.vpce-svc-002d904d5e69340ad metrics.agent.ap1.datadoghq.com
コンテナ com.amazonaws.vpce.ap-northeast-1.vpce-svc-03ffd8d552f0d957d orchestrator.ap1.datadoghq.com
プロセス com.amazonaws.vpce.ap-northeast-1.vpce-svc-0e86b29a0dc2c8a26 process.ap1.datadoghq.com
プロファイリング com.amazonaws.vpce.ap-northeast-1.vpce-svc-0d598057ecde10596 intake.profile.ap1.datadoghq.com
トレース com.amazonaws.vpce.ap-northeast-1.vpce-svc-0a5d94b2e8f6e70fc trace.agent.ap1.datadoghq.com
データベースモニタリング com.amazonaws.vpce.ap-northeast-1.vpce-svc-0cc53180ae06bb977 dbm-metrics-intake.ap1.datadoghq.com
リモート構成 com.amazonaws.vpce.ap-northeast-1.vpce-svc-00e15ab206f23b98c config.ap1.datadoghq.com

やってみた

1. セキュリティグループ作成

PrivateLink エンドポイントで使用するセキュリティグループを作成します。

  1. VPC サービスのナビゲーションペインより「セキュリティグループ」を選択します。
  2. 「セキュリティグループの作成」を選択します。
  3. 以下の値を入力の上、セキュリティグループを作成します。
  • セキュリティグループ名:任意(例:DatadogPrivateLinkSG)
  • 説明:任意(例:to datadog)
  • インバウンドルール
    • タイプ:HTTPS
    • ソース:VPCCIDR やサブネット CIDR
      sg作成

利用用途に沿って、必要となる PrivateLink エンドポイントの作成を行います。

コンソールの場合

  1. VPC サービスのナビゲーションペインより「エンドポイント」を選択します。
  2. 「エンドポイントを作成」を選択します。
  3. 以下の値を入力の上、一度「サービスの検証」を行います。
  • 名前:任意(例:datadog-agent-http-intake-logs)
  • タイプ:PrivateLink Ready パートナーのサービス
  • サービス名:Datadog エンドポイントサービス名(例:com.amazonaws.vpce.ap-northeast-1.vpce-svc-03e139d1f2766685b)
  1. 以下の値を入力の上、「エンドポイント作成」を選択します。
  • VPC:作成先のVPC
  • DNS 名を有効化:チェックを入れる
  • サブネット:作成先のサブネットID
  • セキュリティグループ:エンドポイント用のセキュリティグループ
  1. ステータスが「使用可能」となれば作成完了です。
    エンドポイント作成1

エンドポイント作成2

CLIの場合
事前に VPC ID、サブネット ID、セキュリティグループ ID を確認しておいてください。

# 変数設定(リソースIDを指定ください)
VPC_ID="vpc-XXXXXXXXX"
SUBNET_IDS="subnet-XXXXXXXXX"
SECURITY_GROUP_ID="sg-XXXXXXXXX"

# 1. ログ (Agent HTTP インテーク)
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-03e139d1f2766685b \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-agent-http-intake-logs}]'

# 2. ログ (ユーザー HTTP インテーク)
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-08799aabff1cfd8a3 \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-user-http-intake-logs}]'

# 3. API
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-008cd79a7a09e0a1e \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-api}]'

# 4. メトリクス
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-002d904d5e69340ad \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-metrics}]'

# 5. コンテナ
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-03ffd8d552f0d957d \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-orchestrator}]'

# 6. プロセス
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-0e86b29a0dc2c8a26 \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-process}]'

# 7. プロファイリング
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-0d598057ecde10596 \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-profiling}]'

# 8. トレース
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-0a5d94b2e8f6e70fc \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-trace}]'

# 9. データベースモニタリング
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-0cc53180ae06bb977 \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-dbm}]'

# 10. リモート構成
aws ec2 create-vpc-endpoint \
    --vpc-id $VPC_ID \
    --service-name com.amazonaws.vpce.ap-northeast-1.vpce-svc-00e15ab206f23b98c \
    --vpc-endpoint-type Interface \
    --subnet-ids $SUBNET_IDS \
    --security-group-ids $SECURITY_GROUP_ID \
    --private-dns-enabled \
    --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=datadog-remote-config}]'

3. 名前解決の確認

Datadog エージェントが導入されている EC2 インスタンスに接続し、プライベート DNS 名に対して名前解決ができるか確認します。
エンドポイントのプライベート IPアドレスが返されていれば、問題なく設定できています。
Linux

dig agent-http-intake.logs.ap1.datadoghq.com

; <<>> DiG 9.18.33 <<>> agent-http-intake.logs.ap1.datadoghq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13827
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;agent-http-intake.logs.ap1.datadoghq.com. IN A

;; ANSWER SECTION:
agent-http-intake.logs.ap1.datadoghq.com. 60 IN A 10.3.3.159

;; Query time: 0 msec
;; SERVER: 10.3.0.2#53(10.3.0.2) (UDP)
;; WHEN: Tue Jun 03 02:35:55 UTC 2025
;; MSG SIZE  rcvd: 85

Windows

nslookup agent-http-intake.logs.ap1.datadoghq.com

Server:  ip-10-3-0-2.ap-northeast-1.compute.internal
Address:  10.3.0.2

Non-authoritative answer:
Name:    agent-http-intake.logs.ap1.datadoghq.com
Address:  10.3.3.159

4. 疎通確認

エンドポイントに通信できるか疎通確認を行います。
Linux

nc -w1 agent-http-intake.logs.ap1.datadoghq.com -vz 443

Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Connected to 10.3.3.159:443.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

"Connected"と表示されたら疎通できています。

Windows

Test-NetConnection agent-http-intake.logs.ap1.datadoghq.com -Port 443

ComputerName     : agent-http-intake.logs.ap1.datadoghq.com
RemoteAddress    : 10.3.3.159
RemotePort       : 443
InterfaceAlias   : Ethernet
SourceAddress    : 10.3.13.129
TcpTestSucceeded : True

"TcpTestSucceeded : True"と表示されたら疎通できています。

5. ログ転送プロトコル設定(旧バージョンのみ)

PrivateLink エンドポイント経由でログデータを送信するには HTTPS を利用する必要があります。
Datadog エージェント v6.19 または v7.19 以降はデフォルトで HTTPS となるため、設定不要です。
それ以前のバージョンを利用している場合は、ログデータが TCP で転送されるため、datadog.yamlforce_use_http: trueパラメータの設定が必要です。

ログ転送プロトコルは status コマンドで確認が行えます。

Linux

datadog-agent status "logs agent"

Windows

& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" status "logs agent"
==========
Logs Agent
==========

    Reliable: Sending compressed logs in HTTPS to agent-http-intake.logs.ap1.datadoghq.com on port 443
    BytesSent: 0
    EncodedBytesSent: 2

Sending compressed logs in HTTPS と表示されていれば HTTPS を利用しています。
TCP を利用している場合はdatadog.yamlを修正し、エージェントの再起動が必要です。

datadog.yaml
logs_enabled: true
logs_config:
    force_use_http: true

6. エージェント再起動

エンドポイント経由の通信に切り替えるため、Datadog エージェントを再起動します。
Linux

systemctl restart datadog-agent

Windows

& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" restart-service

動作確認

Datadog エージェントがエンドポイントを利用してメトリクス、ログを送信できているか確認します。

メトリクスの確認

  1. Datadog コンソールメニューの「Infrastructure」より「Hosts」を選択します。
  2. 一覧より該当のホスト名を選択します。
  3. 「Metrics」タブを選択します。
  4. 各メトリクスが表示されていることを確認します。
    metrics

ログの確認

  1. Datadog コンソールメニューの「Logs」より「Explorer」を選択します。
  2. ログメッセージが表示されていることを確認します。
    Log-Explorer-Datadog-06-03-2025_11_38_AM

まとめ

Datadog AP1(東京)サイトへのデータ転送には東京リージョンの AWS PrivateLink エンドポイントを利用することができます。
インターネットを経由しないため、セキュリティが向上するとともに、データ転送料金も抑えられます。
設定手順もシンプルなので Datadog AP1(東京)サイトを利用している方にはおすすめです。

本記事が参考になれば幸いです。

参考

https://docs.datadoghq.com/agent/guide/private-link/?tab=crossregionprivatelinkendpoints#connect-from-the-same-region
https://docs.datadoghq.com/ja/agent/logs/log_transport/?tab=https#agent-のデフォルトの動作

脚注
  1. https://aws.amazon.com/jp/privatelink/pricing/
    https://aws.amazon.com/jp/ec2/pricing/on-demand/#Data_Transfer ↩︎

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.