본문 바로가기
인프라

클라우드 개발 서버와 동일한 설정의 운영 서버 구축

by 스티브 십잡스 2024. 3. 10.

업무를 하면서 개발 서버와 동일한 운영 서버를 세팅해야 한다거나 반대의 경우가 있을 수 있다.

그리고 대부분 계약된 클라우드 서비스를 관리해주는 팀이 있다.

그렇기 때문에 기본적으로 개발 환경과 동일한 서버와 DB 인스턴스 생성을 요청하면 된다.

 

내가 할 작업은 신규로 생성한 서버에 기존 도메인을 붙이고, 기존 서버에 개발 서브 도메인을 생성하여 붙이는 작업이었다.

(DB 서버도 신규 생성했지만, 스키마 및 데이터 마이그레이션 작업을 당장 할 것이 아니기 때문에 이 부분은 작업하지 않았다.)

 

일반적으로 개인 프로젝트의 경우, 싱글 도메인 및 SSL 인증서를 신청해서 환경 세팅을 해 봤을 수 있다. (비용 문제)

이로 인해, 여러 도메인 및 SSL 인증서를 또 신청해야 하는 것이 아닌가 할 수 있다.

하지만, 회사는 돈이 개인보다 많이 때문에 멀티 도메인 및 인증서에 대한 계약이 되어 있을 것이다. (*.domain~)

 

이를 바탕으로 클라우드 컴퓨팅 서비스 콘솔에서 할 일 목록을 아래와 같이 작성해 볼 수 있다.

  • 서브 도메인 생성
    • API 서버를 예시로 api.domain~ 이 있었다면 apidev.domain~ 을 생성하면 된다.
  • 서버 <-> 도메인 스위칭
    • 기존 서버에 신규 생성한 도메인을 붙인다.
    • 신규 서버에 기존 도메인을 붙인다.
  • 클라우드 서버의 접속 권한 설정을 해준다. (ACG, Access Control Group)
    • WAS 서버 인바운드 설정에 WEB 서버를 추가한다.
    • DB 서버 인바운드 설정에 WAS 서버를 추가한다.
  • 웹 서버 소프트웨어 설정을 수정한다.
    • NGINX를 사용하였는데, nginx.conf 파일에도 server_name 부분을 수정해준다.
  • SSL 인증서는 기존과 동일한 .pem 파일을 사용 가능하니 건들 필요가 없을 것이다.
  • 서버 재실행을 한다.
  • 정상 동작하는지 확인한다.

[주의사항]

  • 0.0.0.0/0 설정은 80 포트만 허용할 수 있는데, 그럴 경우 443 포트로 리다이렉트 시켜야 한다.
  • VPN 사용 시, SSH 접근 IP를 VPN IP로 제약하면 좋다.
  • VPN을 켰을 때는 Private IP으로 접근할 수 있으며, 해야 한다.
  • VPC(Virtual Pricvate Cloud)를 사용한다면, 운영과 개발을 분리해야 한다.
    • 일반적으로는 외부 VPC에서 다른 VPC에 접근이 불가하다.

'인프라' 카테고리의 다른 글

Git, release 브랜치 관리하기  (0) 2024.05.16
Github Action & 도커 허브에 이미지 전송  (1) 2024.05.01
Docker-compose, FastAPI & MySQL  (0) 2024.04.24
Docker, MySQL with 파이썬  (0) 2024.04.24
Docker, FastAPI  (0) 2024.03.24