1. 가상 머신과 관련한 기본 용어 및 개념
1) 이미지
- 이미지는 운영체제와 함께 설치되는 소프트웨어를 정의하는 가상 하드 드라이브 템플릿이다.
- 인스턴스의 초기 상태를 정의하며, 여러 인스턴스에서 동일한 환경을 재현하고 효율적으로 관리하는 데 사용된다.
- 기본 플랫폼 이미지(Platform Image) : 오라클이 제공하는 이미지, 여러 운영체제와 버전에 대한 이미지가 미리 구성돼 있다.
- 사용자 정의 이미지(Custom Image) : 사용자가 필요에 따라 수정한 후 저장한 이미지, 자주 사용하는 환경을 재사용할 수 있으며 특정 소프트웨어나 설정이 이미 포함된 이미지를 사용할 수 있다.
2) Shape
- 기본적으로 OCI 서비스에 할당되는 자원의 단위로 이해할 수 있다.
- 이용할 수 있는 자원의 양과 성능을 결정하는 역할을 한다.
- 하이퍼바이저 가상화 기반 위에서 제공되는 가상 머신 Shape 외에도 "Flexible Shape", "베어 메탈 Shape" 등이 있다.
- Flexible Shape : 사용자가 OCPU 개수와 메모리 크기를 조정할 수 있는 유연한 형태의 Shape
- 베어 메탈 Shape : 물리 서버를 직접 제공해서 하이퍼바이저 OS 없이 물리 서버를 활용하는 Shape으로 더 높은 성능이 필요한 워크로드에 적합하다.
OCPU
"OCPU"는 오라클에서 정의하는 컴퓨팅 단위인 "Oracle Compute Unit"의 약어이다.
1 OCPU는 하이퍼스레딩이 활성화된 인텔 제온 프로세서의 물리 코어 하나와 동등한 컴퓨팅 자원을 나타낸다.
오라클 클라우드에서 가상 머신 인스턴스의 성능을 측정하고 가격을 책정하는 기준이 된다.
3) 부트 볼륨 vs 블록 볼륨
블록 볼륨
- OCI 인스턴스에 데이터와 애플리케이션을 저장하기 위한 가상 디스크로 물리 디스크와 유사한 방식으로 사용된다.
- 특정 가상 머신 인스턴스에 연결되어 있으며, 필요에 따라 해당 볼륨을 분리해서 다른 가상 머신 인스턴스에 연결할 수 있다.
→ 블록 볼륨의 재사용과 이동이 용이해지는데 분리와 연결 과정은 데이터 손실 없이 이루어진다. - 인스턴스와 블록 볼륨 간의 연결은 iSCSI(Internet Small Computer System Interface) 프로토콜을 사용한다.
- 인스턴스에서 블록 볼륨을 마운트하고 파일 시스템을 생성해서 데이터를 읽고 쓸 수 있다.
- 하나의 가상 머신 인스턴스에 여러 개의 블록 볼륨을 연결해서 사용할 수 있다.
- 용도에 따라 데이터를 분리해서 저장하거나 필요에 따라 추가 스토리지를 동적으로 연결해서 용량을 확장할 수 있다.
iSCSI 프로토콜
TCP/IP 프로토콜을 사용해서 스토리지와 호스트 시스템 간에 SCSI 명령을 전송하는 프로토콜이다.
부트 볼륨
- 인스턴스의 부팅 이미지를 저장하는 블록 스토리지 디바이스이다.
- 이미지를 기반으로 생성하면 해당 인스턴스와 동일한 컴파트먼트 내에 부트 볼륨이 자동으로 생성된다.
- 부트볼륨은 가상 인스턴스와 연결된 상태로 유지되며, 인스턴스의 실행 여부와 관계없이 계속해서 보존된다.
-> 인스턴스가 종료되어도 부트 볼륨은 보존되므로 다른 인스턴스를 생성할 때 재사용할 수 있다.
4) SSH 키 인증
- 리눅스 인스턴스는 기본적으로 암호 대신 SSH 키 페어를 사용해서 원격 사용자를 인증한다.
- 프라이빗 키는 로컬 컴퓨터에 보관하고, 퍼블릭 키는 인스턴스 생성 시 제공해서 인증을 하는 방식이다.
- 인스턴스 SSH 키 페어 : 인스턴스에 SSH 연결을 할 때 사용되는 키 페어이다.
- API 키 페어 : API 요청을 할 때 인증을 위해 사용되는 키 페어이다. OCI 자원에 접속하는 데 필요한 키이다.
https://haksuperman.tistory.com/66
해당 게시물의 설정을 가진 유저 이용하여 진행!
2. SSH 키 페어 생성
SSH 키 페어를 생성할 때는 가상 머신 생성 화면에서 "Generate a key pair for me" 옵션을 선택해서 오라클 클라우드에서 생성한 프라이빗 키와 퍼블릭 키를 이용할 수도 있다. 하지만 이 경우 생성된 프라이빗 키를 다른 사용자가 읽지 못하도록 읽기 권한을 변경해야 하며, 키 이름에 날짜가 포함되는 점도 고려해야 한다.
로컬 컴퓨터의 터미널을 사용해서 SSH 키 페어를 생성하고, 이를 가상 머신 생성 시에 사용할 것이다.
https://haksuperman.tistory.com/21
해당 게시물을 참고해 WSL을 이용해 키를 생성한다.
ssh-keygen 명령으로 키 생성
ssh-keygen -t rsa -b 2048
[엔터]
[엔터]
[엔터]
-t 옵션은 생성할 키 알고리즘, -b 옵션은 암호화 비트 수를 나타낸다(최소 2048 비트 이상을 권장)
~/.ssh 경로에 생성된 것 확인
개인키의 권한이 600으로 생성되어 있어서 굳이 변경하지 않아도 될 것 같다.
3. 가상 머신 생성
[Compute → Instances] 선택
Create instance 선택
Name : oci-demo-app
Create in Compartment : ociexplained (리소스를 배포하려는 컴파트먼트 선택)
<Image and shape 섹션>
Image : Oracle Linux 8
Shape : VM.Standard.E2.1.Micro (Free Tier 선택)
<Primary VNIC information 섹션>
Virtual cloud network : OCI_DEMO (생성한 VNC)
Subnet : public subnet-OCI_DEMO (자동 생성된 서브넷)
Assign a public IPv4 address : Yes (퍼블릭 IP 자동 할당)
Private IPv4 address : Automatically assigned on creation (프라이빗 IP 자동 할당, 직접 지정하려면 Manually assign private IPv4 address 체크하고 서브넷 IP 범위 내에서 지정 가능)
<Add SSH keys 섹션>
Upload public key files (.pub) 선택 후 생성한 SSH 퍼블릭 키(.pub) 업로드
생성한 퍼블릭 키 업로드
(하단의 부트 볼륨을 지정하지 않으면 기본값으로 46.6GB 부트 볼륨 크기의 가상 머신이 생성된다)
Create 선택으로 인스턴스 생성
PROVISIONING 상태에서 조금 기다린다.
RUNNING 상태가 되면 정상 배포가 된 것이다.
퍼블릭 IP 할당된 것 확인
퍼블릭 IP 주소
OCI가 관리하는 주소 풀에서 할당한다.
1) Ephemeral 퍼블릭 IP 주소 : 인스턴스에 연결된 후 해당 인스턴스가 삭제되면 함께 삭제된다. 인스턴스와 생명주기가 결합되어 있어 인스턴스가 삭제되면 같이 삭제된다.
2) Reserved 퍼블릭 IP 주소 : 특정 인스턴스와 관계없이 계속 유지된다. 인스턴스와 독립적으로 관리되므로 특정 인스턴스에서 연결을 해제한 후에도 해당 퍼블릭 IP 주소는 유지 된다. 따라서 이 주소를 다른 인스턴스에 할당하거나 재사용할 수 있다.
4. 데이터베이스용 가상 머신 생성
생성은 위의 퍼블릭 IP 주소를 가진 인스턴스 생성과 동일하다. 생성되는 서브넷만 퍼블릭에서 프라이빗으로 변경된다.
Name : oci-demo-db
Create in compartment : ociexplained
생성할 서브넷을 변경해야 한다.
private subnet-OCI_DEMO 서브넷으로 변경
똑같이 SSH 퍼블릭 키를 업로드
Create 클릭
PROVISIOING 상태에서 잠깐 기다린다.
RUNNING 상태로 바뀌면 정상 배포된 것이다.
프라이빗 서브넷에 배포했기 때문에 퍼블릭 IP 주소는 할당되지 않았다.
'Cloud > OCI(Oracle Cloud Infrastructure)' 카테고리의 다른 글
[OCI] 통신을 위한 네트워크 설정 (Feat. 시큐리티 리스트, Bastion 세션, 서버 자체 방화벽 설정) (0) | 2024.06.20 |
---|---|
[OCI] 오라클 클라우드에서의 Bastion 서버(점핑 호스트) (0) | 2024.06.19 |
[OCI] 컴파트먼트(Compartment), 그룹(Group), 유저(User), 정책(Policy) 생성 (Feat. 유저 로그인) (0) | 2024.06.16 |
[OCI] 가상 클라우드 네트워크(VCN) 주요 구성 (Feat. VCN 생성 실습) (0) | 2024.06.16 |
[OCI] 오라클 클라우드 계정 생성 (Feat. Free Tier 및 2단계 인증) (0) | 2024.06.15 |
개인 공부 목적으로 사용하는 블로그입니다 :)
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!