시작 전 준비
10분이면 끝납니다. 아래만 있으면 바로 진행 가능합니다.
필요한 것
- Oracle Cloud 계정 (cloud.oracle.com)
- 결제 가능한 카드 (업그레이드 인증용)
- 노트북 또는 PC (Windows / macOS / Linux)
- 터미널 앱 (macOS/Linux 기본 터미널, Windows는 PowerShell 또는 Windows Terminal)
미리 알아둘 용어
- VCN: 클라우드 안의 가상 네트워크
- Internet Gateway: 인터넷 출입구
- Route Table: 어디로 트래픽을 보낼지 정하는 표
- Public IP: 인터넷에서 접속할 수 있는 주소
- SSH 키: 비밀번호 대신 쓰는 열쇠 쌍 (공개키/개인키)
처음이면 네트워크는 Start VCN Wizard → Create VCN with Internet Connectivity로 한 번에 만드는 게 가장 안전합니다. 이 가이드는 마법사 방법 + 수동 점검 포인트를 함께 적었습니다.
OCI 계정 업그레이드
Free Tier만으로는 원하는 shape/용량이 막히는 경우가 많습니다. Pay As You Go로 올립니다.
1-1. 콘솔 접속
- https://cloud.oracle.com 에 로그인합니다.
- 우측 상단 프로필/계정 메뉴 또는 홈 화면에서 Billing & Cost Management / Upgrade 관련 배너를 찾습니다.
1-2. Pay As You Go로 업그레이드
- 메뉴에서 Billing & Cost Management → Account Management → Payment Method 또는 홈의 Upgrade your account 를 엽니다.
- Upgrade to Pay As You Go 를 선택합니다.
- 주소/결제 카드 정보를 입력하고 인증을 완료합니다.
- 상태가 Active / Pay As You Go 인지 확인합니다.
1-3. 홈 리전 확인
- 콘솔 우측 상단에서 현재 리전을 확인합니다. 예: ap-chuncheon-1, ap-seoul-1, ap-tokyo-1
- 인스턴스를 만들 리전을 미리 정해 두고, 이후 모든 작업을 같은 리전에서 진행합니다.
업그레이드해도 “무조건 과금”은 아닙니다. 사용량에 따라 과금됩니다. 다만 Free Tier 한도를 넘는 shape/스토리지를 쓰면 비용이 발생할 수 있으니, 이 가이드의 사양(2 OCPU / 12GB)도 리전·할인·Always Free 여부에 따라 무료가 아닐 수 있습니다.
계정이 Pay As You Go 상태이고, 작업할 리전을 정해 두었다면 다음 단계로 갑니다.
VCN 설정 · Internet Gateway · Route Table
서버가 인터넷과 통신하려면 네트워크 출입구와 경로가 필요합니다.
수동으로 하나하나 만들기보다, Oracle이 제공하는 VCN Wizard를 쓰면 Internet Gateway, 공용/사설 서브넷, 기본 라우팅, SSH 보안 규칙까지 한 번에 만들어 줍니다.
2-1. Start VCN Wizard 실행
- Networking → Virtual cloud networks 로 이동합니다.
- 좌측 상단 compartment(구획)가 본인 root 또는 작업용 compartment인지 확인합니다.
- Start VCN Wizard 를 클릭합니다.
- Create VCN with Internet Connectivity 를 선택하고 다시 Start 합니다.
2-2. 기본값 입력
- VCN Name: 예) friend-vcn
- Compartment: 본인 작업 구획
- CIDR은 기본값 그대로 써도 됩니다. 예) VCN 10.0.0.0/16
- Public subnet / Private subnet 이름도 기본값 유지 가능
- Next → Create 를 눌러 생성합니다.
2-3. 마법사가 자동으로 만드는 것
- VCN 1개
- Internet Gateway (공인 인터넷 연결)
- NAT Gateway, Service Gateway (사설 서브넷용)
- Public subnet + Private subnet
- 각 서브넷의 Route Table / Security List 기본 규칙 (SSH 포함)
직접 확인하고 싶은 경우 (수동 점검)
A. Internet Gateway 확인
- 만든 VCN 상세 페이지로 들어갑니다.
- 왼쪽 Resources에서 Internet Gateways 를 클릭합니다.
- Gateway가 있고 상태가 Available 인지 확인합니다.
- 없다면 Create Internet Gateway → 이름 입력 → Create.
B. Route Table 확인 (가장 중요)
- VCN 상세 → Route Tables 로 이동합니다.
- Public subnet이 사용하는 Route Table을 엽니다.
- 아래 규칙이 있어야 합니다.
| Destination | 0.0.0.0/0 (모든 인터넷 주소) |
|---|---|
| Target Type | Internet Gateway |
| Target | 방금 만든 / 확인한 IGW |
이 규칙이 없으면 인스턴스에 Public IP를 줘도 외부에서 SSH가 안 되거나, 인스턴스가 인터넷으로 나가지 못합니다.
C. Security List / NSG 확인 (SSH 문 열기)
- Public subnet의 Security List를 엽니다.
- Ingress Rules에 SSH(22) 규칙이 있는지 확인합니다.
| Source | 0.0.0.0/0 (처음 실습용) 또는 내 공인 IP/32 |
|---|---|
| IP Protocol | TCP |
| Destination Port | 22 |
가능하면 0.0.0.0/0 대신 본인 공인 IP만 허용하는 편이 안전합니다. 다만 이동이 잦으면 접속이 막힐 수 있으니, 실습 직후에는 열어 두고 나중에 좁혀도 됩니다.
Public subnet + Internet Gateway + Route Table(0.0.0.0/0 → IGW) + SSH 22 허용이 준비됐으면 인스턴스를 만들 수 있습니다.
인스턴스 생성 (Ubuntu 24.04 · 2 OCPU · 12GB)
여기서 실제 서버를 띄웁니다. 설정값을 아래 표대로 맞추면 됩니다.
| 이름 | 예) friend-ubuntu-01 |
|---|---|
| Image | Canonical Ubuntu 24.04 (Platform image → Ubuntu) |
| Shape | Flexible shape 권장. 예) VM.Standard.A1.Flex (Ampere/ARM) 또는 x86 Flex |
| OCPU | 2 |
| Memory | 12 GB |
| Subnet | 방금 만든 Public subnet |
| Public IPv4 | Assign a public IPv4 address 선택 (필수) |
| SSH keys | 본인 공개키 업로드 또는 콘솔에서 키 쌍 생성 후 개인키 다운로드 |
3-1. 기본 정보
- Compute → Instances → Create instance
- Name 입력
- Create in compartment 확인
- Availability domain은 기본값 또는 여유 있는 AD 선택
3-2. Image 선택
- Change image 클릭
- Ubuntu 선택
- 버전에서 Canonical Ubuntu 24.04 선택
- 가능하면 최신 이미지 빌드를 고르고 Select image
3-3. Shape 선택 (2 OCPU / 12GB)
- Change shape 클릭
- Instance type: Virtual machine
- Shape series:
- Always Free/가성비 목적 → Ampere 의 VM.Standard.A1.Flex
- x86이 필요하면 AMD/Intel Flex
- OCPUs 슬라이더를 2 로
- Memory를 12 GB 로
- Select shape
같은 리전의 다른 Availability domain을 바꾸거나, 잠시 후 재시도하거나, 다른 Flex shape를 선택해 보세요. Free/인기 리전은 용량 부족이 자주 납니다.
3-4. Networking
- Primary network: 기존 VCN 선택
- Subnet: Public Subnet 선택
- Public IPv4 address 항목에서 Assign a public IPv4 address 를 꼭 켭니다.
- (선택) Network security groups가 있다면 SSH 허용 NSG를 함께 연결
3-5. SSH 키 등록
- Add SSH keys 영역에서 하나를 고릅니다.
- 방법 A (추천·간단): Generate a key pair for me
- Save private key 를 눌러 개인키 파일을 컴퓨터에 저장
- 공개키는 자동 등록됨
- 방법 B: 이미 있는 공개키를 붙여넣기 / 업로드
- 예: ~/.ssh/id_ed25519.pub 내용
개인키(.key / .pem)를 다운로드하지 않거나 잃어버리면, 새로 만든 서버에 다시 들어가지 못할 수 있습니다. 지금 바로 안전한 폴더에 저장하세요.
3-6. 생성 완료
- 부트 볼륨 크기는 기본(약 50GB) 유지해도 됩니다.
- Create 클릭
- 상태가 PROVISIONING → RUNNING 이 될 때까지 1~3분 기다립니다.
- 인스턴스 상세 화면에서 Public IP address 를 복사해 메모합니다.
인스턴스 상태가 RUNNING 이고, Public IP가 보이며, 개인키 파일을 내 컴퓨터에서 찾을 수 있으면 성공입니다.
SSH 키는 잘 보관해야 한다
Public IP는 다시 볼 수 있지만, 개인키를 잃으면 복구가 매우 번거롭습니다.
반드시 지킬 것
- 개인키 파일은 비밀번호 있는 폴더/암호 관리자/암호화 드라이브에 보관
- 파일명 예: friend-ubuntu-01.key
- 백업 1개 더 만들기 (USB 또는 암호 관리자 첨부)
- 권한 잠그기 (macOS/Linux)
절대 하지 말 것
- 카카오톡/디스코드에 개인키 내용 그대로 붙여넣기
- GitHub, 구글 드라이브 공개 링크에 업로드
- 여러 사람에게 같은 개인키를 무분별 공유
- 스크린샷으로 키 전체 찍어서 전송
키 권한 설정 (macOS / Linux)
권한이 너무 열려 있으면 SSH가 키를 거부합니다.
공개키(.pub)는 서버에 등록하는 “자물쇠”입니다. 비교적 공유 가능.
개인키(.key/.pem)는 “열쇠”입니다. 준업에게 넘길 때도 안전한 방법으로만 전달하세요.
접속 절차 (본인이 먼저 확인)
준업에게 넘기기 전에, 본인 PC에서 한 번 들어가 보면 실수가 줄어듭니다.
5-1. 확인할 값
- Public IP 예: 129.154.xx.xx
- 사용자 이름: Ubuntu 이미지는 보통 ubuntu
- 개인키 경로: 예) ~/Downloads/friend-ubuntu-01.key
5-2. SSH 접속 명령
- PUBLIC_IP 를 실제 주소로 바꿉니다.
- 처음 접속 시 fingerprint 확인 질문이 나오면 yes
- 프롬프트가 ubuntu@... 형태로 바뀌면 성공
5-3. Windows 사용자
- Windows Terminal / PowerShell 에서도 위와 같은 ssh -i ... 명령을 사용할 수 있습니다.
- 또는 PuTTY를 쓴다면 .pem/.key 를 .ppk 로 변환해야 합니다.
- 파일 경로에 한글/공백이 있으면 따옴표로 감싸세요.
5-4. 접속이 안 될 때 빠른 점검
- 인스턴스 상태가 RUNNING 인가?
- Public IP가 비어 있지 않은가? (비어 있으면 다시 할당 필요)
- Subnet이 정말 Public subnet 인가?
- Route Table에 0.0.0.0/0 → Internet Gateway 가 있는가?
- Security List에 TCP 22 가 열려 있는가?
- 사용자명이 ubuntu 인가? (Oracle Linux면 opc)
- 키 파일 경로/권한이 맞는가?
여기서 한 번이라도 정상 접속되면, 같은 정보로 준업도 접속할 수 있습니다.
준업에게 전달하기
마지막 단계입니다. 아래 체크리스트대로 보내면 됩니다.
전달 전 체크리스트
- 1인스턴스 상세에서 Public IP 다시 확인
- 2SSH 개인키 파일이 열리는지 확인 (내용이 비지 않았는지)
- 3본인 PC에서 SSH 접속 성공 확인
- 4사용자명 ubuntu 인지 확인
- 5개인키는 안전한 전송 수단으로만 전달
추천 전달 방법
- Public IP + 접속 명령 은 일반 메시지로 보내도 됩니다.
- 개인키 파일 은 아래 중 하나로 보냅니다.
- 암호 걸린 압축 파일로 전송 + 암호는 다른 채널로 전달
- 1Password / Bitwarden 등 공유 기능
- 직접 만나서 USB / AirDrop
- 오픈 채팅/단톡에 키 파일을 올리지 마세요.
준업에게 보낼 메시지 템플릿
준업아, OCI 서버 만들었어. - Public IP: 129.154.xx.xx - 사용자: ubuntu - OS: Ubuntu 24.04 - 사양: 2 OCPU / 12GB RAM - 개인키 파일: friend-ubuntu-01.key (별도로 안전하게 보내둘게) 접속 명령: ssh -i ./friend-ubuntu-01.key ubuntu@129.154.xx.xx mac/linux면 먼저 권한 잠가줘: chmod 400 ./friend-ubuntu-01.key 접속 확인되면 나만 알려줘!
준업이 접속에 성공했다면, 나중에 보안을 위해 본인 키와 준업 키를 분리하거나, Security List에서 SSH 허용 IP를 좁히는 것을 권장합니다.
자주 하는 실수 / FAQ
막히면 여기부터 보면 됩니다.
Q. Public IP가 안 보여요
인스턴스 생성 시 Public IPv4 할당을 안 켰거나, Private subnet에 올린 경우입니다. 인스턴스 → Attached VNICs → 해당 VNIC → Public IP 할당을 확인하세요. 안 되면 인스턴스를 지우고 Public subnet + Assign public IP 로 다시 만드는 게 빠를 때가 많습니다.
Q. Permission denied (publickey)
1) 개인키가 맞는지 2) 사용자명이 ubuntu 인지 3) 콘솔에 등록된 공개키와 쌍이 맞는지 확인하세요. 콘솔 생성 시 다운로드한 그 개인키를 써야 합니다.
Q. Connection timed out
네트워크 문제일 확률이 큽니다. Security List 22 포트, Route Table의 0.0.0.0/0 → IGW, 인스턴스 RUNNING 여부, 회사/학교 네트워크의 22 차단 여부를 확인하세요.
Q. Ubuntu 24.04가 목록에 없어요
Change image → Platform images → Ubuntu 로 들어간 뒤 버전 드롭다운을 확인하세요. 리전/이미지 동기화 상태에 따라 최신 빌드 표기가 조금 다를 수 있습니다. 24.04 LTS 를 고르면 됩니다.
Q. 2 OCPU / 12GB 조합이 안 만들어져요
선택한 shape의 메모리 비율 제한이거나, 서비스 한도/용량 부족일 수 있습니다. A1.Flex라면 OCPU 2일 때 메모리를 12GB로 맞출 수 있는지 슬라이더를 확인해 보세요. 안 되면 한도 상향 요청 또는 다른 AD/shape를 시도합니다.
Q. Always Free로 가능한가요?
Always Free는 보통 Ampere A1 기준 총 4 OCPU / 24GB 를 계정 전체에서 나눠 쓰는 식입니다. 이 가이드의 2 OCPU / 12GB 는 그 한도 안에 들어갈 수 있지만, 리전 용량·업그레이드 상태·기존 인스턴스 사용량에 따라 실패할 수 있습니다.
한 장 요약
바쁠 때는 이것만 보세요.
- OCI 로그인 → 계정 Pay As You Go 업그레이드
- Networking → Start VCN Wizard → Create VCN with Internet Connectivity
- Route Table에 0.0.0.0/0 → Internet Gateway, Security List에 TCP 22 확인
- Compute → Create instance → Ubuntu 24.04 / 2 OCPU / 12GB / Public subnet / Public IP
- SSH 개인키 다운로드 후 안전하게 보관
- 본인 접속 확인: ssh -i key ubuntu@PUBLIC_IP
- Public IP + 개인키를 준업에게 안전하게 전달