# Production / Development 프로젝트 분리하기

Amplitude 한 조직 안에 Production·Development 프로젝트를 분리해서 운영하는 이유와 절차. 같은 조직 내 MTU는 중복 제거되어 카운트되므로 비용 부담은 거의 없고, dev 이벤트가 prod 리포트를 오염시키는 일을 막을 수 있습니다.

- 카테고리: Amplitude 기본 환경 설정
- 소요 시간: 약 4분
- 난이도: 쉬움
- 업데이트: 2026.06.01
- 원문: /wiki/playbook/amplitude-setup-checklist/how-to-separate-amplitude-projects

## 목차

- [이 문서의 목적](#purpose)
- [왜 프로젝트를 분리하나](#why)
- [요금(MTU) 부담은?](#cost)
- [1단계 · 프로젝트 페이지 진입](#step-1)
- [2단계 · 새 프로젝트 만들기](#step-2)
- [3단계 · 프로젝트 전환](#step-3)
- [4단계 · API 키 분리 확인](#step-4)
- [자주 묻는 질문](#faq)

본 가이드는 Amplitude 조직(Organization)에서 **Production / Development 프로젝트를 분리**해 운영하는 이유와 절차를 안내합니다. 한 조직 안에 환경별 프로젝트를 2~3개 두는 것이 표준이며, Amplitude의 새 프로젝트 만들기 모달 자체가 **“계측을 테스트하기 위해 먼저 테스트 프로젝트나 개발 환경을 만드는 것을 권장합니다”**라고 공식적으로 안내하고 있습니다.

> **이 문서 핵심**
>
> - **대상.** 본인 명의 Amplitude 조직의 Admin (가입한 본인 또는 관리자 권한 보유자).
>
> - **완료 후.** 한 조직 안에 `default`(prod 용도)와 `Development` 두 프로젝트가 분리되어, 개발자가 dev에서 이벤트를 테스트해도 prod 리포트가 오염되지 않습니다.
>
> - **준비물.** Amplitude 로그인 계정. [조직이 아직 없으시면 먼저 가입](/wiki/playbook/account-creation-checklist/how-to-create-amplitude-organization)해 주세요.

## 왜 프로젝트를 분리하나

한 회사 = 한 조직이 기본이지만, **그 안의 프로젝트는 환경(production / development / staging) 별로 분리**하는 것이 표준입니다. 한 프로젝트만 쓰면 다음 네 가지 문제가 생깁니다.

| 분리 안 했을 때의 문제 | 분리한 뒤 달라지는 점 |
| --- | --- |
| 데이터 오염 | 개발자가 dev 환경에서 `purchase`를 임의로 발생시키면 그 이벤트가 그대로 prod 리포트에 섞입니다. dev 프로젝트로 보내면 prod는 깨끗하게 유지됩니다. |
| Cohort/Audience 오염 | Amplitude의 Cohort는 이벤트 기반으로 빌드되어 광고 매체(Google Ads·Meta Ads)에 sync됩니다. dev 이벤트가 섞이면 잠재고객 명단이 오염됩니다. |
| Taxonomy 실험 불가 | 이벤트 이름·속성 표기법을 정리하거나 새 이벤트를 시험할 때 prod에서 바로 하면 위험합니다. dev 프로젝트에서 먼저 검증한 뒤 prod에 반영하는 것이 안전합니다. |
| API 키 관리 부담 | 코드에서 `if (env === 'production') key = PROD_KEY` 식으로 환경별로 다른 API 키를 자동 분기할 수 있어, 사고로 dev가 prod로 데이터를 보내는 일이 막힙니다. |

## 요금(MTU) 부담은?

Amplitude 요금제는 **MTU(Monthly Tracked Users)** 기준 과금입니다. 여기서 핵심은, **같은 조직 안 여러 프로젝트의 MTU는 조직 수준에서 중복 제거(deduplication)되어 카운트**된다는 점입니다.

- 같은 사용자가 prod·dev 두 프로젝트에 모두 이벤트를 보내도 **1 MTU**만 차감됩니다.
- 즉 dev 프로젝트를 추가해도 비용은 거의 늘지 않습니다. (dev에서만 활동하는 내부 QA 직원 정도만 추가 카운트)

> **팁**
>
> **주의 — 환경 분리는 “새 프로젝트”이지 “새 조직”이 아닙니다.** MTU 중복 제거는 같은 조직 안에서만 적용됩니다. 환경별로 별도 조직을 만들면 각각 카운트되어 비용이 2~3배 됩니다. 항상 *같은 조직 안의 새 프로젝트*로 분리해 주세요.

## 1단계. 설정 → 작업 공간 → 프로젝트 진입

Amplitude에 로그인된 상태에서 좌측 상단 프로젝트 셀렉터를 확인합니다. 가입 직후라면 `default`라는 첫 프로젝트만 있는 상태입니다.

![Amplitude 대시보드 좌측 상단의 Default project 셀렉터. 좌측 사이드바에 홈·모든 콘텐츠·라이브 이벤트·채팅 등 메뉴.](/wiki-assets/playbook/how-to-separate-amplitude-projects/01-default-project-selector.png)

> **화면 1.** 가입 직후엔 좌측 상단에 `Default project` 한 개만 있습니다.

우측 상단 톱니바퀴(설정) 아이콘 → 좌측 사이드바 **작업 공간 → 프로젝트**로 이동합니다. 현재 조직의 프로젝트 목록이 보이고 `default`가 첫 번째 행으로 표시됩니다.

![설정의 프로젝트 페이지. 좌측 사이드바 '작업 공간 → 프로젝트' 활성. 우측에 Projects 타이틀, 세부 사항·볼륨 탭, 우측 상단에 웨어하우스 네이티브 프로젝트 만들기·새 포트폴리오 보기 만들기·프로젝트 만들기 버튼. 목록에 default 프로젝트 한 줄과 Amplitude 데모.](/wiki-assets/playbook/how-to-separate-amplitude-projects/02-projects-page.png)

> **화면 2.** 우측 상단의 파란 **프로젝트 만들기** 버튼을 클릭합니다.

> **팁**
>
> **‘웨어하우스 네이티브 프로젝트 만들기’ 버튼과 구분 주의.** 옆에 있는 두 버튼은 Snowflake 같은 데이터 웨어하우스에 직접 연결하는 특수 프로젝트(웨어하우스 네이티브)와 여러 프로젝트를 묶어 보는 포트폴리오 보기용입니다. 일반적인 환경 분리에는 가장 우측 파란 프로젝트 만들기 만 사용하시면 됩니다.

## 2단계. 새 프로젝트 만들기 — 이름 ‘Development’

**“새 프로젝트를 생성하십시오”** 모달이 뜹니다. Amplitude가 직접 친 안내를 그대로 소개합니다.

![새 프로젝트를 생성하십시오 모달. 안내문구 '각 프로젝트는 고유한 API 키를 받으며…', 프로젝트 이름 입력 필드, 전문가 팁 '계측을 테스트하기 위해 먼저 테스트 프로젝트나 개발 환경을 만드는 것을 권장합니다. 데이터가 기록되면 수정하거나 삭제할 수 없습니다.', 설명 입력 필드, 우측 하단 취소·제출하십시오 버튼.](/wiki-assets/playbook/how-to-separate-amplitude-projects/03-create-project-modal.png)

> **화면 3.** 모달 안내문이 그대로 핵심 — 각 프로젝트는 **고유한 API 키**를 받고, Amplitude도 **“개발 환경을 먼저 만들 것”**을 공식 권장합니다.

**프로젝트 이름**에 `Development`를 입력하고(또는 `dev`, `staging` 등 환경명) **설명**은 비워 두셔도 됩니다. 모달 우측 하단의 파란 제출하십시오 버튼을 누르면 생성됩니다.

![프로젝트 이름에 Development가 입력된 상태. 입력 후 우측 하단 제출하십시오 버튼이 파랗게 활성화됨.](/wiki-assets/playbook/how-to-separate-amplitude-projects/04-create-project-filled.png)

> **화면 3-1.** 이름 입력 후 **제출하십시오** 버튼이 활성화됩니다.

> **완료**
>
> **생성 완료 후.** 자동으로 새 프로젝트의 “소스 연결” 화면으로 이동합니다. 다음 단계로 가기 전에 다시 **설정 → 프로젝트**로 돌아가 목록을 확인합니다.

![프로젝트 목록. default (초록색 D)와 Development (보라색 D) 두 프로젝트가 나란히 표시되고 그 아래 Amplitude 데모.](/wiki-assets/playbook/how-to-separate-amplitude-projects/05-projects-list-after.png)

> **화면 3-2.** 프로젝트 목록에 `default`와 `Development`가 함께 보이면 분리 완료.

## 3단계. 좌측 상단 셀렉터로 프로젝트 전환

좌측 상단 프로젝트 셀렉터(가입 직후 `Default project`로 표시되던 자리)를 클릭하면 드롭다운이 펼쳐지고 두 프로젝트가 모두 보입니다. 클릭으로 즉시 전환할 수 있습니다.

![좌측 상단 프로젝트 셀렉터 드롭다운이 열린 상태. 검색바 아래에 default(프로젝트 ID 823243)와 Development(프로젝트 ID 824298) 두 항목이 표시됨. 우측에는 hover된 default 프로젝트의 상세 정보 미리보기.](/wiki-assets/playbook/how-to-separate-amplitude-projects/06-project-selector.png)

> **화면 4.** 셀렉터로 두 프로젝트를 즉시 전환 — 각 프로젝트마다 **고유 ID**(823243 / 824298)가 있는 것을 확인할 수 있습니다.

> **팁**
>
> **실무 운영 팁.** 차트·대시보드·코호트 등 분석 자산은 *프로젝트 단위로 분리*되어 있어 다른 프로젝트에서는 보이지 않습니다. **실제 KPI 분석은 prod 프로젝트(default)에서, 신규 이벤트 시험은 dev 프로젝트에서** 하는 워크플로가 표준입니다.

## 4단계. API 키가 분리됐는지 확인

마지막으로 각 프로젝트가 정말 별도의 API 키를 받는지 확인합니다. 설정 → 프로젝트에서 각 프로젝트 행을 클릭하면 상세 정보 페이지로 진입합니다.

![default 프로젝트 상세 페이지. 프로젝트 ID 823243, URL 스킴(모바일) amp-725515ad1203e3cc, API 키와 비밀 키의 '관리' 링크, 세션 정의 정보, 우측에 이벤트 볼륨 패널.](/wiki-assets/playbook/how-to-separate-amplitude-projects/07-default-project-detail.png)

> **화면 5.** `default` 프로젝트 — ID `823243`, URL 스킴 `amp-725515ad1203e3cc`.

![Development 프로젝트 상세 페이지. 프로젝트 ID 824298, URL 스킴(모바일) amp-3c7227538892d7ec, API 키와 비밀 키의 '관리' 링크, 세션 정의 정보.](/wiki-assets/playbook/how-to-separate-amplitude-projects/08-development-project-detail.png)

> **화면 5-1.** `Development` 프로젝트 — ID `824298`, URL 스킴 `amp-3c7227538892d7ec`. ID·URL·API 키 모두 별도입니다.

개발자에게는 **두 프로젝트의 API 키를 모두 공유**한 뒤, 코드에서 환경에 따라 자동 분기하도록 요청하시면 됩니다.

> **완료**
>
> **여기까지 오셨다면 끝입니다.** 이제 SDK 설치·이벤트 택소노미·차트 만들기 등 다음 환경 설정 단계로 넘어가실 수 있습니다. 추가 환경 설정은 본 시리즈의 다른 글을 참고해 주세요.

## 자주 묻는 질문

### 기존 default 프로젝트를 dev로 쓰고 새 prod 프로젝트를 만들면 어떤가요?

가능하지만 **비추**입니다. `default`는 가입 직후 자동 생성되는 프로젝트라 광고주 본인·SDK 코드·기존 차트가 모두 그 ID에 연결되어 있을 수 있습니다. 새로 만든 프로젝트를 dev로 추가하시고, default를 prod로 그대로 두는 편이 안전합니다.

### staging 환경도 분리해야 하나요?

서비스 규모에 따라 다릅니다. QA·내부 테스트가 별도 트래픽 패턴을 만든다면 `Staging` 프로젝트를 추가로 하나 더 두시는 것이 안전합니다. 작은 팀이면 `Development` 하나로 통합해도 충분합니다. MTU 중복 제거가 되므로 비용 부담은 여전히 거의 없습니다.

### 기존에 default에 쌓인 dev 이벤트는 prod 리포트에서 어떻게 빼나요?

**한 번 적재된 이벤트는 수정·삭제가 불가**합니다(모달 안내문에도 명시되어 있습니다). 과거 데이터는 그대로 두고, 분리 시점 이후 데이터부터 깨끗하게 분리해 운영하시는 것이 표준 접근입니다. 분석 시에는 분리 시점 이후 기간으로 필터링해 보세요.

### 프로젝트마다 멤버 권한을 따로 줄 수 있나요?

네. **설정 → 권한 → 회원**에서 멤버별로 *프로젝트별 접근 권한*을 부여할 수 있습니다. 예: 개발자에게는 dev 프로젝트 Admin + prod 프로젝트 Viewer, 마케터에게는 prod 프로젝트 Admin만 — 식으로 분리하시면 좋습니다.

### ‘웨어하우스 네이티브 프로젝트’는 뭔가요?

Snowflake 같은 데이터 웨어하우스에 이미 쌓인 이벤트 데이터를 **Amplitude로 다시 적재하지 않고** 직접 연결해 분석하는 특수 프로젝트 유형입니다. 일반적인 SDK 기반 운영에서는 사용하지 않으셔도 됩니다.

## Navigation

- [전체 플레이북 Markdown sitemap](/wiki/playbook/sitemap.md)

### Amplitude 기본 환경 설정

- [Amplitude 기본 환경 설정](/wiki/playbook/amplitude-setup-checklist)
- [Amplitude 프로젝트 분리하기](/wiki/playbook/amplitude-setup-checklist/how-to-separate-amplitude-projects) (현재 문서)
- [Amplitude 프로젝트 타임존 설정](/wiki/playbook/amplitude-setup-checklist/how-to-set-amplitude-project-timezone)
- [Amplitude 프로젝트 세션 정의 설정](/wiki/playbook/amplitude-setup-checklist/how-to-configure-amplitude-session-definition)
