부록 OpenAI 및 Azure OpenAI LLM 접근 방법 정리
다시 보는 AI Agents in Action개요
이 노트는 OpenAI와 Azure OpenAI에서 대형 언어 모델(LLM)에 접근하기 위한 기본 절차를 정리한 개요 문서입니다. 계정 생성부터 결제 수단 등록, API 키 발급과 보관, 환경 변수 설정, Azure OpenAI 리소스와 배포(Deployment) 설정까지 한 번에 이해할 수 있도록 구성했습니다.

실제 프로젝트에서 OpenAI와 Azure OpenAI를 번갈아 쓰는 경우가 많기 때문에, 두 서비스에서 공통적으로 중요한 개념(키, 엔드포인트, 모델/배포 이름)과 차이점을 함께 비교해 정리합니다. 처음 LLM을 사용하는 사람도 "어디에 무엇을 입력해야 하는지"를 감각적으로 이해하는 것을 목표로 합니다.
1. OpenAI 계정 생성 및 결제 수단 등록 절차
OpenAI의 GPT-4 등 LLM을 사용하려면 먼저 OpenAI 계정을 만들어야 합니다. OpenAI 홈페이지에 접속해 회원가입을 진행하고, 이메일 인증 또는 소셜 로그인을 통해 계정을 활성화합니다. 계정을 처음 만드는 경우 일정량의 무료 크레딧이 제공될 수 있지만, 이미 계정이 있거나 무료 크레딧이 소진된 상태라면 유료 결제가 필요합니다.
유료로 계속 사용하기 위해서는 결제 수단(신용카드 등)을 등록해야 합니다. 보통은 사용량 기반으로 자동 결제되지만, 일정 금액의 크레딧을 미리 구매해 두고 사용하는 방식도 있습니다. 크레딧을 미리 사두면 예산을 관리하기 쉽고, 예상치 못한 과금 폭주를 어느 정도 방지할 수 있습니다. 실습 위주의 학습이라면 수십 달러 수준의 크레딧으로 상당히 많은 실험을 진행할 수 있습니다.
2. OpenAI 플랫폼에서 API 키 생성 및 보관 방법
계정과 결제가 준비되면, 이제 프로그램에서 사용할 수 있는 API 키를 발급해야 합니다. OpenAI 계정으로 로그인한 뒤, 플랫폼 화면에서 ChatGPT 영역과 API 영역 중 API를 선택해 개발자용 콘솔로 이동합니다. 왼쪽 메뉴에서 "API Keys" 섹션을 선택하면 API 키를 관리하는 화면을 볼 수 있습니다.
API 키를 새로 만들 때는 "Create" 버튼을 눌러 키의 이름(프로젝트명, 용도 등)을 입력하고 "Create secret key"를 클릭합니다. 생성이 완료되면 비밀 키가 한 번 표시되는데, 이때 반드시 복사해서 안전한 곳에 저장해야 합니다. 화면을 닫고 나면 동일한 키 값을 다시 확인할 수 없으므로, 키를 잃어버리면 새 키를 발급받아야 합니다.
API 키는 계정의 유료 사용 권한과 직접 연결된 민감 정보입니다. 깃허브 등 공개 저장소에 올라가면 임의의 사람이 내 요금으로 API를 호출할 수 있으므로, 코드에 직접 하드코딩하지 말고 비공개 설정 파일(.env 등)이나 안전한 비밀 관리 시스템에만 저장해야 합니다. 또한, 실수로 유출된 것이 의심되면 즉시 해당 키를 폐기(revoke)하고 새 키를 발급하는 것이 좋습니다.
3. .env 등에서 OpenAI API 키를 사용하는 기본 방식
실제 코드에서 OpenAI API를 호출할 때는 API 키를 직접 문자열로 적기보다 환경 변수(environment variable)를 활용하는 것이 일반적입니다. 가장 흔한 방식이 .env 파일에 키를 적어 두고, 실행 시점에 이를 읽어 환경 변수로 올리는 방법입니다.
예를 들어 .env 파일에 다음과 같이 적습니다.
OPENAI_API_KEY=sk-여기에_실제_키_값애플리케이션에서는 언어나 프레임워크에 맞는 방법으로 환경 변수를 읽어 사용합니다. 예를 들어 Node.js에서는 process.env.OPENAI_API_KEY, Python에서는 os.environ["OPENAI_API_KEY"] 형태로 접근합니다. 이렇게 하면 코드 저장소에는 비밀 값이 직접 포함되지 않고, 운영 환경별로 다른 키를 주입하는 것도 쉬워집니다.
또한 .env 파일 자체는 .gitignore에 추가해서 깃 저장소에 올라가지 않도록 하는 것이 일반적인 보안 습관입니다. 팀 개발이라면, 키를 개별 개발자 계정마다 발급받아 쓰거나, 공용 키를 별도의 비밀 관리 서비스(예: Vault, 클라우드 제공 비밀 관리 기능 등)로 관리하는 방식을 함께 고려할 수 있습니다.
4. Azure OpenAI Studio 리소스 생성 및 지역 선택 시 유의사항
마이크로소프트 Azure에서는 "Azure OpenAI"라는 이름으로 OpenAI 모델을 제공합니다. 사용자는 Azure 포털에 로그인한 뒤, 구독(subscription) 내에서 새로운 "Azure OpenAI" 리소스를 생성해야 합니다. 이 리소스를 통해 Azure OpenAI Studio에 접속하고 모델을 관리합니다.
리소스를 생성할 때 가장 중요한 설정 중 하나가 지역(region) 선택입니다. 모든 지역이 동일한 모델을 제공하는 것은 아니며, 특정 최신 모델이나 GPT-4 계열이 일부 지역에서만 제공되는 경우도 있습니다. 따라서 리소스를 만들기 전에, 사용하고자 하는 모델이 어떤 지역에서 사용 가능한지 Azure 문서나 포털의 안내를 통해 확인하는 것이 좋습니다.
또한, 실제 서비스 사용자는 지연 시간(latency)도 고려해야 합니다. 사용자나 애플리케이션 서버가 위치한 지역과 지나치게 먼 리전을 선택하면 응답 시간이 느려질 수 있습니다. 대체로 "가장 가까운 지역 중, 필요한 모델이 제공되는 곳"을 선택하는 것이 합리적인 기준입니다. 기업 환경에서는 내부 규정에 따른 데이터 주권(region별 데이터 보관 정책)도 함께 고려해야 합니다.
5. Azure OpenAI에서 모델 배포(Deployment) 생성 과정
Azure OpenAI에서는 모델을 바로 호출하는 것이 아니라, 먼저 "배포(Deployment)"라는 단계를 거칩니다. 배포는 특정 모델(GPT-4, GPT-3.5 등)을 특정 설정으로 감싼 "사용 가능한 엔드포인트"라고 이해하면 됩니다. 하나의 모델을 여러 가지 설정이나 이름으로 여러 번 배포할 수도 있습니다.
Azure OpenAI Studio에 접속한 뒤, 모델(예: GPT-4)을 선택하고 "Create new deployment" 버튼을 클릭하면 새 배포를 만들 수 있는 화면이 열립니다. 여기서 모델 종류, 버전, 배포 이름(사용자가 정하는 식별자), 처리량 관련 옵션 등을 설정합니다. 설정을 마치고 생성하면, 해당 배포가 곧 API 호출 시 사용할 "대상 모델 이름"이 됩니다.
이 과정이 OpenAI 직접 사용과 달리 Azure OpenAI의 가장 큰 차이점 중 하나입니다. OpenAI에서는 보통 gpt-4.1처럼 "모델 이름"을 그대로 사용하지만, Azure에서는 같은 모델이라도 내가 붙인 "배포 이름"으로 호출해야 합니다. 따라서 개발 문서, 코드, 환경 변수 등에 이 배포 이름을 일관되게 기록해 두는 것이 중요합니다.
6. Azure OpenAI 사용 시 필요한 핵심 설정 값
Azure OpenAI를 사용할 때는 세 가지 값을 반드시 이해하고 정확히 설정해야 합니다. 이 세 가지를 헷갈리면 "인증 오류" 또는 "모델을 찾을 수 없음" 같은 문제가 자주 발생합니다.
6.1 API 키 (Key)
API 키는 해당 Azure OpenAI 리소스에 접근할 수 있는 비밀 토큰입니다. Azure 포털에서 해당 OpenAI 리소스로 이동한 후, "Keys and Endpoint" 또는 비슷한 메뉴에서 조회할 수 있습니다. 일반적으로 두 개의 키(키 1, 키 2)가 제공되는데, 하나를 교체하는 동안 다른 하나로 서비스를 계속 유지할 수 있도록 하기 위한 구조입니다.
이 키 역시 절대 코드에 직접 하드코딩해서는 안 되며, OpenAI 키와 마찬가지로 환경 변수나 비밀 관리 시스템에 보관해야 합니다. 키가 노출되면 해당 Azure 구독에 비용이 발생할 수 있으므로 주의해야 합니다.
6.2 엔드포인트 / 기본 URL (Endpoint / Base URL)
엔드포인트는 Azure OpenAI 리소스가 위치한 URL입니다. 예를 들어 https://<리소스이름>.openai.azure.com/ 형식을 많이 사용합니다. 이 URL은 모든 API 호출의 기본 주소(base URL)로 사용되며, 여기에 /openai/deployments/... 같은 경로가 붙어 실제 호출 URL이 됩니다.
코드에서 클라이언트 라이브러리를 초기화할 때, OpenAI에서는 별도의 기본 URL 없이 "공식 OpenAI 엔드포인트"를 사용하지만, Azure를 사용할 때는 이 엔드포인트를 직접 지정해 주어야 합니다. 여러 리소스를 사용하는 경우 리소스별로 엔드포인트가 다를 수 있으므로, 각 리소스의 엔드포인트를 환경 변수로 구분해 두는 것이 좋습니다.
6.3 모델 이름 vs 배포 이름 (Model name vs Deployment name)
가장 헷갈리기 쉬운 부분이 바로 "모델 이름"과 "배포 이름"의 차이입니다.
모델 이름(Model name) GPT-4, gpt-4.1 등의 OpenAI 측에서 정의한 실제 모델의 공식 이름입니다. 어떤 기능과 성능을 가진 모델인지 구분할 때 사용합니다.
배포 이름(Deployment name) Azure OpenAI 리소스 안에서 사용자가 직접 붙인 이름입니다. 예를 들어 같은 GPT-4 모델을
gpt4-prod,gpt4-dev처럼 목적에 따라 서로 다른 배포 이름으로 나누어 둘 수 있습니다. Azure API를 호출할 때는 이 배포 이름을 사용해야 하는 경우가 많습니다.
실제 코드에서 Azure OpenAI용 클라이언트를 사용할 때는 보통 다음 3가지가 함께 필요합니다.
API 키: 인증 정보
엔드포인트: 어느 Azure OpenAI 리소스를 호출할지
배포 이름: 그 리소스 안의 어떤 모델 배포를 사용할지
이들 값을 잘못 섞어 쓰면 "Unauthorized(권한 없음)", "Not found(배포를 찾을 수 없음)" 같은 오류가 발생합니다. 따라서 OpenAI용 설정과 Azure OpenAI용 설정을 각각 분리해서 .env에 정리하는 것이 실제 프로젝트에서 오류를 줄이는 데 큰 도움이 됩니다.
이 노트는 OpenAI와 Azure OpenAI를 실무에서 처음 접할 때 자주 헷갈리는 부분(계정·결제, 키 발급, 환경 변수, Azure 리소스·배포·엔드포인트·배포 이름)을 한 번에 개념적으로 정리하는 것을 목표로 했습니다. 실제 코드 예제나 SDK 설정은 사용하는 언어/프레임워크에 따라 달라지므로, 여기서 정리한 개념을 토대로 각 공식 문서의 "예제 코드"를 읽으면 전체 흐름이 훨씬 명확하게 보일 것입니다.

