사이먼's 코딩노트

[SpringBoot] 실전 서비스 배포 (1) 본문

Java/SpringBoot

[SpringBoot] 실전 서비스 배포 (1)

simonpark817 2024. 7. 24. 11:16

[실전 서비스 배포]

  • 이번 포스팅에서는 직접 도메인을 구매하고 서버 플랫폼을 이용해서 우리가 만들어낸 프로젝트를 실제로 다른 사용자들이 로컬 환경이 아닌 곳에서도 접속할 수 있게 해봅시다. 

 

[도메인 구매]

  • 먼저 서비스를 실제로 배포하기 위해선 도메인을 하나 구매해야한다.
  • 여기서 말하는 도메인이란, google.com 이나 naver.com과 같은 우리가 흔하게 접할 수 있는 웹 사이트의 주소이다.
  • 넓은 의미로는 네트워크 상에서 컴퓨터를 식별하는 호스트명이라고 생각하면 좋다.
  • 우리는 보통 도메인 네임을 구매한다고 하는데, 말 그대로 배포할 도메인을 우리가 직접 사이트를 통해서 구매해야한다.
  • 도메인 네임이 쉽고 범용적인 것을 고르는 것이 유리하지만, 그 만큼 가격 차이도 어느정도 발생한다.
  • 아래는 추천하는 두 개의 도메인 구매 사이트이다.
  • iwantmyname 주소 : https://iwantmyname.com/
 

Your New Favorite Domain Registrar | iwantmyname

Put it to work Get building faster with 100+ automatic DNS plugins for popular services like Fastmail, Shopify, and Bitly (or you can use our full DNS manager to do it all yourself).

iwantmyname.com

 

웹을 넘어 클라우드로. 가비아

그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브

www.gabia.com

 

[도메인 관리]

  • 도메인 구매를 마쳤다면 구매한 도메인 네임을 등록하고 관리가 필요하다.
  • 도메인 구매와 도메인 관리는 굳이 같은 서비스를 이용하지 않아도 되고 서로 다른 곳에서 관리가 가능하다.
  • 아래는 도메인 관리를 위해 추천하는 사이트이다.
  • DNSZI 주소 : https://dnszi.com/
 

DNSZi - 무료 네임서버(dns) 관리 서비스! 무료파킹서비스! 무료포워딩서비스!

<!-- --> 도메인 DNS관리를 웹에서 쉽게 하세요! - DNS를 관리하는데 시간과 비용이 드시나요?- 번거롭게 도메인 등록업체에 매번 DNS정보 수정을 요청하시나요?- DNS관리자에게 DNS정보 수정을 요청하

dnszi.com

  • 회원가입을 통해 로그인을 하게 되면 좌측 상단에 '도메인 추가' 라는 메뉴를 통해 구매한 도메인 네임을 입력해준다.

dnszi 도메인 추가하기

 

[서버 생성]

  • 도메인 추가까지 완료가 되면 이제 네이버 클라우드 플랫폼을 통해 서버를 생성해야한다.
  • 네이버 클라우드 플랫폼은 유료 서비스지만 최초 가입시 100,000 크레딧을 무료로 제공하여 3달 정도 무료로 이용할 수 있다.
  • 아래는 네이버 클라우드 플랫폼 사이트 주소이다.
  • 네이버 클라우드 플랫폼 주소 :  https://www.ncloud.com/
 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

  • 회원가입을 통해 로그인을 하게 되면 우측 상단에 콘솔이라는 버튼을 통해 서버 관리가 가능한 콘솔 대시보드로 이동하게 된다.
  • 서버를 생성하기 전 VPC와 Subnet 네트워크를 먼저 생성하여 설정해줘야 한다.
  • VPC는 기업이 공유된 퍼블릭 클라우드 인프라에 프라이빗 클라우드와 같은 자체 컴퓨팅 환경을 구축할 수 있는 퍼블릭 클라우드 서비스이다.
  • Subnet은 네트워크 내부의 네트워크로 IP 주소에서 네트워크 영역을 부분적으로 나눈다고 생각하면 좋다.
  • 콘솔창에 진입하면 좌측에 메뉴바가 있는데 거기서 Services 메뉴를 열어보면 Networking에 VPC라는 항목을 선택하고 VPC 생성을 해주면된다.

VPC 생성

 

  • VPC 생성을 마치면 좌측 메뉴의 Subnet Management 메뉴를 선택하여 Subnet을 생성한다.

Subnet 생성

 

  • 마지막으로 서버를 생성해보도록 하겠습니다.
  • 마찬가지로 콘솔창 메뉴에서 Services를 열었을 때 Compute에 Server를 선택하고 서버 생성을 진행한다.
  • 서버 이미지를 선택할 때는 CentOS, Standard로 설정한다. 여기서 말하는 이미지는 리눅스 환경의 OS를 설치하기 위해 필요한 부팅이미지라고 생각하면 좋다.

서버 생성

 

  • 서버 생성 과정중에 인증키 설정이 있는데, 새로운 인증키를 생성하고 다운받은 .pem 파일은 나중에 서버 root 비밀번호를 알기 위해서 반드시 필요하기 때문에 따로 개인적인 곳에 저장을 권장한다.
  • 서버 생성을 마치면 부팅 시간이 있기 때문에 다소 몇 분의 시간이 지나야 등록된 서버가 활성화가 된다.

서버 생성 완료

 

  • 서버가 활성화가 됐다면 마지막 작업으로 서버 메뉴 중 ACG를 선택하여 방화벽 설정이 필요하다.
  • 기본적으로 아래와 같이 5가지의 Port에 대해서 방화벽 설정이 필요하다.
  • 80번 포트 : HTTP, 웹 서비스용 포트
  • 81번 포트 : NGINX PROXY MANAGER 관리용 포트
  • 443번 포트 : HTTPS, 웹 서비스용 포트
  • 22번 포트 : 리눅스 원격접속용 포트
  • 3306번 포트 : 리눅스에 설치된 MySQL 관리용 포트

ACG 설정

 

[네임서버 등록]

  • 서버 등록을 마치면 iwantmyname이나 가비아에서 구매한 도메인의 관리 권한을 DNSZI에 위임하는 작업이 필요하다.
  • 먼저 네이버 클라우드를 통해 생성된 서버의 공인 IP 주소를 확인한다.
  • DNSZI에 접속하여 좌측 도메인 목록의 도메인을 선택하고 '호스트IP 관리' 메뉴를 선택하여 위에서 확인한 공인 IP 주소를 입력해준다.
  • 이 때 A레코드에는 www가 붙어있는 버전과 안붙어있는 버전 두가지를 모두 입력해준다.
  • 이렇게 되면 나중에 범용적으로 외부인이 우리의 홈페이지를 접속할 때 www.anibirth.shop 로도 방문이 가능하고 anibirth.shop으로도 방문이 가능하게 된다.

도메인 관리권한 위임

 

  • 마지막으로 DNSZI에서 좌측에 생성된 네임서버를 도메인을 구매한 사이트에서 등록해줘야한다.

네임서버 등록

 

 

반응형

'Java > SpringBoot' 카테고리의 다른 글

[SpringBoot] 실전 서비스 배포 (3)  (0) 2024.07.27
[SpringBoot] 실전 서비스 배포 (2)  (2) 2024.07.24
[SpringBoot] 결제 시스템  (0) 2024.07.18
[SpringBoot] 멀티 채팅방 (3)  (0) 2024.06.19
[SpringBoot] 멀티 채팅방 (2)  (0) 2024.06.19