개발 블로그

발행: 2022/09/30수정: 2022/09/30

오라클 클라우드에 NestJS와 PostgreSQL DB 배포하기 1

인스턴스 생성하고 콘솔 접속하기

사용 OS : Mac OS

목차

A. 인스턴스 생성

A1. 회원가입, 로그인

  • cloud.oracle.com에 회원가입합니다.
  • 서울 리전으로 가입했습니다.

A2. 인스턴스 생성

사용할 가상 머신을 생성합니다.

인스턴스 생성하고 콘솔 접속하기_01

  • 로그인 후 화면에서 주황색 표시한 햄버거 버튼 클릭

인스턴스 생성하고 콘솔 접속하기_02

  • 컴퓨터 -> 인스턴스 클릭

인스턴스 생성하고 콘솔 접속하기_03

  • 인스턴스 생성 클릭

인스턴스 생성하고 콘솔 접속하기_04

  • 이미지 및 구성 탭에서 확장 버튼을 누르면 이미지와 Shape를 선택할 수 있습니다.

인스턴스 생성하고 콘솔 접속하기_05

  • 이미지는 Oracle Linux 9 버전을 선택했습니다.
    • 결정하는데 공부하는 비용을 많이 쓸 필요가 없었기 때문에 기본값인 오라클 리눅스를 사용합니다.
    • dnf로 패키지를 설치할 때 Oracle Linux 8이하는 번거로움이 있었습니다.

인스턴스 생성하고 콘솔 접속하기_06

  • Shape는 Ampere 무료 범위 최고사양으로 했습니다.
    • OCPU 수 4개, 메모리 용량 24GB까지 무료로 사용가능합니다.
    • Ampere는 애플 M1같은 Arm기반 프로세서입니다.
    • Arm기반이라 혹시 모를 삽질이 예상됩니다.
      • 하지만 사용할 패키지가 지원하는 것 같고,
      • 메모리 용량을 많이 줘서 선택합니다.

인스턴스 생성하고 콘솔 접속하기_07

  • 자동으로 키 쌍 생성 -> 전용 키 저장, 공용 키 저장 클릭해 키 파일 다운로드.

언급하지 않은 나머지 설정은 모두 기본값으로 둡니다.

B. 콘솔 접속하기

B1. SSH 키 파일

인스턴스 생성할 때 다운로드 한 키 파일이 download 폴더에 있습니다. 다운로드한 날짜를 기준으로 파일이름이 생성됩니다.

ssh-key-2022-09-27.key
ssh-key-2022-09-27.key.pub

~/.ssh 폴더에 붙여넣기

이 파일을 /Users/사용자이름/.ssh 폴더에 붙여넣습니다. 파인더에서 단축키 커맨드 + 시프트 + G -> ~/.ssh 입력해서 이동할 수 있습니다.

혹은 터미널에서 아래처럼 입력해서 복사할 수 있습니다.

cd downloads
cp ssh-key-2022-09-27.key ~/.ssh
cp ssh-key-2022-09-27.key.pub ~/.ssh

키 파일 권한 설정

key 파일에 600권한이 있어야 정상 작동합니다. 터미널에서 아래처럼 입력합니다.

cd ~/.ssh
chmod 600 ssh-key-2022-09-27.key

B2. 접속

인스턴스 세부정보에서 사용자 이름공용 IP 주소를 확인할 수 있습니다.

햄버거 버튼 -> 컴퓨트 -> 인스턴스 -> 해당 인스턴스

인스턴스 생성하고 콘솔 접속하기_08

터미널에서 ssh 사용자이름@ip주소 -i ~/.ssh/ssh-key-2022-09-27.key 이런 형식으로 본인의 사용자 이름공용 IP 주소를 입력하면 콘솔에 접속됩니다.

ssh opc@14.11.11.70 -i ~/.ssh/ssh-key-2022-09-27.key

접속 명령어 간단히 하기

항상 ip주소와 긴 파일이름을 입력하면 불편합니다.

ssh oracle-cloud 이렇게 간단하게 입력하면 좋겠습니다.

~/.ssh 폴더에 맥 내장 텍스트 편집기나 사용하는 프로그램으로 이름이 config인 파일을 만듭니다.

  • 형식
Host 사용할 명령어
HostName 공용 IP 주소
User 사용자 이름
IdentityFile 키 파일 경로
  • 예시
Host oracle-cloud
HostName 14.11.11.70
User opc
IdentityFile ~/.ssh/ssh-key-2022-09-27.key

이제 터미널에서 ssh oracle-cloud 이렇게 입력하면 접속 됩니다.


오류

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

콘솔에 접속할 때 이 에러 메시지가 나타난다면 구글링을 멈추고, 가장 먼저 인스턴스 재생성을 권장합니다.

인스턴스 생성 후 콘솔 접속 메뉴에서 로컬 접속 생성하면 해당 문제가 나타납니다. 로컬 접속 생성에서 어떤 짓을 해도 해결되지 않았고 인스턴스 재생성으로 해결됐습니다.

Ampere 인스턴스 생성에 제한이 있다고 해서 최대한 안하려고 했는데 쉽게 생성되는 걸 보니 요즘엔 그 문제가 없는 거 같습니다.

참조

덧붙임

콘솔 접속에 사용한 공용 IP는 고정된 IP가 아닙니다. 오라클 클라우드는 2개의 고정된(예약된) IP를 제공합니다. 이를 사용하면 공용 IP가 바뀌는 걱정없이 사용할 수 있습니다.

오라클 클라우드 프리티어에서는 무료 등급이라도 부트 볼륨의 성능을 변경 할 수 있습니다.