For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
도메인 프록시를 사용하여 이벤트를 중계하십시오
도메인 프록시는 Amplitude 이벤트를 Amplitude로 전달하기 전에 your.domain.com/amplitude와 같은 자체 도메인을 통해 중계하는 자체 소유 서비스입니다. 이러한 방식으로 이벤트를 라우팅하면 이벤트가 Amplitude에 도달하기 전에 필터링, 익명화 또는 차단하는 기능을 포함하여 수집하는 데이터를 제어할 수 있습니다.
이 가이드는 Amplitude의 HTTP V2 API(api2.amplitude.com)에 대한 프록시 구축에 중점을 둡니다. 이 구성은 프록시 서비스에서 Amplitude로 직접 이벤트를 전송합니다.
프록시 서버를 선택하고 배포하기 전에 개발자 운영 팀 및 정보 보안 팀과 상의하십시오.
도메인 프록시의 작동 방식
프록시 서비스는 클라이언트와 다른 서비스 간에 요청을 중계하며 중간 단계 역할을 합니다. Amplitude 조직을 위한 프록시 서비스를 구축하면 자체 도메인을 통해 Amplitude API에 대한 프록시 요청을 처리할 수 있습니다. 예를 들어 클라이언트 브라우저에서 요청을 직접 api2.amplitude.com가 아닌 your.domain.com/amplitude에 전송할 수 있습니다. 프록시 서비스는 요청을 Amplitude 플랫폼으로 중계합니다.
프록시 서비스를 기존 API 엔드포인트에 통합하거나 독립형 서비스로 빌드할 수 있습니다. 많은 클라우드 공급업체는 유연하고 안정적인 프록시 서비스 구성을 위한 도구를 보유하고 있습니다.
자체 소유의 프록시 서비스를 통해 데이터를 전송하면 수집하여 Amplitude에 전송하는 데이터를 보다 효과적으로 제어할 수 있습니다. 프록시 서비스는 다음과 같은 이점을 제공합니다.
- 이벤트 흐름을 Amplitude로 토글할 수 있는 기능.
- 자체 소유의 데이터 감사 로깅.
- 이벤트를 더욱 간편하게 디버깅, 필터링 및 차단할 수 있습니다.
- 최종 사용자의 익명화. 예를 들어 원본 IP 주소, 위치, 사용자 ID 등을 삭제합니다.
프록시 서비스 및 JavaScript 스니펫
Amplitude JavaScript 스니펫의 로딩을 지원하는 프록시를 빌드할 수 있지만, Amplitude는 npm distribution을 사용하여 Amplitude를 프로덕션 빌드에 번들로 포함할 것을 권장합니다.
주요 클라우드 공급업체에서 사용 가능한 서비스
대부분의 주요 클라우드 공급업체는 확장 가능한 API를 개발하고 배포하기 위한 서비스를 제공합니다. 또한 API 서비스를 사용하여 Amplitude로의 아웃바운드 트래픽을 설정할 수도 있습니다. 클라우드 공급업체를 사용하여 API 서비스를 배포하는 경우 해당 공급업체의 설명서를 참조하여 프록시 서비스를 설정하십시오.
프록시 솔루션 구축
이 가이드의 예제에서는 프록시 서버를 구축하기 위해 NGINX를 사용합니다. NGINX는 오픈소스 프록시 솔루션입니다. 이미 Node API 서버를 보유하고 있다면, Node SDK를 사용하여 자체 엔드포인트의 이벤트를 메인 Amplitude 이벤트 서버로 전달하는 것을 고려해 볼 수 있습니다.
NGINX 서버 설정하기
먼저, 로컬 개발을 위해 NGINX를 설치합니다. 그런 다음 NGINX를 구성하여 특정 URL에 대한 요청을 Amplitude에 프록시합니다. 이 예제 nginx.conf 파일은 /amplitude 라우트에서 api2.amplitude.com로 요청을 프록시합니다:
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
location /amplitude {
proxy_pass https://api2.amplitude.com/;
}
}
}
검증 및 배포
구성 파일을 생성한 후 프록시를 시작하고 테스트하십시오. Amplitude HTTP API를 사용하여 요청을 Amplitude의 엔드포인트가 아닌 귀하의 엔드포인트로 전송하십시오.
HTTP API는 SDK와 약간 다른 엔드포인트를 사용하므로 테스트를 위해 proxy_pass를 https://api2.amplitude.com/2/httpapi/(으)로 일시적으로 설정해야 합니다.
이 curl 명령어는 리버스 프록시를 테스트합니다:
curl -X POST http://localhost:8888/amplitude -H "Content-Type: application/json" --data '{"api_key":"API_Key","events":[{"user_id":"12345", "event_type":"test_proxy_event", "time":1396381378123}]}
이 호출은 200 응답 코드를 반환해야 합니다. 웹 앱에서 Amplitude가 사용자 조회를 사용하여 이벤트를 수신했는지 확인합니다. 프록시가 로컬에서 작동하는지 확인한 후 구성을 운영 서버에 배포하십시오. 더 많은 도움말을 원하시면 NGINX 배포 가이드를 참조하십시오.
대체 엔드포인트를 사용하도록 SDK를 구성하십시오
프록시가 제대로 작동한 후에는 SDK를 구성하십시오. Amplitude의 SDK는 오픈소스이며 정의된 서버 엔드포인트로 이벤트를 전송할 수 있는 옵션이 내장되어 있습니다.
SDK는 사용자 지정 페이로드에 대한 특수 엔드포인트를 가리킵니다. 다음 표에서 SDK의 엔드포인트를 찾으십시오.
| SDK | 엔드포인트 | 서버 URL 설정 |
|---|---|---|
| Amplitude-JavaScript | https://api.amplitude.com | SDK를 초기화할 때 apiEndpoint 옵션을 설정합니다. |
| Amplitude-Node | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 serverUrl 옵션을 설정합니다. |
| Amplitude-Android | https://api2.amplitude.com/ | setServerUrl 기능을 사용하여 서버 URL을 구성합니다. |
| Amplitude-Java | https://api2.amplitude.com/2/httpapi | 이 setServerUrl 기능을 사용하여 서버 URL을 구성합니다. |
| Amplitude-iOS | https://api2.amplitude.com/ | 이 setServerUrl 기능을 사용하여 서버 URL을 구성합니다. |
| Amplitude-TypeScript | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 이 serverUrl 옵션을 설정합니다. |
| Amplitude-Kotlin | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 이 serverUrl 옵션을 설정합니다. |
| Amplitude-Swift | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 이 serverUrl 옵션을 설정합니다. |
| Amplitude-Python | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 이 server_url 옵션을 설정합니다. |
| Amplitude-Go | https://api2.amplitude.com/2/httpapi | SDK를 초기화할 때 이 serverUrl 옵션을 설정합니다. |
SDK를 구성한 후에는 프록시를 통해 이벤트를 전송할 수 있으며 Amplitude에 기록된 이벤트를 확인할 수 있습니다.
이 내용이 도움이 되었나요?