3개 Compte 인스턴스 생성
이 문서에서는 위 이미지와 같이 이름이 demo_vcn인 VCN(Virtual Cloud Netwrok)의 private subnet에 아파치 웹서버가 설치된 Compute 인스턴스를 3개 프로비저닝하는 절차를 소개할 것입니다. 이번 문서에서는 OCI 콘솔을 이용하여 OCI Linux VM 인스턴스를 생성할 것입니다 .OCI Linux VM 인스턴스 생성 과정은 다음과 같은 절차로 진행됩니다.
VM 프로비저닝
SSH Key Pair 파일 준비
OCI Linux VM 인스턴스을 생성할 때 등록할 SSH Key Pair 파일을 생성합니다. 이 파일은 SSH 접속에 사용됩니다. SSH Key Pair 파일은 다음 문서를 참조하여 만듭니다.
작업 유형 | 작업 참조 문서 |
---|---|
Key Paring RSA 파일 생성 | 운영체제별 SSH Key Pair 준비 |
SSH Key Pair 파일의 공개키는 다음과 같은 형식을 갖습니다.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN40LZmMb7uiZNTG1bBHE+pJZhjrg7an
+plbU1r9Dc3rXFjUuJMepwABAsFIKuZF6VrFFkoJ7xvD6zjB12b5xFHgZ5Z9VkmAXQtd2ec
zXL/BLWb2j7prt4Bdq+e6+LCTn0BVbmUwhf5dt/LCD4Wr/ITpG0ST/p+vy8VufQNdC+TQ4p
MV0kJabcdcnqQ3zS2Rz2nfxez2iNukrgl6TeNU52SwtEgPKWn4Kl1THjn/ujPea9d2qLElI
pLZ496AIHugEMaShX8cr4QtoQmzCdxSoqtJvRe+byf/W3Z2pNwr0ENOX0ZkHyjk3t2YZxvD
bK9NxlqhTy9kmyJLYZgWldHj3 taewan@taewanui-MBP
생성한 SSH Key Pair 파일의 위치와 파일명은 다음과 같다고 가정하고 진행하겠습니다.
파일 유형 | 파일 위치 | 파일명 |
---|---|---|
RSA 공개키 | /temp | id_rsa.pub |
RSA 비밀키 | /temp | id_rsa |
사용 가능한 자원 확인
현재 Tenancy에 할당된 사용 가능한 자원을 확인 합니다. Tenancy에 할당된 자원량을 확인하는 Limits, Quotas and Uasge(제한, 할당량 및 사용량) 페이지는 다음과 같은 메뉴 패스로 이동할 수 있습니다.
Limits, Quotas and Uasge(제한, 할당량 및 사용량) 페이지에서 리전의 AD(Available Domain)에서 서비스 별로 Tenancy에 할당된 자원 크기와 현재 사용중인 자원 크기 및 사용 가능한 자원 크기를 확인할 수 있습니다. 또한 Request a services limit increase에서 자원 할당 증설을 요청할 수 있습니다.
위 페이지에서 사용 가능한 Shape인 VM.Standard2.1으로 리눅스 VM 인스턴스를 생성할 것입니다.
Oralce Linxu 7.7 이미지로 VM 생성
이제 부터 Oracle Linux 7.7 이미지를 Shape VM.Standard2.1로 3개 인스턴스를 프로비저닝하겠습니다. 다음 메뉴 패스로 OCI Compute의 Instance관리 페이지로 이동합니다.
OCI Compute의 Instance관리 페이지에서 앞으로 생성할 VM을 할당할 Compartment인 sandbox를 선택합니다. “create instance” 버튼을 클릭하여 “Create Compute Instance” 페이지로 이동합니다.
“Create Compute Instance” 페이지에서 입력 폼 각 항목에 다음과 같이 입력합니다.
설정 항목 | vm_web01 | vm_web02 | vm_web03 |
---|---|---|---|
Name your instance | vm_web01 | vm_web02 | vm_web03 |
Operating System or Image Source | Oracle Linux 7.7 | Oracle Linux 7.7 | Oracle Linux 7.7 |
Availability Domain | AD 1 | AD 2 | AD 3 |
Instance Type | Virtual Machine | Virtual Machine | Virtual Machine |
Instance Shape | VM.Stanndard2.1 | VM.Stanndard2.1 | VM.Stanndard2.1 |
Virtaul cloud network compartment | sandbox | sandbox | sandbox |
Virtaul cloud network | demo_vcn | demo_vcn | demo_vcn |
Subnet Compartment | sandbox | sandbox | sandbox |
Subnet | Private Subnet-demo_vcn | Private Subnet-demo_vcn | Private Subnet-demo_vcn |
Public IP | DO NOT ASSIGN A PUBLIC IP ADDRESS | DO NOT ASSIGN A PUBLIC IP ADDRESS | DO NOT ASSIGN A PUBLIC IP ADDRESS |
Choose SSH Key file | 체크 | 체크 | 체크 |
public key | id_rsa.pub | id_rsa.pub | id_rsa.pub |
마지막으로 3개 VM을 생성할 때, Advanced Option의 Management_ 텝에 PASTE CLOUD-INIT SCRIPT를 선택하고 다음 스크립트를 등록합니다.
#!/bin/sh
sudo yum install httpd -y
sudo bash -c 'echo $HOSTNAME running on OCI >> /var/www/html/index.html'
sudo apachectl start
sudo systemctl enable httpd
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
CLOUD-INIT SCRIPT는 VM을 프로비저닝하고 시작할 때, 실행되는 스크립트입니다. 이 스크립트는 다음과 같은 기능을 제공합니다.
- 아파치 웹서버 설치
- 아파치 웹서버 시작
- 아파치 웹서버 서비스 등록
- 방화벽 오픈
다음 이미지는 vm_web01을 입력한 예제입니다. 위 설정 값을 입력한 후 “Create” 버튼을 클릭하여 인스턴스 생성을 시작합니다. 이 생성 작업은 vm_web02와 vm_web03까지 3번 반복합니다.
vm_web01, vm_web02 및 vm_web03 3개 Compute 인스턴스가 생성되면 다음과 같은 형태가 됩니다.
주의 사항: Single AD Resion & 3 AD Resion
위에서 다른 예제는 3개 AD(Availability Domain) 리전인 Phoenix에서 진행했습니다. 3 AD 리전에서는 고가용성 구성을 위하여 Subnet을 Regional Subnet으로 구성하고 각 VM을 AD에 분산하여 프로비저닝 합니다. 각 Compute 인스턴스를 AD 별로 분산하여 장애 및 다양한 이슈에 시스템 안정성을 향상 시킬 수 있습니다.
3 AD 리전이 아닌 싱글 AD 리전에서 HA 구성을 할 경우에는 Compute Instance는 AD로 분산하지 않고 Fault Domain으로 분산하여 시스템 안정성을 확보합니다. Fault Domain 설정은 Advanced Option의 Management_ 텝에서 설정됩니다. 싱글 AD 리전에서 이 문서를 실습실 경우에는 Fault Domain을 다음과 같이 설정합니다.
Compute Instance 이름 | Fault Doamin 설정 |
---|---|
vm_web01 | FAULT-DOMAIN-1 |
vm_web02 | FAULT-DOMAIN-2 |
vm_web03 | FAULT-DOMAIN-3 |
위 설정은 다음 이미지와 같이 적용됩니다.