개발

오라클 클라우드에서 무료로 제공하는 인스턴스를 사용해보자

brobro332 2024. 12. 22. 23:10
반응형
슬슬 프로젝트 배포도 신경을 써야 할 때가 됐다. 그런데 솔직하게 돈은 최대한 아끼고 싶다. 🙄
현업에서는 온 프레미스 환경이 아니라면 AWS를 많이 사용하고, 그래서 AWS에 대한 레퍼런스가 많은 것도 사실이지만 개인 프로젝트에 적용하는 데에는 무엇보다 비용이 가장 신경 쓰였다.
 
그런데 오라클 클라우드에서 상시 프리티어로 제공하는 인스턴스가 있다고 해서 도입해보려고 한다. 그리고 오라클 클라우드도 구글링 해보면 생각보다 정보가 많았다.

 

과금 방지를 위해 알아야 할 부분

  1. 인스턴스는 최대 2개까지 사용 가능하며, 상시 프리티어 여부를 확인해야 한다.
  2. 볼륨은 최대 100GB까지 무료로 사용 가능하다. 물론 모든 인스턴스를 합쳤을 때의 용량이다.

 

인스턴스를 생성하고 접속하기까지의 과정

VCN 설정

  • Networking > Virtual cloud networks 메뉴로 들어와서 [Create VCN] 버튼을 누르면 위 화면이 나온다.
    • VCN(Virtual Cloud Network)은  사용자가 정의하는 가상 네트워크다.
    • 인스턴스, 데이터베이스 등 OCI(Oracle Cloud Interface) 리소스가 통신할 수 있는 환경을 제공한다.
    • VCN을 설정하는 과정에서 다음 목록들도 함께 설정을 해야 한다.
  • IP 주소(IPv4, IPv6) 범위 설정
    • 여기서 IP 주소 범위를 설정하는 건 네트워크 간 충돌을 막기 위해서이다.
    • 그러므로 IP 주소를 설정할 땐 하나의 네트워크에서 사용할 전체 IP 범위를 지정해주자.
    • 가령 192.168.0.0/16으로 지정한다면 IP의 주소는  192.168.0.0 ~ 192.168.255.255가 된다.
  • 서브넷 설정
    • 서브넷을 설정하는 건 네트워크를 논리적, 물리적으로 분리하여 사용하기 위함이다.
    • 하나의 네트워크에서 프론트엔드 서버, 백엔드 서버, DB 서버를 분리해서 인스턴스 3개를 사용할 경우 서브넷을 나눠서 분리할 수 있다.
    • 물론 분리하지 않고 하나의 인스턴스에서 사용할 수 있지만, 분리할 경우에는 트래픽 분산이나 별도의 보안 정책을 적용하는 등의 이점이 있다고 한다. 
    • 가령 192.168.0.0/24로 지정한다면 IP의 주소는 192.0.0.168 ~ 192.0.0.255가 된다. 어떻게 보면 당연하지만, 서브넷의 범위는 IP 주소 범위 안에 있어야 한다. 
  • 인터넷 게이트웨이 설정
    • 인터넷 게이트웨이는 VCN의 리소스가 공용 인터넷과 통신할 수 있도록 하는 구성 요소이다.
    • 인터넷 게이트웨이를 설정하지 않으면 보안 규칙을 허용하더라도 22 포트를 통해 SSH 원격 접속이 불가하다.
  • 라우트 테이블 설정
    • 라우트 테이블은 VCN 내 리소스가 인터넷, 네트워크, 또는 다른 VCN으로 트래픽을 전송할 때 적절한 경로를 결정한다.
    • 인터넷 게이트웨이와 함께 설정되어야 인터넷 접근이 가능하다.
  • 보안규칙 설정
    • 보안규칙은 방화벽 설정이라고 이해하면 된다. 가령 몇 번 포트에 대해서 허용 IP나 그 범위를 설정하는 것이다.
    • HTTP, HTTPS에 해당하는 80이나 443과 원격 접속을 위해 22 포트 정도는 허용하는 게 적절할 것으로 보인다.

 
인스턴스 생성

  • 먼저 이미지와 형태를 선택해야 한다.
  • 과금이 싫다면 상시 프리티어인 목록을 적절히 선택하자.

 

  • 위에서 설정한 VCN과 서브넷을 설정해 주자. 본인이 할 수 있는 설명은 위에서 모두 마쳤다.

 

  • SSH 키 설정인데, 구글링 해보니 공개 키 붙여넣기 방식이 보안에 더 좋다고 하는데 본인은 크게 문제없을 것 같다고 판단해서 서비스에서 제공하는 키 쌍을 사용하기로 했다.
  • 비공개 키와 공개 키는 따로 저장하여 소중히 보관해 두자. 분실하면 나중에 곤란해질 수 있다고 한다.

 

  • 위에서 볼륨은 최대 100GB까지 무료라고 했다.
  • 인스턴스는 최대 두 개까지 상시 프리티어로 사용할 수 있으므로 본인은 50GB씩 두 개를 사용할 예정이다.
  • 이것도 각자 적절하게 설정하면 되겠다.
  • 이외에는 따로 설정할 건 없다.

 

  • 우측 하단에 이렇게 요금이 나올 수 있다고 설명하는데, 이건 추정치고 실제로 상시 프리티어만 사용하면 과금은 되지 않는다고 한다.
  • 근데 본인도 아직 사용 안 해봐서 모르니 이 부분은 따로 조사해 보시는 걸 추천드린다.
  • 설정을 마쳤다면 좌측 하단의 [Create] 버튼을 눌러 인스턴스를 생성하자.

 

  • Compute > Instances 메뉴에 들어가면 생성한 인스턴스 목록이 보이며, 인스턴스를 클릭하면 인스턴스 정보를 확인할 수 있다.
  • 그런데 현재 퍼블릭 IP는 유동적이어서 인스턴스를 중단하고 시작할 때 계속 값이 변하기 때문에 예약 IP를 등록해야 한다.
  • 스크롤을 더 내려서 좌측 하단에 Attached VNICs 메뉴로 들어가자.
  • 들어가서 인스턴스 등록할 때 같이 생성된 VNIC를 클릭하자.
  • 그러면 좌측 하단에 다음 이미지와 같이 메뉴가 보이는데, IPv4 Addresses 메뉴로 들어가자.

 

  • 목록 끝의 [Edit] 버튼을 클릭하여 No public IP로 설정해 준 후 저장한다.

 

  • 그리고 예약 IP를 설정하기 위해 다시 [Edit] 버튼을 누르자.

 

  • 위 이미지와 같이 설정하고 저장하면 된다.
  • 퍼블릭 IP 이름은 필수값이었는지 기억이 안 난다. 필요하면 입력하도록 하자.
  • 이제 인스턴스 생성 및 기본 설정은 마쳤다. 인스턴스에 원격으로 접속해 보자.

 

인스턴스 원격 접속

  • 생성한 인스턴스를 클릭하면 위 이미지처럼 인스턴스 정보를 확인할 수 있다.
  • 어디까지 공개해도 될지 몰라서 다 가렸다. 퍼블릭 IP 주소와 사용자명은 원격 접속 시 필요하므로 기억해 두자.

 

  • 본인은 MobaXterm을 사용할 것이다. PuTTy 등 다른 프로그램도 있으니 각자 입맛에 맞게 사용하면 된다.

 

  • 원격 호스트에는 퍼블릭 IP를 입력하면 된다. 사용자명도 체크하여 입력해 주자.
  • 아까 인스턴스 생성할 때 저장한 비밀 키는 여기에 등록하여 접속하는 것이다.

 

  • 성공적으로 접속까지 마쳤다.
  • 이제 서버나 데이터베이스 등 필요한 리소스를 구축하면 된다.

 

마치며

다음은 GitHub Actions 또는 젠킨스를 통해 CI/CD 파이프라인을 구축해 볼 것이다.
처음 해보는 거고 시행착오도 많이 겪을 것이라 오래 걸릴 것 같긴 하다. 😂

 

이미지 출처

 

[Oracle Cloud] 오라클 클라우드 VM 인스턴스 생성 및 원격 접속

목차 클라우드 컴퓨팅 서비스를 사용해야겠다고 생각하게 된 계기 여러가지 프로젝트를 진행하다보면 팀을 이뤄서 진행하거나 다른 컴퓨터를 사용하여 프로젝트를 진행하는 경우가 필연적으

colabear754.tistory.com