OpenAI API Key 환경변수 설정 방법: 바이브코딩 앱에서 안전하게 연결하기
OpenAI API Key는 코드에 넣지 말고 로컬 .env와 Render Environment Variables에 저장해야 하며, 키가 없어도 기본 앱은 죽지 않게 설계하는 것이 안전합니다.
OpenAI API Key 환경변수 설정 방법: 바이브코딩 앱에서 안전하게 연결하기
바이브코딩으로 만든 웹에 AI 생성 기능을 붙이려면 OpenAI API Key가 필요할 수 있습니다. 하지만 API Key를 코드에 직접 넣으면 GitHub에 노출될 수 있고, 한 번 노출된 키는 폐기해야 합니다.
이 글은 바이브코딩 웹 배포 가이드의 API Key 보조 문서입니다.
1. API Key는 코드에 쓰지 않습니다
나쁜 예:
const client = new OpenAI({
apiKey: "sk-..."
});
좋은 예:
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY
});
코드에는 변수 이름만 남기고 실제 값은 환경변수에 둡니다.
2. 로컬에서는 .env에 저장합니다
로컬 개발에서는 프로젝트 루트의 .env에 저장합니다.
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-5-mini
그리고 .env는 반드시 .gitignore에 들어가야 합니다.
확인 명령:
git status --short
.env가 나오면 안 됩니다.
3. PowerShell에서 숨김 입력으로 넣을 수 있습니다
터미널 기록에 키가 그대로 남는 것이 걱정된다면 숨김 입력을 사용할 수 있습니다.
$secret = Read-Host "OPENAI_API_KEY 입력" -AsSecureString
$plain = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret)
)
Add-Content -Path ".env" -Value "OPENAI_API_KEY=$plain"
Remove-Variable plain
Remove-Variable secret
DATABASE_URL도 같은 방식으로 다룰 수 있습니다. DB 연결 쪽은 Supabase DATABASE_URL 연결 오류 해결을 참고하면 됩니다.
4. Render에서는 Environment Variables에 넣습니다
운영 배포에서는 Render Dashboard의 Environment Variables에 넣습니다.
OPENAI_API_KEY=********
OPENAI_MODEL=gpt-5-mini
AI_PROVIDER=openai
저장 후에는 반드시 재배포해야 새 환경변수가 런타임에 반영됩니다.
5. API Key가 없어도 기본 앱은 살아 있어야 합니다
OpenAI API Key는 선택 Provider로 두는 것이 좋습니다. 키가 없으면 AI 생성 기능만 비활성화하고, 공개 페이지와 DB 기능은 계속 작동해야 합니다.
좋은 운영 방식:
if (!process.env.OPENAI_API_KEY) {
return {
enabled: false,
reason: "not_configured"
};
}
나쁜 방식:
const key = process.env.OPENAI_API_KEY!;
이렇게 단정하면 환경변수가 없는 순간 앱 전체가 죽을 수 있습니다.
6. 키 노출이 의심되면 즉시 폐기합니다
아래 상황이면 새 키를 만드는 것이 안전합니다.
- 스크린샷에 키가 보였다
- GitHub에
.env가 올라갔다 - 채팅/문서에 전체 키를 붙여넣었다
- Render 로그에 키가 출력됐다
노출된 키는 수정해서 쓰는 것이 아니라 폐기하고 새로 발급하는 것이 원칙입니다.
7. 배포 후 AI 기능만 따로 테스트합니다
기본 페이지가 뜬다고 AI 기능까지 정상이라는 뜻은 아닙니다. 관리자 화면이나 API route에서 AI 생성 기능을 따로 테스트해야 합니다.
확인 순서:
Render 환경변수 저장
↓
재배포
↓
DB health 확인
↓
관리자 AI 생성 기능 실행
↓
Provider error가 민감정보 없이 기록되는지 확인
Render 배포 자체가 실패한다면 바이브코딩 Render 배포 오류 해결법을 먼저 확인하세요.
최종 체크리스트
- API Key 코드 하드코딩 없음
- 로컬
.env는 Git에 올라가지 않음 - Render Environment Variables에 저장
- 저장 후 재배포
- 키가 없어도 기본 앱은 실행
- 에러 메시지에 키 노출 없음
- 노출 의심 시 즉시 폐기
이 과정을 완료하면 바이브코딩 웹 배포 전체 과정에서 DB, 도메인, Search Console 색인까지 이어서 운영 검증을 마무리할 수 있습니다.