Cloud Platform

[Oracle Cloud Infrastructure] 오라클 클라우드 배포 과정 정리(1)

비소_ 2023. 1. 4.

클라우드 플랫폼 프리 티어 비교

  Google GCP Oracle Cloud Amazon EC2 네이버 Cloud Platform
무료 사용 VM 종류 e2-micro E2.1.Micro t2.micro Micro-g1
무료 사용 VM 개수 1개/월 2개 1개 1개
CPU 2 vCPU 1/8 OCPU 1 vCPU 1 vCPU
RAM 1GB 1GB 1GB 1GB
저장공간 30GB 총 200GB 30GB 50GB
공인 IP 무료 고정 IP 무료 무료
Elastic IP 사용
유료
아웃바운드 트래픽 1GB 10TB 100GB 20GB
무료 사용 평생 평생 1년 1년
크레딧 300달러(3개월) 300달러(30일) - 10만원(3개월)
기타 한정된 리전      

클라우드 플랫폼 중 GCP / AWS / NCP를 사용해봤는데, 가장 마음에 들었던 곳은 아무래도 AWS였다.

참 신기하게도 각 기업마다 다른 전략을 취하고 있어서 장단점이 너무나도 명확했다.

 

개인적으로 느낀 경험담을 정리해보자면..

  • AWS : 자료 많음, 기능 많음, 저장공간은 살짝 아쉬움. 아웃바운드 트래픽 충분. 단, 1년만 무료이기 때문에 계정을 다시 만들어야함.
  • NCP : 공인 IP가 유료임. 무료 사용 1년 제한. (뭐가 딱히 메리트가 있다를 못느낌..한국지원을 잘한다?)
  • GCP : 무료 인스턴스를 쓰려면 리전 제한이 있음. 아웃바운드 트래픽 작음. vCPU 2개
    • 그냥 보면 되게 괜찮아 보이는데 막상 찾아보면 제한이 많음..

[GCP] 리전별로 월별 사용 제한시간이 할당됨

  • OCI : 후발주자라 자료가 적지만, 평생 무료 인스턴스 2대, 저장공간 및 아웃바운드 용량 널널. 최근에 인기가 많아지면서 한국 리전 리소스 리밋걸리기 시작함. (본인 할때는 서울 생성 제한이어서 춘천으로감)
    • 1 OCPU = 2 vCPU 이다. 즉, 1/8 OCPU = 1/4 vCPU 다. 느리다.
    • OCI 페이지 자체가 타 플랫폼에 비해 느리다.
    • 용량은 많은데 CPU 성능이 별로니 단순 스토리지로 쓰기 좋을 것 같다.
    • ARM 기반 인스턴스(4 OCPU, 24GB RAM)을 상시 무료로 쓸 수 있다. (리소스 리밋때문에 무료 계정에서는 만들기 힘듦. 유료 계정은 바로 만들 수 있음)
    • 유료 계정으로 업그레이드하더라도 프리티어 사용량을 넘지 않는다면 과금되지 않는다.

AMD 인스턴스의 CPU는 느리지만 배포할 서버가 많았고 분산 처리를 할 것이기 때문에 차라리 램이 더 많은게 낫다고 생각했다.

또 ARM 기반 인스턴스는 4 OCPU와 총 24GB 메모리를 제공하며 유연하게 조절할 수 있으므로 큰 이점이다.

그 외 필요한 서버는 한달 300달러 크레딧으로 잠시라도 버티면 될 것 같았다.

 

OCI는 후발주자답게 리소스를 퍼주는? 느낌이 강했는데 괜히 많은 개발자분들이 탐내는게 아닌것 같다.


OCI 계정 생성

https://www.oracle.com/kr/cloud/free/

 

클라우드 서비스 무료 이용

Oracle Cloud Free Tier는 기업에게 무제한으로 사용할 수 있는 상시 무료 클라우드 서비스를 제공합니다.

www.oracle.com

링크에 들어가서 무료로 시작하기를 선택한다.

Mastercard / VISA / Amex 카드를 미리 준비하자.

이메일 인증, 핸드폰 인증, 카드 인증을 받는데, 카드는 잠시 비용이 청구되었다가 바로 입금된다. (1달러 나갔다 들어옴)

카드를 결제해도 과금이 되거나 그러지 않는다. (프리티어 선을 넘으면 애초에 리소스가 제한되기 때문)

오라클 인터뷰를 보니 다른 플랫폼에서 예상치 못한 과금때문에 환불요청이 많다라는 것을 인식하고 이런부분에 신경을 많이 썼다고 한다.

클라우드 계정 이름은 로그인 시 필요하다.
계정 이름 입 -> Tenancy 선택 -> 이메일/이름 & 비밀번호 순으로 로그인 진행

진행 중 리전을 선택하게 되는데, 서울은 거의 상시 리소스 제한이 걸려있고, 춘천은 아주 가끔 되나보다.

리소스 제한이 걸리면 ARM 인스턴스를 생성하는데 제약이 생긴다. (AMD는 용량이 작아서 괜찮다.)


OCI 구획 생성

구획(Compartment)이란?

OCI에서 자원(VCN, VM, Database, Storage 및 여러 서비스)을 만들 때, Compartment는 필수 설정 항목이다. Compartment는 OCI 자원을 논리적으로 묶는 역할을 담당한다. 다양한 OCI 자원의 논리 그룹을 Compartment로 만들고 이 단위로 자원 모니터링, 과금 및 권한을 설정한다.
  1. 로그인 후 메뉴 바 ➡️ ID & 보안 ➡️ 구획을 선택한다.
  2. 구획 생성 선택
  3. 이름과 설명을 원하는대로 작성 후 구획 생성 선택

상위 구획은 기본적으로 루트 구획으로 설정되는 것 같다.

체계적으로 구획을 구별하고자 할 때 사용하면 된다.


OCI 가상 클라우드 네트워크(VCN) 생성

  1. 메뉴 ➡️ 네트워킹 ➡️ 가상 클라우드 네트워크 선택
  2. 왼쪽 사이드 바에서 목록 범위 ➡️ 구획 ➡️ 생성한 구획을 선택한다
  3. VCN 마법사 시작 클릭
  4. 인터넷 접속을 통한 VCN 선택후 마법사 시작
    1. 인터넷 접속과 사이트 간 VPN Connect를 통한 VCN은 본인 필요에 따라 선택(그림 설명 잘되어 있음)
  5. VCN 이름을 작성하고 구획 선택 ➡️ 다음 ➡️ 생성
  6. 리소스 생성을 기다린다.

인스턴스 생성

  1. 메뉴 ➡️ 컴퓨트 ➡️ 인스턴스 선택
  2. 왼쪽 사이드 바에서 목록 범위 ➡️ 구획 ➡️ 생성한 구획 선택
  3. 인스턴스 생성 클릭
  4. 인스턴스 이름 작성(hostname으로 설정됨)
  5. 구획 선택
  6. 본인이 원하는 하드웨어 구성 및 이미지 선택
    1. ARM은 리전 리소스 제한이 걸려있으면 못만들 수도 있음.
    2. 계정 업그레이드를 하면 프리티어 넘기 전까지는 과금 안됨
  7. 네트워크 구성은 기본 설정 그대로 (공용 IP는 필요 없으면 지정 안해도됨. 설정되도 임시 공용 IP임)
  8. 부트 볼륨 설정 (기본 약 46GB, 최대 200GB까지 설정 가능, 인스턴스 개수 고려해서 생성)

SSH 키 생성 및 등록

1. ssh-keygen 명령어로 Key 생성 (아래는 RSA로 Key쌍을 생성합니다. 옵션에 따라 다양하게 설정가능)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2. 아래가 출력되면 본인이 저장할 경로와 이름을 지정합니다.

Enter file in which to save the key (/Users/you/.ssh/id_rsa):

3. 패스워드 입력(생략 가능)

4. 해당 경로에 공개키(pub)와 개인키가 있다.

5. 공개키를 업로드한다.

6. 인스턴스 생성 클릭 후 실행 될때까지 대기한다.


콘솔 접속

인스턴스가 생성됐으면 공용 IP와 사용자 이름으로 SSH 접속을 할 수 있다.

ssh {username}@{host_addr} -i {key}

고정 공용 IP 설정

  1. 메뉴 ➡️ 네트워킹 ➡️ 예약된 공용 IP 선택
  2. 예약된 공용 IP 주소 클릭
  3. 주소 이름 작성 및 구획 선택 ➡️ 예약된 공용 IP 주소 클릭 (프리티어 2개까지만 가능)
  4. 메뉴 ➡️ 컴퓨트 ➡️ 인스턴스 ➡️왼쪽 아래 리소스 중 연결된 VNIC 클릭
  5. 연결된 VNIC의 메뉴 버튼(점 3개) ➡️ 세부정보 보기
  6. VNIC 세부정보에서 왼쪽 아래 리소스 중 IP 주소 클릭
  7. 기존 IP 주소를 해제 ➡️다시 들어가서 예약된 공용 IP 할당(업데이트)

포트 오픈

  1. 메뉴 ➡️ 네트워킹 ➡️ VCN ➡️ VCN 선택 ➡️ 공용 서브넷 선택 ➡️ 보안 목록 이름 선택
  2. 수신 규칙 추가 클릭
  3. 원하는 규칙 입력

OCI는 수신 규칙 추가 이외에도 OS 자체 방화벽도 오픈해야 함.

Ubuntu 방화벽 설정

//설정된 정책 확인
$sudo iptables -nL

//특정 포트 오픈 규칙 추가
$sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

//특정 포트 오픈 규칙 삭제
$sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

//포트 오픈시 특정 IP(123.123.123.123) 로 만 허용
$sudo iptables -I INPUT -p tcp -s 123.123.123.123 --dport 8009 -j ACCEPT

//위의 "포트 오픈시 특정 IP 로 만 허용" 정책 삭제
$sudo iptables -D INPUT -p tcp -s 123.123.123.123 --dport 8009 -j ACCEPT

우분투의 iptables는 OS를 재부팅하면 설정된 내용이 초기화됨.

영구 저장하기 위해 패키지 설치

//설치
$sudo apt-get install iptables-persistent netfilter-persistent

//영구 저장
$sudo netfilter-persistent save

참고자료

https://coding-harry.tistory.com/26

 

클라우드 플랫폼 무료 티어 비교

공부한 내용을 정리합니다.

coding-harry.tistory.com

http://taewan.kim/oci_docs/00_oci/

 

오라클 클라우드 사용자 가이드

오라클 클라우드, OCI 입문자를 위한 문서 사이트입니다.

taewan.kim

https://hoing.io/archives/304

 

오라클 클라우드 프리티어(1) - 무료 VPS 사용

안녕하세요 해당 포스팅은 오라클 클라우드 프리티어, APM스택구성, 도메인설정,워드프레스 구축까지 이어지는 연재 중 처음 글 입니다. 하단의 링크를 통해 다음 단계의 포스팅을 보실 수 있

hoing.io

 

 

댓글