2026년 11월 2일 월요일

2026년11월3일 주요테마와 특징주 (항공, 오세훈)

주식투자 이슈와 추천주

국내 주식시장에서 시장의 움직임을 만든 주요 테마와 특징주 뉴스를 정리합니다.
주요 이슈와 관련 종목의 움직임을 뉴스 중심으로 살펴봅니다.


상승한 중요 테마

호반 vs 조원태 회장, 한진칼 지분 매입 경쟁 본격화하나

호반그룹이 한진칼 지분을 추가 매수한 가운데 조원태 한진그룹 회장이 지분 

확대를 예고하면서 향후 한진칼 지분 매입 경쟁이 본격화될지 주목된다.

한진그룹은 우호 지분을 포함하면 경영권에는 전혀 문제가 없다는 입장이지만, 

통합 대한항공 출범 이후 산업은행 보유 지분의 향방 등을 감안하면 마냥 안심할 

수만은 없는 상황이다.

https://www.yna.co.kr/view/AKR20261102173500003

이 소식에 항공 관련 테마가 상승했다.

항공 테마주 링크

차기 대권 오세훈 18.4%·장동혁 13.6%·한동훈 12.6%

최근 정치자금법 위반 혐의 항소심에서 무죄를 선고받은 오세훈 서울시장이 차기 
대권 적합도에서 선두권을 기록했다는 여론조사 결과가 지난 2일 나왔다.
여론조사기관 비전코리아가 올리서치 의뢰로 지난달 31일부터 이달 1일까지 전국 
성인 남녀 1024명을 대상으로 여야 10인 중 '차기 대선후보 적합도'를 조사했다. 
그 결과 오세훈 서울시장은 직전 조사(10월 16~17일) 대비 6.7%p 상승한 18.4%를 
기록했다. 장동혁 국민의힘 대표는 4.6%p 오른 13.6%, 한동훈 무소속 의원은 6.1%p 
하락한 12.6%로 집계됐다.
이 소식에 오세훈 관련 테마가 상승했다.
오세훈 테마주 링크


차트 그래프와 주목할 관심종목

이슈 활용 방법

주식시장 이슈를 관심종목 선정에 어떻게 활용할 수 있는지 정리한 내용을 아래 링크에서 확인할 수 있습니다.

밑에 링크에 적어 놓았다.

오늘의 이슈 활용법

주요 종목 뉴스

거래대금 높은 종목

한진칼

경영권 분쟁
거래대금 4,152억

주식 공부방

주식 공부방 텔레그램에 초대합니다.

텔레그램 주식 공부방 참여하기

카카오톡 주식 공부방에도 참여할 수 있습니다.

Vercel 도메인 연결 방법 완벽 가이드


VIBE CODING · WEBSITE GUIDE

Vercel 도메인 연결 방법

무료 주소 변경부터 개인 도메인 연결, DNS 설정까지 초보자도 쉽게 따라 할 수 있는 실전 가이드입니다.

AI로 웹사이트를 만들고 Vercel에 배포했다면 이제 나만의 주소를 연결할 차례입니다.

처음 배포하면 vercel.app이라는 주소가 제공됩니다. 이 주소를 그대로 사용해도 되지만, 개인 도메인을 연결하면 더욱 전문적인 웹사이트를 운영할 수 있습니다.

이번 글에서는 무료 주소 변경 방법과 개인 도메인 연결 방법을 단계별로 알아보겠습니다.

Vercel 도메인 연결 방법 완벽 가이드


이 글의 목차

  1. 도메인과 DNS 이해하기
  2. Vercel 도메인 연결 방식
  3. 무료 주소 변경하기
  4. 개인 도메인 구매하기
  5. Vercel에 도메인 등록하기
  6. A 레코드와 CNAME 설정하기
  7. 연결 오류 해결하기

01. 도메인과 DNS 이해하기

도메인은 인터넷에서 내 웹사이트를 찾아올 수 있도록 만들어 주는 주소입니다.

예를 들어 다음과 같은 주소가 있습니다.

google.com

naver.com

mywebsite.com

웹사이트는 실제로 서버의 IP 주소를 통해 접속합니다. 하지만 숫자로 된 주소는 기억하기 어렵기 때문에 사람이 쉽게 기억할 수 있는 도메인을 사용합니다.

DNS란 무엇일까?

DNS는 도메인 이름을 실제 서버 주소와 연결해 주는 시스템입니다.

도메인 : 웹사이트 주소

DNS : 도메인과 서버를 연결하는 시스템

DNS 레코드 : 연결에 필요한 설정 정보

02. Vercel 도메인 연결 방식

Vercel에서는 기본 제공 주소를 사용하거나 별도로 구매한 개인 도메인을 연결할 수 있습니다.

방법 A. 무료 Vercel 주소

예시: myblog.vercel.app

별도의 도메인 구매 비용 없이 사용할 수 있습니다. 개인 프로젝트나 테스트용 웹사이트에 적합합니다.

방법 B. 개인 도메인

예시: mywebsite.com

직접 구매한 도메인을 연결하는 방법입니다. 브랜드나 사업용 웹사이트에 적합합니다.

추천

처음에는 무료 Vercel 주소를 사용하세요. 웹사이트가 완성된 뒤 개인 도메인을 연결해도 늦지 않습니다.

03. 무료 Vercel 주소 변경하기

무료 주소는 별도의 도메인을 구매하지 않고 사용할 수 있습니다.

변경 전

my-first-site.vercel.app

변경 후 예시

myblog.vercel.app

STEP 1. Vercel 로그인

Vercel 대시보드 바로가기

로그인한 뒤 주소를 변경할 프로젝트를 선택합니다.

STEP 2. 프로젝트 설정

프로젝트의 Settings 메뉴에서 Domains 항목으로 이동합니다.

STEP 3. 주소 변경

현재 등록된 기본 주소를 확인합니다. 변경 가능한 주소 설정에서 원하는 이름을 지정합니다.

STEP 4. 저장 및 확인

변경 사항을 저장한 다음 새 주소로 접속합니다.

주의: 이미 다른 사용자가 등록한 주소는 사용할 수 없습니다. 또한 Vercel의 프로젝트 이름과 배포 도메인은 서로 다른 설정일 수 있으므로 Domains 메뉴에서 실제 연결 상태를 확인하세요.

04. 개인 도메인 구매하기

나만의 도메인을 사용하려면 먼저 도메인 등록 업체에서 원하는 주소를 구매해야 합니다.

국내에서는 가비아 등의 서비스를 이용할 수 있습니다.

가비아 공식 홈페이지 바로가기

구매 전 확인할 사항

  • 도메인 이름이 짧고 기억하기 쉬운가?
  • 첫해 등록 비용은 얼마인가?
  • 다음 해 갱신 비용은 얼마인가?
  • 자동 연장 설정은 어떻게 되어 있는가?
  • 원하는 도메인을 사용할 수 있는가?

특히 첫해 할인 가격만 확인하지 마세요. 다음 해 갱신 비용까지 비교하는 것이 좋습니다.

05. 구매한 도메인을 Vercel에 등록하기

STEP 1. Domains 메뉴 열기

Vercel 대시보드에서 연결할 프로젝트를 선택합니다.

Settings → Domains 메뉴로 이동합니다.

STEP 2. 도메인 추가

Add Domain 또는 Add Existing 버튼을 클릭합니다.

구매한 도메인 주소를 입력합니다.

mywebsite.com

입력할 때 https://는 제외합니다.

STEP 3. DNS 설정값 확인

도메인을 추가하면 Vercel에서 DNS 설정에 필요한 정보를 안내합니다.

이 정보를 확인한 다음 도메인 등록 업체의 DNS 관리 페이지로 이동합니다.

06. A 레코드와 CNAME 설정하기

DNS 설정에서 가장 많이 사용하는 레코드는 A 레코드와 CNAME입니다.

① A 레코드

A 레코드는 도메인을 IPv4 주소와 연결합니다.

항목 설정 예시
타입A
호스트@
값Vercel 안내 IP 주소

② CNAME 레코드

CNAME은 www와 같은 하위 도메인을 다른 도메인 이름으로 연결합니다.

항목 설정 예시
타입CNAME
호스트www
값Vercel 안내 주소
중요한 설정 주의사항

위 표는 이해를 돕기 위한 일반적인 예시입니다. 실제 IP 주소와 CNAME 값은 프로젝트별 안내에 따라 입력해야 합니다.

기존 DNS 레코드와 충돌하지 않는지도 확인하세요.

DNS 설정을 저장한 다음 Vercel로 돌아옵니다.

정상적으로 연결되면 Valid Configuration 상태를 확인할 수 있습니다.

07. 도메인 연결 확인하기

DNS 설정을 마쳤다면 다음 항목을 확인합니다.

연결 확인 체크리스트

□ Vercel Domains 메뉴에서 상태 확인

□ Valid Configuration 표시 확인

□ 기본 도메인 접속 테스트

□ www 주소 접속 테스트

□ HTTPS 보안 연결 확인

DNS 정보는 변경 후 전파되는 시간이 필요합니다. 따라서 설정 직후 접속되지 않더라도 잠시 기다린 후 다시 확인하세요.

08. 도메인 연결 오류 해결하기

Invalid Configuration 오류

DNS 레코드가 잘못되었거나 아직 전파되지 않았을 수 있습니다.

  • A 레코드 값 확인
  • CNAME 값 확인
  • 중복되거나 충돌하는 레코드 확인

기존 웹사이트가 계속 나타나는 경우

브라우저 캐시 또는 DNS 캐시 문제일 수 있습니다.

  • Ctrl + F5로 새로고침
  • 시크릿 창에서 접속
  • DNS 전파 시간 기다리기

SSL 인증서 오류

DNS 검증이 완료되지 않았거나 인증서 발급이 진행 중일 수 있습니다. Vercel의 도메인 상태를 먼저 확인하세요.

09. 도메인 연결 후 해야 할 일

도메인 연결이 완료되었다면 웹사이트 운영을 위한 마무리 작업을 진행하세요.

  • GitHub README에 새 주소 기록하기
  • 이메일 서명에 웹사이트 주소 추가하기
  • Google Search Console에 사이트 등록하기
  • www 주소와 기본 도메인 연결 확인하기
  • 도메인 갱신일 기록하기

마무리: 나만의 웹사이트 주소 만들기

Vercel 도메인 연결은 처음에는 복잡하게 느껴질 수 있습니다.

하지만 기본 원리를 이해하면 어렵지 않습니다.

무료 주소를 사용한다면 Vercel에서 기본 주소를 설정하면 됩니다. 개인 도메인을 사용한다면 도메인을 등록하고 DNS 레코드를 연결하면 됩니다.

처음에는 무료 주소로 시작하고, 웹사이트가 완성되면 나만의 도메인을 연결해 보세요.

AI 웹사이트 제작 · Vercel 활용 가이드


2026년 11월 1일 일요일

2026년11월2일 주요테마와 특징주 (조선기자재, 로봇, 원익홀딩스)

주식투자 이슈와 추천주

국내 주식시장에서 시장의 움직임을 만든 주요 테마와 특징주 뉴스를 정리합니다.
주요 이슈와 관련 종목의 움직임을 뉴스 중심으로 살펴봅니다.



상승한 중요 테마

日 조선업 부활에 K-기자재 기회…한·일 8200만달러 수출 상담

일본이 민관 공동으로 2035년까지 8조4000억원(1조엔)을 투입해 선박 건조량을 

현재의 두 배인 연간 1800만 총톤으로 확대하는 등 조선업 재도약에 나서면서 

한국 조선기자재 기업들의 일본 공급망 진입 기회도 확대될 전망이다.

https://www.asiae.co.kr/article/IT/2026110110242994708

이 소식에 조선 기자재 관련 테마가 상승했다.

조선 기자재 테마주 링크

"춤추는 로봇 앞세워 개발 플랫폼 띄운다"…로보티즈, 오픈소스 승부수

로보티즈(108490)가 자체 휴머노이드 'AI 사피엔스'의 구동 코드를 개방하며 

생태계 구축에 속도를 내고 있다. 외부 개발자가 라이선스에 따라 제어 알고리즘을 

수정하고 새로운 동작을 시험할 수 있도록 개발 기반을 제공하는 전략이다. 

기존 액추에이터 사업을 기반으로 휴머노이드와 제어 소프트웨어, 관제 설루션을 

연계해 개발 생태계를 넓히려는 행보로 풀이된다.

https://www.news1.kr/industry/sb-founded/6338241

이 소식에 로봇 관련 테마가 상승했다.

로봇 테마주 링크


차트 그래프와 주목할 관심종목

이슈 활용 방법

주식시장 이슈를 관심종목 선정에 어떻게 활용할 수 있는지 정리한 내용을 아래 링크에서 확인할 수 있습니다.

밑에 링크에 적어 놓았다.

오늘의 이슈 활용법

주요 종목 뉴스

거래대금 높은 종목

원익홀딩스

로봇 · 반도체 관련 테마
거래대금 2,494억

멜콘

반도체 관련 테마
거래대금 1,415억

주식 공부방

주식 공부방 텔레그램에 초대합니다.

텔레그램 주식 공부방 참여하기

카카오톡 주식 공부방에도 참여할 수 있습니다.

2026년 10월 31일 토요일

Gemini API 연결 방법: Google AI Studio와 Vercel로 나만의 AI 웹사이트 만들기

Gemini API 연결 방법 

Gemini API를 연결해 인공지능 답변 기능을 구현하는 웹사이트 구조


웹사이트에 인공지능 기능을 추가하고 싶으신가요? Gemini API 연결 방법을 알면 단순한 웹페이지를 사용자의 질문에 답하는 AI 웹사이트로 바꿀 수 있습니다.

이번 글에서는 Google AI Studio에서 API 키를 발급받고, Next.js로 만든 웹사이트에 Gemini를 연결하는 방법을 알아보겠습니다.

코딩을 처음 접하는 분도 따라 할 수 있도록 API 키 발급부터 Vercel 배포까지 단계별로 정리했습니다.

이번 글에서 완성할 기능

  • 웹사이트에서 사용자가 질문을 입력합니다.
  • 서버가 Gemini API에 질문을 전달합니다.
  • Gemini가 생성한 답변을 웹페이지에 표시합니다.
  • 로컬 컴퓨터와 인터넷에 공개된 사이트에서 모두 작동하는지 확인합니다.

1. Gemini API란 무엇인가?

Gemini API는 Google의 인공지능 모델을 외부 프로그램에서 사용할 수 있도록 제공하는 연결 통로입니다.

쉽게 말하면 웹사이트와 Gemini가 대화할 수 있도록 연결해 주는 창구입니다.

예를 들어 사용자가 웹사이트에 다음과 같이 입력했다고 가정해 보겠습니다.

사용자 질문

오늘 하루를 긍정적으로 시작할 수 있는 문장을 만들어 줘.

웹사이트는 이 질문을 서버로 전달합니다.

서버는 Gemini API를 통해 질문을 보내고, Gemini가 생성한 답변을 다시 웹사이트로 전달합니다.

이 과정은 다음과 같습니다.

사용자

질문 입력

↓

내 웹사이트

서버에 질문 전달

↓

Gemini API

인공지능 답변 생성

↓

내 웹사이트

답변을 화면에 표시

이처럼 API를 연결하면 별도의 인공지능 모델을 직접 개발하지 않아도 AI 기능을 웹사이트에 추가할 수 있습니다.

2. 실습용 스타터 프로젝트 준비하기

이번 실습에서는 화면이 미리 만들어진 프로젝트를 사용합니다.

화면을 처음부터 제작하는 대신, Gemini를 연결하는 부분에 집중할 수 있습니다.

① GitHub 스타터 저장소 열기

아래 주소를 열어 실습용 프로젝트를 확인합니다.

AI Mini App Starter GitHub 저장소

② 내 저장소 만들기

  1. GitHub에 로그인합니다.
  2. 저장소 오른쪽 위의 Use this template을 누릅니다.
  3. Create a new repository를 선택합니다.
  4. Repository name에 my-first-ai-app을 입력합니다.
  5. 공개 범위는 Public을 선택합니다.
  6. Create repository를 눌러 저장소를 만듭니다.

이제 내 계정에 실습용 프로젝트가 복사됩니다.

③ 내 컴퓨터로 프로젝트 가져오기

안티그래비티에서 File → Open Folder를 선택합니다.

바탕화면에 my-first-ai-app이라는 새 폴더를 만들고 엽니다.

그다음 AI 도구에 다음 내용을 요청합니다.

복사용 프롬프트

이 폴더는 비어 있습니다. GitHub에 만든 내 저장소를 현재 폴더 안으로 받아 주세요. git clone 주소 . 명령을 사용해 주세요. 그다음 npm install을 실행해 필요한 패키지를 설치해 주세요. 작업이 끝나면 결과를 한국어로 설명해 주세요.

여기서 내 저장소 주소는 방금 만든 GitHub 저장소 주소로 바꿔야 합니다.

설치가 끝나면 왼쪽 파일 목록에서 app, lib, .env.example, .gitignore 파일을 확인합니다.

3. Google AI Studio에서 Gemini API 키 발급받기

Gemini API를 사용하려면 먼저 API 키가 필요합니다.

API 키는 내 웹사이트가 Google AI 서비스에 접근할 수 있도록 인증하는 비밀 열쇠입니다.

① Google AI Studio 접속

아래 공식 주소를 엽니다.

Google AI Studio API 키 발급 페이지

개인 Google 계정으로 로그인합니다.

② API 키 만들기

  1. Create API key 또는 API 키 만들기를 누릅니다.
  2. 프로젝트 선택 화면이 나오면 안내에 따라 프로젝트를 선택합니다.
  3. API 키가 생성되면 복사 아이콘을 누릅니다.
  4. 복사한 키를 다음 단계에서 사용할 수 있도록 준비합니다.

API 키 보안 주의사항

API 키는 비밀번호처럼 관리해야 합니다. 코드 파일이나 GitHub에 올리면 안 됩니다.

AI 채팅창, 카카오톡, 이메일, 캡처 화면에도 붙여 넣지 마세요.

③ 무료 사용 시 주의할 점

Gemini API에는 무료 사용 등급이 있습니다.

다만 모든 모델과 기능을 무제한으로 사용할 수 있는 것은 아닙니다. 모델별 요청 횟수와 사용량 제한이 적용됩니다.

무료 등급으로 전송한 콘텐츠는 Google 제품 개선에 사용될 수 있다고 안내되어 있습니다.

따라서 실습용 웹사이트에는 이름, 전화번호, 주소, 건강 정보 등 민감한 개인정보를 입력하지 않는 것이 좋습니다.

사용량과 요금은 변경될 수 있으므로 실제 사용 전 공식 요금표를 확인하세요.

Gemini API 공식 요금 안내

4. .env 파일에 API 키 안전하게 보관하기

API 키를 발급받았다면 이제 내 컴퓨터에 안전하게 보관해야 합니다.

이때 사용하는 파일이 .env입니다.

.env는 API 키와 같은 민감한 정보를 소스 코드와 분리해서 보관하는 환경 변수 파일입니다.

① 먼저 .gitignore 확인하기

API 키를 입력하기 전에 반드시 .gitignore 파일부터 확인합니다.

파일 안에 다음 내용이 있는지 확인하세요.

.env*

!.env.example

첫 번째 줄은 .env로 시작하는 파일을 Git이 추적하지 않도록 합니다.

두 번째 줄은 예시 파일인 .env.example은 저장소에 포함할 수 있도록 예외 처리합니다.

② .env 파일 만들기

.env.example 파일을 복사해 같은 폴더에 .env라는 이름으로 저장합니다.

파일을 열어 다음 항목을 확인합니다.

GEMINI_API_KEY=여기에_본인_API_키

안내 문구를 지우고 복사한 실제 API 키를 붙여 넣습니다.

등호 앞뒤에 공백이나 불필요한 따옴표를 넣지 않습니다.

입력한 뒤 Ctrl + S를 눌러 저장합니다.

③ Git에서 .env가 제외되었는지 확인

터미널에서 다음 명령어를 실행합니다.

git status

변경 파일 목록에 .env가 나타나지 않아야 합니다.

.env.example은 보여도 괜찮습니다. 실제 API 키가 들어 있는 .env가 보이지 않는지 확인하는 것이 중요합니다.

중요한 보안 확인

이미 Git이 .env 파일을 추적하고 있었다면 .gitignore에 추가하는 것만으로는 충분하지 않습니다.

이 경우 커밋이나 푸시를 멈추고 추적 상태를 먼저 바로잡아야 합니다.

5. Gemini API를 웹사이트에 연결하기

이제 웹사이트와 Gemini를 실제로 연결할 차례입니다.

스타터 프로젝트에는 Gemini API를 호출할 파일이 준비되어 있습니다.

안티그래비티 왼쪽 파일 목록에서 다음 경로를 엽니다.

app/api/gemini/route.ts

파일 안에 있는 TODO 부분을 채우도록 AI에게 요청합니다.

Gemini 연결 복사용 프롬프트

이 route.ts 파일의 TODO 부분을 완성해 주세요.

  • Google 공식 패키지 @google/genai를 사용해 주세요.
  • 모델은 gemini-3.5-flash-lite를 사용해 주세요.
  • 사용자가 입력한 prompt를 Gemini API에 전달해 주세요.
  • 생성된 답변은 { text: '답변 내용' } 형식으로 NextResponse.json에 담아 반환해 주세요.
  • API 키는 process.env.GEMINI_API_KEY에서 읽어 주세요.
  • API 키를 코드에 직접 작성하지 마세요.
  • API 키가 없거나 요청에 실패하면 적절한 HTTP 오류 상태와 메시지를 반환해 주세요.
  • 서버에서만 API를 호출하고 브라우저에 API 키가 노출되지 않도록 해 주세요.

AI가 패키지를 설치하거나 파일을 수정하겠다고 요청하면 내용을 확인하고 진행합니다.

수정된 코드에서 확인할 부분

AI가 작업을 마쳤다면 다음 두 가지를 확인합니다.

  • @google/genai 패키지를 사용하는지 확인합니다.
  • process.env.GEMINI_API_KEY에서 API 키를 읽는지 확인합니다.

실제 API 키 문자열이 코드 안에 들어 있다면 해당 코드를 그대로 사용하지 마세요.

Gemini 모델은 변경될 수 있습니다. 모델을 찾을 수 없다는 오류가 나오면 Google 공식 모델 목록에서 현재 사용 가능한 모델명을 확인해야 합니다.

Gemini API 공식 모델 목록

6. 내 컴퓨터에서 Gemini 연결 테스트하기

코드 수정이 끝났다면 먼저 인터넷에 공개하기 전에 내 컴퓨터에서 테스트합니다.

안티그래비티에 다음과 같이 요청합니다.

사이트를 실행해 주세요. npm run dev 명령을 사용하고, 브라우저에서 접속할 주소를 알려 주세요.

서버가 실행되면 보통 다음 주소가 표시됩니다.

http://localhost:3000

브라우저에서 안내된 주소를 엽니다.

스타터 화면에는 다음과 같은 AI 기능 카드가 준비되어 있습니다.

  • AI 자기소개 도우미
  • 내 마음 위로 받기
  • 한 줄 일기 펼치기
  • AI 명언 생성기
  • 메일 문구 다듬기

카드 하나를 선택하고 간단한 질문을 입력합니다.

버튼을 눌렀을 때 Gemini가 생성한 답변이 화면에 나타나면 연결에 성공한 것입니다.

.env 파일을 수정했다면 서버 재시작

개발 서버는 실행할 때 환경 변수를 읽습니다.

따라서 API 키를 새로 입력하거나 변경했다면 기존 서버를 종료해야 합니다.

  1. 터미널에서 Ctrl + C를 누릅니다.
  2. 개발 서버를 다시 실행합니다.
  3. 브라우저를 새로 고침합니다.
  4. 질문을 입력해 다시 테스트합니다.

7. GitHub에 올리고 Vercel에 배포하기

내 컴퓨터에서 Gemini가 정상적으로 작동한다면 이제 인터넷에 공개할 차례입니다.

여기서 꼭 알아야 할 점이 있습니다.

Vercel은 GitHub에 올라간 코드만으로 내 컴퓨터의 .env 파일을 자동으로 가져오지 못합니다.

따라서 Vercel에도 API 키를 별도로 등록해야 합니다.

① GitHub에 코드 업로드

안티그래비티에 변경 내용을 커밋하고 GitHub로 푸시해 달라고 요청합니다.

지금까지 수정한 내용을 GitHub에 커밋하고 푸시해 주세요. 커밋 메시지는 '제미나이연결'로 해 주세요. 먼저 git status로 변경 파일을 보여 주고 .env가 포함되지 않았는지 확인해 주세요.

푸시하기 전에 변경 파일 목록에 .env가 없는지 다시 확인합니다.

GitHub 저장소를 열어 .env.example은 있지만 .env는 없는지 확인합니다.

② Vercel에서 프로젝트 가져오기

  1. Vercel 공식 사이트에 접속합니다.
  2. 대시보드에서 Add New를 선택합니다.
  3. Project를 선택합니다.
  4. GitHub에 올린 my-first-ai-app 저장소를 찾습니다.
  5. Import를 누릅니다.

③ 환경 변수 등록하기

프로젝트 설정 화면에서 Environment Variables 항목을 찾습니다.

다음과 같이 입력합니다.

Name

GEMINI_API_KEY

Value

Google AI Studio에서 발급받은 실제 API 키

이름은 반드시 GEMINI_API_KEY로 입력해야 합니다.

대소문자와 밑줄까지 정확하게 입력하세요.

Value에는 실제 API 키를 붙여 넣습니다.

등록이 끝나면 Deploy를 눌러 배포를 시작합니다.

④ 배포 완료 확인하기

배포 상태가 Ready로 바뀌면 Vercel이 제공하는 공개 주소를 엽니다.

로컬 테스트 때와 마찬가지로 질문을 입력하고 답변이 나오는지 확인합니다.

인터넷에 공개된 주소에서도 정상적으로 답변이 나오면 Gemini API 연결이 완료된 것입니다.

⑤ 환경 변수를 나중에 등록했다면 Redeploy

처음 배포할 때 API 키를 등록하지 않았다면 나중에 환경 변수를 추가할 수 있습니다.

다만 환경 변수 변경은 이미 완료된 기존 배포에 자동으로 적용되지 않습니다.

  1. Vercel 프로젝트에서 Settings를 엽니다.
  2. Environment Variables를 선택합니다.
  3. GEMINI_API_KEY 항목을 추가하거나 수정합니다.
  4. Save를 누릅니다.
  5. Deployments 메뉴로 이동합니다.
  6. 최신 배포의 메뉴에서 Redeploy를 선택합니다.
  7. 새 배포가 Ready 상태가 되면 사이트를 다시 확인합니다.

기억해야 할 핵심

Vercel에 환경 변수를 새로 등록하거나 변경했다면 새 배포가 필요합니다. Redeploy를 완료해야 변경된 값이 적용됩니다.

8. Gemini API 연결 오류와 해결 방법

처음 API를 연결할 때는 오류가 발생할 수 있습니다.

오류 메시지를 확인하고 아래 순서대로 점검하면 대부분의 문제를 찾을 수 있습니다.

① 내 컴퓨터에서는 되지만 공개 사이트에서 오류가 발생하는 경우

Vercel에 API 키가 등록되지 않았거나 새 배포가 적용되지 않았을 가능성이 있습니다.

  • Vercel Settings에서 환경 변수를 확인합니다.
  • GEMINI_API_KEY 이름이 정확한지 확인합니다.
  • 값이 정상적으로 저장되었는지 확인합니다.
  • Redeploy를 실행합니다.

② 404 또는 모델을 찾을 수 없다는 오류

코드에 입력한 모델명이 잘못되었거나 더 이상 제공되지 않는 모델일 수 있습니다.

Google 공식 모델 목록에서 현재 사용할 수 있는 모델명을 확인한 뒤 코드의 모델명을 수정합니다.

③ 429 또는 quota 오류

무료 등급의 요청 횟수나 사용량 한도에 도달했을 수 있습니다.

잠시 기다린 후 다시 요청하거나 Google AI Studio의 사용량 제한을 확인합니다.

④ API 키 인증 오류

API 키가 잘못 입력되었거나 삭제·폐기된 경우 발생할 수 있습니다.

  • Google AI Studio에서 키가 유효한지 확인합니다.
  • .env의 키 값에 공백이 들어갔는지 확인합니다.
  • Vercel의 환경 변수 값도 확인합니다.
  • 키를 새로 발급했다면 로컬 서버를 재시작하고 Vercel도 Redeploy합니다.

⑤ 아직 Gemini API가 연결되지 않았다는 메시지

스타터 프로젝트의 TODO 부분이 아직 수정되지 않았을 수 있습니다.

app/api/gemini/route.ts 파일을 다시 확인하고 Gemini 연결 작업이 완료되었는지 확인합니다.

9. API 키가 노출되었다면 어떻게 해야 할까?

API 키가 GitHub나 채팅창에 공개되었다면 단순히 파일에서 지우는 것으로 끝내면 안 됩니다.

다른 사람이 이미 키를 복사했을 가능성이 있기 때문입니다.

다음 순서로 조치하는 것이 안전합니다.

  1. Google AI Studio에서 노출된 API 키를 삭제하거나 폐기합니다.
  2. 새 API 키를 발급받습니다.
  3. 내 컴퓨터의 .env에 새 키를 입력합니다.
  4. Vercel의 GEMINI_API_KEY 값도 교체합니다.
  5. Vercel에서 Redeploy를 실행합니다.
  6. GitHub 커밋 기록에 키가 남아 있다면 저장소 기록에서도 제거 조치를 합니다.

API 키는 코드에 직접 넣지 마세요.

브라우저에서 실행되는 코드에 API 키를 넣으면 방문자가 개발자 도구 등을 통해 키를 확인할 수 있습니다.

서버에서 API를 호출하고 비밀 키는 환경 변수로 관리해야 합니다.

10. Gemini API 연결 과정 정리

이번 실습에서 진행한 내용을 간단히 정리해 보겠습니다.

  1. GitHub 스타터 프로젝트를 내 저장소로 복사합니다.
  2. 내 컴퓨터에 프로젝트를 내려받습니다.
  3. Google AI Studio에서 Gemini API 키를 발급받습니다.
  4. .gitignore를 확인한 뒤 .env 파일을 만듭니다.
  5. GEMINI_API_KEY에 실제 키를 입력합니다.
  6. route.ts 파일의 TODO 부분을 완성합니다.
  7. 로컬 웹사이트에서 Gemini 답변을 테스트합니다.
  8. API 키가 제외된 코드만 GitHub에 업로드합니다.
  9. Vercel에 환경 변수를 등록합니다.
  10. 배포 후 공개 사이트에서 다시 테스트합니다.

이제 단순히 정해진 글자만 보여 주는 웹페이지가 아니라, 사용자의 질문에 따라 답변을 생성하는 AI 웹사이트를 만들 수 있습니다.

마무리: 내 웹사이트에 AI 기능 추가하기

Gemini API를 연결하는 과정에서 가장 중요한 것은 API 키를 안전하게 관리하는 것입니다.

내 컴퓨터에서는 .env 파일에 보관하고, Vercel에서는 환경 변수로 등록합니다.

그리고 GitHub에는 실제 API 키가 포함된 파일을 올리지 않아야 합니다.

이번 과정을 완료했다면 AI 자기소개 도우미, 일기 작성 도우미, 문장 다듬기 등 다양한 기능을 직접 확장할 수 있습니다.

먼저 간단한 질문과 답변 기능부터 완성해 보세요. 작은 기능 하나를 직접 연결해 보는 것이 AI 웹서비스 개발의 좋은 출발점입니다.

Vercel과 Resend API 연결하기: 웹사이트에 이메일 문의 기능 만들기

Vercel과 Resend API 연결하기: 

웹사이트에 이메일 문의 기능 만들기

Resend API와 Vercel을 연결해 웹사이트에서 이메일을 보내는 구조


AI로 웹사이트를 만들었다면 다음 단계는 방문자가 직접 나에게 연락할 수 있도록 기능을 추가하는 것입니다.

예를 들어 웹사이트에 이름과 문의 내용을 입력하고 보내기 버튼을 누르면 내 이메일로 편지가 도착하는 기능입니다.

이 기능을 만들 때 사용할 수 있는 서비스가 바로 Resend API입니다.

Resend는 웹사이트나 프로그램에서 이메일을 보낼 수 있도록 도와주는 서비스입니다.

이번 글에서는 안티그래비티로 만든 웹사이트에 Resend를 연결하고, Vercel에 배포한 사이트에서도 이메일을 받을 수 있도록 설정하는 방법을 알아보겠습니다.

이번 글에서 배울 내용
  • API와 API 키의 개념
  • Resend 회원가입 및 API 키 발급
  • .env 파일에 비밀 정보 저장하기
  • .gitignore로 API 키 보호하기
  • 안티그래비티로 연락하기 기능 만들기
  • 내 컴퓨터에서 이메일 전송 테스트
  • Vercel 환경 변수 등록하기
  • Redeploy로 공개 웹사이트에 적용하기

1. API란 무엇일까?

API라는 말을 처음 들으면 어렵게 느껴질 수 있습니다.

하지만 식당에서 주문하는 과정을 생각하면 쉽게 이해할 수 있습니다.

식당에 가서 음식을 주문하면 직원이 주방에 주문 내용을 전달합니다.

주방에서는 주문에 맞춰 음식을 만들고 다시 손님에게 전달합니다.

API도 비슷합니다.

내 웹사이트가 외부 서비스에 필요한 작업을 요청하면 해당 서비스가 결과를 돌려줍니다.

이메일 서비스로 이해하기

식당 주문과 API 비교

메뉴판 : Resend의 사용 설명서

주문서 : 내 웹사이트가 보내는 이메일 요청

주방 : Resend 이메일 서비스

음식 : 내 메일함에 도착한 이메일

멤버십 카드 : API 키

내 웹사이트에서 방문자가 문의 내용을 작성하면 Resend에 이메일 발송을 요청합니다.

Resend는 요청을 확인한 후 이메일을 전송합니다.

이처럼 서로 다른 프로그램이 정해진 방식으로 정보를 주고받는 통로가 API입니다.

2. API 키란 무엇일까?

Resend API를 사용하려면 API 키가 필요합니다.

API 키는 외부 서비스에 접근할 수 있도록 해주는 인증 정보입니다.

쉽게 말하면 내 웹사이트가 Resend 서비스를 사용할 수 있도록 허락하는 열쇠입니다.

이 열쇠를 다른 사람에게 알려 주면 다른 사람이 내 계정의 권한으로 이메일을 보낼 수도 있습니다.

API 키는 절대 공개하면 안 됩니다.

다음과 같은 곳에 API 키를 입력하지 마세요.

  • 공개된 소스코드
  • GitHub 저장소
  • 안티그래비티 AI 채팅창
  • 카카오톡이나 이메일
  • 화면 캡처 및 녹화 영상

API 키는 내 컴퓨터의 .env 파일이나 Vercel의 환경 변수에 저장해야 합니다.

3. Resend 회원가입하고 API 키 발급받기

먼저 이메일을 보내는 서비스를 준비해야 합니다.

이번 실습에서는 Resend를 사용하겠습니다.

Resend 공식 홈페이지 바로가기

① Resend 가입하기

Resend 홈페이지에 접속합니다.

오른쪽 위의 Get started를 클릭합니다.

가입 화면에서 Google 계정으로 로그인할 수 있습니다.

이미 계정이 있다면 Log in을 선택합니다.

가입에 사용한 이메일 주소를 기억해 두세요.

이번 실습에서는 이 이메일 주소로 문의 내용을 받겠습니다.

② API Keys 메뉴 선택하기

로그인하면 Resend 대시보드가 나타납니다.

왼쪽 메뉴에서 API Keys를 선택합니다.

오른쪽 위의 + Create API Key 버튼을 클릭합니다.

③ API 키 만들기

API 키를 만드는 화면에서 다음과 같이 설정합니다.

이름 (Name)

my-first-site

권한 (Permission)

Sending access

Name에는 프로젝트 이름을 입력합니다.

Permission은 Sending access를 선택합니다.

이 권한은 이메일 발송에 필요한 권한만 부여하는 설정입니다.

모든 권한을 허용하는 Full access보다 필요한 권한만 사용하는 것이 안전합니다.

설정을 확인한 후 Add 버튼을 클릭합니다.

④ API 키 복사하기

API 키가 생성되면 화면에 인증 정보가 표시됩니다.

Resend는 생성된 키를 처음 한 번만 확인할 수 있도록 제공합니다.

따라서 이때 복사해서 안전한 장소에 저장해야 합니다.

API 키를 분실했다면 기존 키를 다시 확인하려고 하지 말고 새 키를 발급받으면 됩니다.

중요한 보안 주의사항

API 키를 복사한 뒤에는 채팅창이나 메모 앱에 붙여 넣지 마세요. 바로 다음 단계에서 .env 파일에 저장합니다. 다른 사람에게 노출되었다면 해당 키를 폐기하고 새로 발급받아야 합니다.

4. .env 파일과 .gitignore 이해하기

이제 발급받은 API 키를 안전하게 보관해야 합니다.

이때 사용하는 것이 .env 파일입니다.

.env는 비밀 정보를 보관하는 파일

.env는 프로그램이 실행될 때 필요한 비밀 정보를 저장하는 파일입니다.

예를 들어 다음과 같은 정보가 들어갈 수 있습니다.

  • API 키
  • 이메일 주소
  • 데이터베이스 비밀번호
  • 외부 서비스 인증 정보

이번 실습에서는 Resend API 키와 이메일 주소를 저장하겠습니다.

.gitignore는 Git에서 제외할 파일을 지정

.gitignore는 Git이 특정 파일을 관리하지 않도록 지정하는 파일입니다.

예를 들어 .env 파일이 GitHub에 올라가면 API 키가 다른 사람에게 공개될 수 있습니다.

따라서 .env 파일을 Git의 관리 대상에서 제외해야 합니다.

두 파일의 역할은 다음과 같습니다.

.env

비밀 정보를 저장하는 파일

.gitignore

GitHub에 비밀 파일이 올라가지 않도록 제외하는 설정

5. .gitignore를 먼저 설정하기

이 단계에서는 순서가 매우 중요합니다.

먼저 .env 파일을 만들지 말고 .gitignore부터 확인해야 합니다.

안티그래비티에서 기존 프로젝트 폴더를 엽니다.

왼쪽 파일 목록에서 .gitignore를 찾아 클릭합니다.

파일 안에 다음 내용이 있는지 확인합니다.

.env*

이 설정은 .env로 시작하는 파일을 Git에서 제외한다는 의미입니다.

만약 없다면 다음 프롬프트를 사용합니다.

📋 안티그래비티 복사용 프롬프트

현재 프로젝트의 .gitignore 파일을 확인해줘. .env* 항목이 있는지 확인하고, 없다면 추가해줘. 기존 설정은 삭제하지 마. 수정한 내용을 보여줘.

설정이 완료되면 다음 단계로 넘어갑니다.

주의

이미 Git이 추적하고 있는 .env 파일은 .gitignore에 추가하는 것만으로 추적이 중단되지 않습니다. 기존에 추적된 적이 있다면 Git 추적 상태도 별도로 확인해야 합니다.

6. .env 파일 만들고 API 키 저장하기

이제 비밀 정보를 저장할 파일을 만듭니다.

안티그래비티의 왼쪽 파일 목록에서 새 파일을 생성합니다.

파일 이름은 다음과 같이 입력합니다.

.env

파일을 열고 다음 두 줄을 작성합니다.

RESEND_API_KEY=실제_API_키
CONTACT_EMAIL=내_이메일_주소

위 내용에서 실제_API_키 부분에는 Resend에서 발급받은 키를 넣습니다.

내_이메일_주소에는 Resend에 가입한 이메일 주소를 입력합니다.

실제 입력할 때는 예시 문구를 그대로 사용하지 않습니다.

작성할 때 주의할 점

  • 변수 이름은 대문자로 정확히 입력합니다.
  • 등호 앞뒤에 불필요한 공백을 넣지 않습니다.
  • 값을 임의로 따옴표로 감싸지 않습니다.
  • 파일 이름이 반드시 .env인지 확인합니다.
  • 저장한 후 파일을 닫습니다.

이제 Git이 .env 파일을 제외하는지 확인해야 합니다.

안티그래비티에 다음과 같이 요청합니다.

📋 복사용 프롬프트

git status를 실행해서 현재 Git 상태를 보여줘. .env 파일이 변경 목록에 나타나는지 확인하고, API 키나 이메일 주소 같은 비밀 값은 출력하지 마. .env가 목록에 보이면 작업을 중단하고 알려줘.

.env 파일이 변경 목록에 나타나지 않아야 정상입니다.

만약 .env가 표시된다면 GitHub에 올리지 말고 .gitignore와 Git 추적 상태를 다시 확인합니다.

7. 안티그래비티로 연락하기 기능 만들기

이제 웹사이트에 이메일 문의 기능을 추가하겠습니다.

방문자가 이름과 문의 내용을 입력하고 보내기 버튼을 누르면 Resend를 통해 내 이메일로 전달되는 기능입니다.

이번 실습은 Next.js 프로젝트를 기준으로 진행합니다.

① 연락하기 기능 요청하기

안티그래비티에서 새 대화를 열고 다음 프롬프트를 입력합니다.

📋 안티그래비티 복사용 프롬프트

현재 웹사이트 맨 아래에 연락하기 기능을 만들어줘.

입력 항목은 다음과 같아.

  • 이름
  • 문의 내용
  • 보내기 버튼

다음 조건을 지켜줘.

  • 공식 Resend 패키지를 사용해줘.
  • API 주소는 /api/send로 만들어줘.
  • 발신 주소는 onboarding@resend.dev를 사용해줘.
  • 받는 주소는 process.env.CONTACT_EMAIL에서 읽어줘.
  • API 키는 process.env.RESEND_API_KEY에서 읽어줘.
  • API 키와 이메일 주소를 코드에 직접 작성하지 마.
  • 서버에서만 API 키를 사용하도록 만들어줘.
  • Resend 객체는 요청 처리 함수 안에서 생성해줘.
  • 필수 환경변수가 없으면 이해하기 쉬운 오류를 반환해줘.
  • 성공하면 화면에 '보냈어요!'를 표시해줘.
  • 실패하면 안전하게 처리된 오류 메시지를 보여줘.
  • 입력값 검증과 기본적인 스팸 방지 처리를 고려해줘.

기존 웹사이트 디자인과 기능은 유지하고, 필요한 파일만 수정해줘.

여기서 중요한 것은 API 키를 프롬프트에 직접 입력하지 않는 것입니다.

AI에게는 환경변수 이름만 알려주면 됩니다.

② AI가 생성한 코드 확인하기

안티그래비티가 작업을 완료하면 변경된 파일을 확인합니다.

특히 Next.js 프로젝트라면 다음 파일이 생성되거나 수정될 수 있습니다.

app/api/send/route.ts

프로젝트 구조에 따라 API 경로는 다를 수 있습니다.

중요한 것은 다음 세 가지입니다.

  • Resend 공식 패키지를 사용했는가?
  • API 키를 process.env.RESEND_API_KEY에서 읽는가?
  • 받는 주소를 process.env.CONTACT_EMAIL에서 읽는가?

또한 실제 API 키가 코드에 직접 들어가 있으면 안 됩니다.

확인 후 변경 사항을 승인합니다.

③ Resend 객체를 함수 안에서 생성하는 이유

Resend 객체를 서버 코드의 최상단에서 생성하면 환경변수가 없는 상태에서 모듈이 초기화될 때 문제가 발생할 수 있습니다.

따라서 요청 처리 함수 안에서 환경변수를 확인한 다음 객체를 생성하도록 구성하는 것이 좋습니다.

이렇게 하면 환경변수가 누락된 경우에도 사이트 전체가 아니라 이메일 전송 요청에서 오류를 처리할 수 있습니다.

8. 내 컴퓨터에서 이메일 전송 테스트하기

이제 실제로 이메일이 도착하는지 확인하겠습니다.

먼저 안티그래비티에서 개발 서버를 실행합니다.

📋 복사용 프롬프트

현재 프로젝트를 npm run dev 명령어로 실행해줘. 서버가 정상적으로 실행되면 접속할 수 있는 localhost 주소를 알려줘.

보통 다음 주소로 접속할 수 있습니다.

http://localhost:3000

3000번 포트를 다른 프로그램이 사용하고 있다면 3001번 등 다른 포트가 사용될 수 있습니다.

이메일 보내기 테스트

  1. 브라우저에서 localhost 주소를 엽니다.
  2. 페이지 아래쪽으로 이동합니다.
  3. 연락하기 영역을 찾습니다.
  4. 이름과 문의 내용을 입력합니다.
  5. 보내기 버튼을 클릭합니다.
  6. 보냈어요! 메시지가 나타나는지 확인합니다.
  7. Resend에 가입한 이메일 계정을 확인합니다.

Gmail을 사용한다면 기본 받은편지함뿐 아니라 업데이트 탭과 스팸함도 확인하세요.

Resend 대시보드의 Emails 메뉴에서도 발송 기록과 상태를 확인할 수 있습니다.

테스트 이메일의 수신 제한

Resend의 기본 테스트 발신 주소인 onboarding@resend.dev를 사용할 때는 수신 주소에 제한이 있습니다.

일반적으로 Resend에 가입한 본인 이메일 주소로 테스트해야 합니다.

다른 사람에게도 이메일을 보내려면 본인 도메인을 Resend에 등록하고 DNS 인증을 완료하는 과정이 필요합니다.

이 부분은 다음 단계에서 도메인을 연결할 때 함께 설정할 수 있습니다.

9. GitHub에 업로드하기 전에 .env 확인하기

내 컴퓨터에서 이메일이 정상적으로 도착했다면 이제 GitHub에 변경 사항을 올립니다.

하지만 여기서 반드시 확인해야 할 것이 있습니다.

.env 파일이 GitHub에 올라가면 안 됩니다.

안티그래비티에 다음과 같이 요청합니다.

📋 복사용 프롬프트

현재 변경된 파일 목록을 확인해줘. .env와 API 키, 비밀번호 등 비밀 정보가 포함된 파일이 커밋 대상에 들어가지 않았는지 확인해줘. 비밀 값 자체는 출력하지 마. 안전한 파일만 커밋하고 GitHub로 push해줘. 커밋 메시지는 '연락하기 이메일 기능 추가'로 해줘.

AI가 보여 주는 파일 목록을 직접 확인합니다.

특히 git add 명령으로 추가되는 파일 목록에 .env가 없는지 확인하세요.

GitHub에 업로드한 뒤에도 저장소의 파일 목록을 새로 고쳐 확인합니다.

.gitignore는 보이지만 .env는 보이지 않아야 정상입니다.

이미 .env가 GitHub에 올라갔다면?

단순히 파일을 삭제하는 것만으로는 충분하지 않습니다.

  1. Resend에서 노출된 API 키를 폐기합니다.
  2. 새 API 키를 발급받습니다.
  3. .env와 Vercel 환경 변수에 새 키를 등록합니다.
  4. GitHub에 남은 비밀 정보도 안전하게 정리합니다.
  5. 필요하면 Git 기록에서 해당 정보를 제거합니다.

10. Vercel 환경 변수에 API 키 등록하기

이제 가장 중요한 단계입니다.

내 컴퓨터에서는 이메일이 정상적으로 전송되었지만, 인터넷에 공개된 Vercel 주소에서는 오류가 발생할 수 있습니다.

이유는 간단합니다.

Vercel은 GitHub에 올라간 프로젝트 파일을 가져옵니다.

하지만 보안을 위해 GitHub에 올리지 않은 .env 파일까지 자동으로 가져오지는 않습니다.

따라서 Vercel에 비밀 정보를 별도로 등록해야 합니다.

① Vercel 프로젝트 열기

Vercel 홈페이지에 로그인합니다.

앞서 배포한 my-first-site 프로젝트를 선택합니다.

새로운 프로젝트를 만들 필요는 없습니다.

② Environment Variables 메뉴 선택

프로젝트 왼쪽 메뉴에서 Settings 또는 Environment Variables 항목을 찾습니다.

화면에 따라 Settings 안에서 Environment Variables를 선택해야 할 수도 있습니다.

오른쪽 위의 Add Environment Variable 버튼을 클릭합니다.

③ 첫 번째 환경 변수 등록

첫 번째 줄에는 Resend API 키를 등록합니다.

Key

RESEND_API_KEY

Value

Resend에서 발급받은 실제 API 키

Key에는 변수 이름을 입력합니다.

Value에는 실제 API 키를 입력합니다.

값을 입력할 때 앞뒤에 공백이나 따옴표가 들어가지 않도록 주의하세요.

④ 두 번째 환경 변수 등록

다음으로 + Add new variable을 눌러 두 번째 항목을 추가합니다.

Key

CONTACT_EMAIL

Value

Resend 가입에 사용한 이메일 주소

두 변수의 이름은 .env 파일에 작성한 이름과 정확히 일치해야 합니다.

대문자와 밑줄까지 확인하세요.

⑤ Production 환경 확인하기

환경 변수를 적용할 환경을 선택하는 항목이 있습니다.

이번 실습에서는 공개 웹사이트에 적용하기 위해 Production을 선택합니다.

설정을 확인한 다음 Save를 누릅니다.

11. Redeploy를 반드시 실행해야 하는 이유

환경 변수를 등록하고 저장했다고 해서 즉시 공개 웹사이트에 적용되는 것은 아닙니다.

이 부분에서 초보자들이 자주 실수합니다.

Vercel에 환경 변수를 새로 등록했다면 다시 배포해야 합니다.

이 과정을 Redeploy라고 합니다.

Redeploy 실행 순서

  1. 환경 변수 두 개가 정상적으로 저장되었는지 확인합니다.
  2. 환경 변수 저장 후 나타나는 Redeploy 안내를 확인합니다.
  3. Redeploy 버튼을 클릭합니다.
  4. 확인 창이 나타나면 다시 Redeploy를 선택합니다.
  5. Deployments 메뉴에서 배포 상태를 확인합니다.

저장 안내를 놓쳤다면 Deployments 메뉴에서 해당 배포의 오른쪽에 있는 점 세 개 메뉴를 눌러 Redeploy를 선택할 수도 있습니다.

반드시 기억하세요!

환경 변수 등록 → Save → Redeploy → Ready

이 과정을 완료해야 새 환경 변수가 공개 웹사이트에 반영됩니다.

12. 공개 웹사이트에서 이메일 보내기

이제 마지막 테스트입니다.

Vercel의 Deployments 메뉴에서 가장 최근 배포 상태를 확인합니다.

초록색 Ready가 표시되어야 합니다.

그다음 공개된 .vercel.app 주소로 접속합니다.

  1. 웹사이트를 새로 고침합니다.
  2. 연락하기 영역으로 이동합니다.
  3. 이름과 문의 내용을 입력합니다.
  4. 보내기 버튼을 누릅니다.
  5. 보냈어요! 메시지가 나타나는지 확인합니다.
  6. Resend의 Emails 메뉴에서 발송 결과를 확인합니다.
  7. 내 이메일 받은편지함을 확인합니다.

이메일이 정상적으로 도착했다면 모든 과정이 완료된 것입니다.

최종 성공 확인

① 내 컴퓨터에서 이메일 전송 성공

② GitHub에 코드 업로드 완료

③ Vercel 환경 변수 등록 완료

④ Redeploy 후 Ready 확인

⑤ 공개 주소에서 보낸 이메일이 실제 메일함에 도착

13. 자주 발생하는 오류와 해결 방법

① RESEND_API_KEY 또는 CONTACT_EMAIL이 없다는 오류

원인

Vercel에 환경 변수가 등록되지 않았거나 Redeploy를 진행하지 않은 경우입니다.

해결 방법

  1. Vercel Environment Variables를 확인합니다.
  2. RESEND_API_KEY가 있는지 확인합니다.
  3. CONTACT_EMAIL이 있는지 확인합니다.
  4. Redeploy를 실행합니다.
  5. Ready 상태가 된 후 다시 테스트합니다.

② 403 오류가 발생하는 경우

다음과 같은 메시지가 표시될 수 있습니다.

You can only send testing emails to your own email address

원인

Resend의 테스트 발신 주소를 사용하는 상태에서 가입한 이메일이 아닌 다른 주소로 보내려고 했기 때문입니다.

해결 방법

CONTACT_EMAIL을 Resend 가입에 사용한 이메일 주소와 일치시키세요.

다른 사람에게 보내려면 발신 도메인 인증이 필요합니다.

③ 401 API key is invalid

원인

  • API 키를 잘못 입력함
  • API 키 앞뒤에 공백이 있음
  • API 키가 잘려서 저장됨
  • 기존 API 키가 폐기됨

해결 방법

Resend에서 새 API 키를 발급받고 .env와 Vercel에 다시 등록합니다.

그다음 Redeploy를 실행합니다.

④ 보냈어요!가 나타나지만 이메일이 오지 않는 경우

원인

발송 요청은 성공했지만 이메일이 스팸함으로 이동했거나 실제 전달에 실패했을 수 있습니다.

해결 방법

  1. Gmail 업데이트 탭을 확인합니다.
  2. 스팸함을 확인합니다.
  3. Resend의 Emails 메뉴를 엽니다.
  4. 발송 상태가 Delivered인지 확인합니다.

Queued 상태라면 잠시 기다린 후 다시 확인합니다.

⑤ .env 파일이 GitHub에 올라간 경우

원인

.gitignore 설정이 잘못되었거나 이미 Git에서 추적하고 있던 파일일 수 있습니다.

해결 방법

먼저 노출된 API 키를 Resend에서 폐기합니다.

새 키를 발급받아 .env와 Vercel에 등록합니다.

그다음 Git 기록에서 비밀 정보를 제거하고 다시는 올라가지 않도록 설정합니다.

이미 공개된 키는 GitHub에서 파일을 삭제하는 것만으로 안전해지지 않습니다.

14. API 키를 안전하게 관리하는 방법

이번 실습에서 가장 중요한 부분은 API 키를 보호하는 것입니다.

API 키는 웹사이트의 기능을 실행하는 인증 정보입니다.

다음 원칙을 지키는 것이 좋습니다.

API 키를 보관해도 되는 곳
  • 내 컴퓨터의 .env 파일
  • Vercel Environment Variables
  • API 키를 발급한 서비스의 보안 관리 화면
API 키를 공개하면 안 되는 곳
  • GitHub 공개 저장소
  • HTML과 JavaScript 공개 코드
  • 안티그래비티 채팅창
  • 카카오톡 및 이메일
  • 화면 캡처와 녹화 영상

특히 브라우저에서 실행되는 코드에 API 키를 넣으면 방문자가 개발자 도구를 통해 확인할 수 있습니다.

따라서 API 키를 사용하는 작업은 서버에서 처리해야 합니다.

마무리: 이제 웹사이트에서 직접 이메일을 받을 수 있다

이번 실습에서는 단순히 웹사이트를 보여주는 수준에서 벗어나 방문자가 직접 문의할 수 있는 기능을 만들었습니다.

Resend API를 이용하면 별도의 메일 서버를 직접 구축하지 않고도 이메일 발송 기능을 추가할 수 있습니다.

또한 .env와 Vercel 환경 변수를 이용하면 API 키를 공개하지 않고 안전하게 관리할 수 있습니다.

오늘 꼭 기억할 핵심 내용

① Resend에서 API 키를 발급받습니다.

② .gitignore를 먼저 설정합니다.

③ .env에 API 키와 이메일 주소를 저장합니다.

④ GitHub에 .env를 올리지 않습니다.

⑤ Vercel에 환경 변수를 등록합니다.

⑥ Redeploy 후 공개 주소에서 이메일을 테스트합니다.

이제 여러분이 만든 웹사이트는 단순한 소개 페이지가 아닙니다.

방문자의 문의를 직접 받을 수 있는 웹사이트로 발전한 것입니다.

다음 단계에서는 개인 도메인을 연결하고 Resend에 도메인을 인증하여 다른 사람에게도 이메일을 보낼 수 있도록 확장해 볼 수 있습니다.

참고 자료: 스마택트 바이브코딩 6차시 - API와 비밀의 방
원본 학습 자료 보기

Vercel 사용법: GitHub 프로젝트를 인터넷에 무료로 배포하는 방법

Vercel 사용법: GitHub 프로젝트를 인터넷에 무료로 배포하는 방법

Vercel과 GitHub를 연결해 웹사이트를 인터넷에 배포하는 과정


안티그래비티와 같은 AI 코딩 도구로 웹사이트를 만들었다면 이제 다른 사람들도 접속할 수 있도록 인터넷에 공개해야 합니다.

내 컴퓨터에서는 잘 실행되는데 다른 사람의 컴퓨터나 스마트폰에서는 접속할 수 없다면 아직 웹사이트 배포가 완료되지 않은 것입니다.

이때 사용할 수 있는 서비스가 바로 Vercel(버셀)입니다.

Vercel은 GitHub에 저장된 프로젝트를 불러와 인터넷에 공개해 주는 웹 배포 플랫폼입니다.

복잡한 서버 설정 없이 몇 가지 단계만 거치면 나만의 웹사이트 주소를 만들 수 있습니다.

이번 글에서 배울 내용
  • Vercel이 무엇인지 이해하기
  • Vercel 회원가입하기
  • GitHub 계정 연결하기
  • 프로젝트 Import 및 Deploy
  • 나만의 웹사이트 주소 확인하기
  • 코드 수정 후 자동 배포하기
  • 배포 오류 해결하기

1. Vercel이란 무엇일까?

Vercel은 웹사이트와 웹 애플리케이션을 인터넷에 배포할 수 있도록 도와주는 서비스입니다.

쉽게 설명하면 내가 만든 웹사이트를 인터넷에 올려주는 자동 배포 시스템입니다.

예를 들어 안티그래비티로 웹사이트를 만들었다고 가정해 보겠습니다.

내 컴퓨터에서는 다음 주소로 접속할 수 있습니다.

http://localhost:3000

하지만 이 주소는 내 컴퓨터에서만 사용할 수 있습니다.

다른 사람에게 이 주소를 알려줘도 접속할 수 없습니다.

Vercel을 이용하면 다음과 같은 인터넷 주소를 만들 수 있습니다.

https://my-first-site.vercel.app

이제 다른 사람들도 인터넷을 통해 내 웹사이트에 접속할 수 있습니다.

Vercel은 어떻게 작동할까?

안티그래비티

웹사이트 제작 및 수정

↓

GitHub

프로젝트 코드 저장

↓

Vercel

프로젝트 자동 배포

↓

인터넷 웹사이트

누구나 접속 가능한 주소 생성

한 번 GitHub와 Vercel을 연결하면 이후에는 GitHub에 새로운 코드가 올라갈 때마다 Vercel이 자동으로 배포를 진행합니다.

매번 Vercel에 들어가서 Deploy 버튼을 누를 필요가 없습니다.

2. Vercel 무료로 사용할 수 있을까?

Vercel에는 Hobby, Pro, Enterprise 요금제가 있습니다.

처음 웹사이트를 만들어 보는 개인 사용자라면 Hobby 요금제를 살펴볼 수 있습니다.

Hobby 요금제

$0 / 월

  • 개인 프로젝트용 무료 플랜
  • GitHub 저장소 연결
  • 자동 배포 기능
  • HTTPS 지원
  • vercel.app 주소 제공

다만 중요한 조건이 있습니다.

Hobby 요금제는 개인적이고 비상업적인 용도로 제한됩니다.

회사 업무나 영리 목적의 서비스라면 Pro 등 적합한 요금제를 확인해야 합니다.

또한 무료 요금제에도 사용량과 기능 제한이 있습니다.

따라서 실제 운영에 사용할 때는 최신 요금제와 사용 조건을 확인해야 합니다.

Vercel 공식 요금제 확인하기

3. Vercel 회원가입하기

먼저 Vercel 공식 홈페이지에 접속합니다.

Vercel 공식 홈페이지 바로가기

① Sign Up 클릭하기

홈페이지 오른쪽 위에 있는 Sign Up을 누릅니다.

회원가입 화면이 나타나면 사용할 계정을 선택합니다.

② Google 또는 GitHub 계정으로 가입하기

다음과 같은 로그인 방법을 선택할 수 있습니다.

  • Continue with Google
  • Continue with GitHub

이미 GitHub를 사용하고 있다면 GitHub 계정으로 연결하는 것도 편리합니다.

Google 계정으로 가입해도 나중에 GitHub 저장소를 연결할 수 있습니다.

③ Hobby 요금제 선택하기

사용 목적을 묻는 화면이 나오면 개인 프로젝트에 해당하는 Hobby를 선택합니다.

Team Name을 입력하는 화면에서는 개인 프로젝트라면 안내에 따라 기본 설정을 진행하면 됩니다.

가입이 완료되면 Vercel 대시보드로 이동합니다.

4. GitHub와 Vercel 연결하기

이제 가장 중요한 과정입니다.

GitHub에 저장된 프로젝트를 Vercel로 가져와야 합니다.

먼저 GitHub에 프로젝트가 올라가 있어야 합니다.

아직 GitHub에 프로젝트를 올리지 않았다면 이전 글의 Git과 GitHub 사용법을 먼저 확인하세요.

① Create New → Project 선택

Vercel 대시보드에 접속합니다.

오른쪽 위의 Create New 버튼을 누릅니다.

메뉴에서 Project를 선택합니다.

화면에 따라 Import Project라는 버튼으로 표시될 수도 있습니다.

② GitHub 선택하기

Import Git Repository 화면에서 GitHub를 선택합니다.

처음 연결하는 경우 GitHub 권한 승인 화면이 나타납니다.

Authorize Vercel을 눌러 연결을 승인합니다.

③ GitHub 저장소 접근 권한 설정

Vercel이 GitHub 저장소에 접근할 수 있도록 허용해야 합니다.

Install 화면에서 저장소 접근 범위를 선택합니다.

  • All repositories: 모든 저장소 접근 허용
  • Only select repositories: 선택한 저장소만 허용

처음 사용하는 경우에는 모든 저장소를 허용하거나 배포할 저장소만 선택하면 됩니다.

선택한 후 Install을 눌러 진행합니다.

저장소가 보이지 않는다면?

GitHub 권한 설정에서 해당 저장소가 선택되어 있는지 확인하세요. 다른 사람 소유의 저장소라면 필요한 소유자 또는 조직 권한이 있는지도 확인해야 합니다.

5. GitHub 프로젝트 Import 하기

GitHub 연결이 완료되면 내 저장소 목록이 표시됩니다.

예를 들어 GitHub에 my-first-site라는 저장소가 있다면 목록에서 해당 프로젝트를 찾습니다.

저장소 이름 옆에 있는 Import 버튼을 누릅니다.

저장소가 많다면 검색창에 프로젝트 이름을 입력하면 쉽게 찾을 수 있습니다.

프로젝트 설정 확인하기

Import를 누르면 New Project 설정 화면이 나타납니다.

Vercel은 프로젝트의 구조를 분석해 적절한 프레임워크를 자동으로 인식합니다.

예를 들어 Next.js 프로젝트라면 Application Preset에 Next.js가 표시될 수 있습니다.

처음 배포하는 단순한 프로젝트라면 자동으로 인식된 설정을 확인하고 진행하면 됩니다.

다만 프로젝트 구조가 특수하거나 하위 폴더에 실제 앱이 있다면 Root Directory를 확인해야 합니다.

또한 환경변수를 사용하는 프로젝트라면 Environment Variables에 필요한 값을 등록해야 합니다.

6. Deploy 버튼으로 웹사이트 공개하기

설정 확인이 끝났다면 Deploy 버튼을 누릅니다.

이제 Vercel이 프로젝트를 분석하고 웹사이트를 만드는 작업을 시작합니다.

이 과정을 배포(Deploy)라고 합니다.

배포 진행 과정

  1. GitHub에서 프로젝트 코드 가져오기
  2. 프로젝트 구조와 프레임워크 분석
  3. 필요한 패키지 설치
  4. 프로젝트 빌드
  5. 인터넷에 공개

배포가 진행되는 동안 Build Logs에 작업 내용이 표시됩니다.

처음에는 시간이 조금 걸릴 수 있습니다.

작업이 완료될 때까지 화면을 닫지 말고 기다립니다.

정상적으로 완료되면 Congratulations 화면이 나타납니다.

배포 성공!

Congratulations 화면이 나타났다면 첫 번째 웹사이트 배포가 완료된 것입니다. 이제 Continue to Dashboard를 눌러 프로젝트 관리 화면으로 이동합니다.

7. 나만의 Vercel 웹사이트 주소 확인하기

배포가 끝나면 인터넷에서 접속할 수 있는 주소가 만들어집니다.

Vercel 프로젝트 화면에서 Domains 항목을 확인합니다.

다음과 비슷한 주소가 표시됩니다.

https://my-first-site.vercel.app

이 주소가 바로 내 웹사이트의 인터넷 주소입니다.

주소를 클릭하면 새 브라우저 탭에서 웹사이트가 열립니다.

주소 뒤에 다른 단어가 붙는 이유

내가 원하는 프로젝트 이름이 이미 사용되고 있다면 Vercel이 구분을 위해 추가 문자를 붙일 수 있습니다.

예를 들어 다음과 같은 주소가 만들어질 수 있습니다.

my-first-site-demo-gules.vercel.app

이것은 오류가 아닙니다.

정확한 주소는 프로젝트 화면의 Domains 항목에서 확인하면 됩니다.

스마트폰에서도 확인하기

PC에서 만든 웹사이트를 스마트폰으로 열어 봅니다.

  1. Vercel에서 공개 주소를 복사합니다.
  2. 카카오톡 나와의 채팅에 주소를 보냅니다.
  3. 스마트폰에서 해당 주소를 누릅니다.
  4. 웹사이트가 정상적으로 열리는지 확인합니다.

이제 다른 사람에게도 웹사이트 주소를 공유할 수 있습니다.

개인정보 공개 주의

공개된 웹사이트는 누구나 접속할 수 있습니다. 전화번호, 집 주소, 주민등록번호, 개인 비밀번호, API 키 등을 웹페이지나 공개 저장소에 올리지 않도록 주의하세요.

8. GitHub 수정 사항은 자동으로 배포된다

Vercel의 가장 편리한 기능 중 하나가 자동 배포입니다.

처음 한 번 GitHub와 Vercel을 연결해 놓으면 이후에는 GitHub에 새로운 작업 기록을 올릴 때마다 자동으로 배포가 시작됩니다.

매번 Vercel에 로그인해서 Deploy를 누를 필요가 없습니다.

자동 배포 실습하기

이번에는 안티그래비티에서 웹사이트에 문장 하나를 추가해 보겠습니다.

안티그래비티 채팅창에 다음 프롬프트를 입력합니다.

📋 복사용 프롬프트

메인 페이지 맨 아래에 "오늘 처음으로 인터넷에 웹사이트를 공개했습니다!"라는 문장을 추가해줘. 글자색은 빨간색으로 해줘. 다른 부분은 건드리지 마. 수정이 끝나면 변경 내용을 커밋하고 GitHub로 push해줘. 커밋 메시지는 "첫 공개 기념 문장 추가"로 해줘.

AI가 작업을 완료하면 다음 세 가지가 순서대로 진행됩니다.

  1. 웹사이트 코드 수정
  2. Git 커밋 및 GitHub Push
  3. Vercel 자동 배포

여기서 중요한 점은 세 번째 단계입니다.

GitHub에 Push가 완료되면 Vercel이 변경 사항을 감지해 자동으로 새로운 배포를 시작합니다.

따라서 Vercel 화면에서 Deploy 버튼을 다시 누를 필요가 없습니다.

자동 배포가 시작되었는지 확인하기

Vercel 대시보드에서 내 프로젝트를 선택합니다.

왼쪽 메뉴의 Deployments를 클릭합니다.

가장 위에 새로운 배포 기록이 나타나는지 확인합니다.

배포가 진행되는 동안 Building 등의 상태가 표시될 수 있습니다.

잠시 기다리면 Ready로 변경됩니다.

이후 공개 주소를 새로 고침하면 방금 추가한 문장이 나타납니다.

자동 배포의 핵심

코드 수정 → 커밋 → GitHub Push → Vercel 자동 배포

이 과정을 반복하면 웹사이트를 계속 업데이트할 수 있습니다.

9. Vercel Ready와 Error 상태 확인하기

GitHub에 코드를 올렸다고 해서 무조건 웹사이트 공개까지 완료된 것은 아닙니다.

Vercel에서 실제 배포가 성공했는지 확인해야 합니다.

Ready는 배포 성공

Deployments 화면에서 초록색 표시와 함께 Ready가 나타나면 해당 배포가 성공한 것입니다.

이제 공개 주소를 새로 고침하여 변경 사항을 확인하면 됩니다.

Error는 배포 실패

빨간색 Error가 나타나면 배포 과정에서 문제가 발생한 것입니다.

이때 이전에 성공한 버전이 계속 공개 주소에 표시될 수 있습니다.

따라서 GitHub에 Push한 것만 확인하지 말고 Ready까지 확인하는 습관이 중요합니다.

배포 오류 해결하기

먼저 Vercel Deployments에서 실패한 배포 항목을 클릭합니다.

Build Logs를 열어 빨간색 오류 메시지를 찾습니다.

오류 내용을 복사한 다음 안티그래비티 채팅창에 붙여 넣습니다.

📋 복사용 오류 해결 프롬프트

Vercel 웹사이트 배포가 실패했어.

아래 오류 내용을 분석해줘.

[여기에 Build Logs 오류 내용 붙여 넣기]

초보자도 이해할 수 있도록 원인을 설명하고, 기존 기능을 삭제하지 않는 방법으로 수정해줘. 수정 후 로컬에서 빌드가 정상적으로 되는지 확인하고, 커밋과 GitHub Push까지 진행해줘.

AI가 문제를 수정하고 GitHub에 다시 Push하면 Vercel에서 새로운 배포가 시작됩니다.

이번에도 Ready가 표시되는지 확인해야 합니다.

10. Vercel에서 자주 발생하는 문제와 해결 방법

① GitHub 저장소가 목록에 보이지 않는다

원인

  • GitHub 저장소 접근 권한이 없음
  • Vercel GitHub 앱에 해당 저장소가 선택되지 않음
  • 다른 GitHub 계정으로 로그인함

해결 방법

GitHub 연결 설정에서 Vercel 앱이 해당 저장소에 접근할 수 있는지 확인합니다.

② 웹사이트 주소를 열었는데 예전 화면이 보인다

원인

새로운 배포가 아직 완료되지 않았거나 브라우저에 이전 화면이 캐시되어 있을 수 있습니다.

해결 방법

  1. Vercel Deployments에서 Ready 확인
  2. 브라우저에서 Ctrl + F5 누르기
  3. 그래도 바뀌지 않으면 시크릿 창에서 열기

③ Deployments에 Error가 나타난다

원인

  • 프로그램 코드 오류
  • 필요한 패키지가 설치되지 않음
  • 빌드 명령어 설정 오류
  • 환경변수 누락

해결 방법

Build Logs를 확인하고 오류 메시지를 안티그래비티에 전달합니다.

④ 프로젝트는 배포되었는데 일부 기능이 작동하지 않는다

원인

로컬 환경에만 설정된 환경변수나 외부 서비스 인증 정보가 배포 환경에 등록되지 않았을 수 있습니다.

해결 방법

Vercel 프로젝트의 Settings → Environment Variables에서 필요한 환경변수를 등록합니다.

값을 등록한 뒤에는 새 배포가 필요할 수 있습니다.

⑤ 웹사이트 접속 시 404 오류가 나타난다

원인

잘못된 경로로 접속했거나 프로젝트의 페이지 경로 및 빌드 설정에 문제가 있을 수 있습니다.

해결 방법

먼저 Domains에 표시된 정확한 주소를 사용하고, 접속한 경로와 프로젝트의 페이지 구성을 확인합니다.

11. Vercel 사용 시 꼭 기억해야 할 사항

처음 웹사이트를 배포할 때는 다음 내용을 기억하면 좋습니다.

  • GitHub에 프로젝트가 먼저 올라가 있어야 합니다.
  • Vercel과 GitHub를 한 번 연결하면 자동 배포를 사용할 수 있습니다.
  • 코드 수정 후 커밋과 Push를 진행해야 합니다.
  • Deployments에서 Ready 상태를 확인해야 합니다.
  • 공개 웹사이트에 개인정보를 올리지 않아야 합니다.
  • API 키와 비밀번호는 환경변수로 안전하게 관리해야 합니다.
  • 무료 Hobby 요금제는 개인적이고 비상업적인 용도에 한정됩니다.

마무리: 이제 내가 만든 웹사이트를 인터넷에 공개해 보자

Vercel을 사용하면 복잡한 서버를 직접 구축하지 않아도 웹사이트를 인터넷에 공개할 수 있습니다.

처음에는 회원가입과 GitHub 연결 과정이 조금 낯설 수 있습니다.

하지만 한 번 연결해 놓으면 이후에는 훨씬 편리합니다.

안티그래비티에서 코드를 수정하고 GitHub에 Push하면 Vercel이 자동으로 새로운 버전을 배포하기 때문입니다.

오늘의 핵심 정리

① Vercel 회원가입

② GitHub 계정 연결

③ 프로젝트 Import

④ Deploy 버튼 클릭

⑤ vercel.app 주소 확인

⑥ GitHub Push 후 Ready 상태 확인

이제 여러분이 만든 웹사이트는 내 컴퓨터 안에만 있는 프로그램이 아닙니다.

인터넷 주소를 통해 다른 사람들과 공유할 수 있는 실제 웹사이트가 된 것입니다.

다음 단계에서는 Vercel에 배포한 웹사이트에 사용자 입력 기능이나 문의하기 기능을 추가해 보세요.

참고 자료: 스마택트 바이브코딩 5차시 - 한 사이클 천천히
원본 학습 자료 보기