• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
Oracle

조금 더 간단한 오라클 인스턴스 생성 자동화 방법 (생성확인 완료)

나린이2 4046

5

15

좀전에 theb1ue 님이 올려주신 오라클 서버 생성 방법 따라해보다가.. 

 

패키지도 잘 안깔리고... 뭔가 캡처 하고 수정하기도 만만찮고.. 해서... 

예전에  찾아봣던 방법 공유 해볼까 합니다.

 

기재된 모든 내용은 아래 쭈니파파 님 유튜브 정리한 내용입니다 

 

 

위 내용 정독 해 보시면 좋을거 같구요. 

영상에는 시놀로지 기준이지만 저는 Oracle 인스턴스에서 작업 했습니다.

현재 서울 리전 free tier 로 100g  AMD 서버 생성 해놓고 

나머지 100G 부분을 Arm A1 서버용으로 생성 스크립트를 만듭니다. 

 

 1. API 추가 및 키 다운로드 

이 부분은  아래 내용의 1번 부분 그대로 따라 하시면 됩니다. 

https://svrforum.com/cloud/318836

오라클 A1 인스턴스는 유료 계정에서는 바로 만들 수 있지만 무료 계정에서는 노가다 작업이 좀 필요합니다. 최대 4코어 CPU, 24GB 메모리로 무료 클라우드 서버를 운용할 수...
theb1ue | 2022.06.14

 

image.png.jpg

 

pem 파일과 기본 정보는 추후 테라폼에 기재되니 잘 보관 하시기 바랍니다.

 

2. 컴퓨트 인스턴스 스택 저장 및 다운로드

 여기서는 원하시는 내용으로 이름/구획/이미지/구성 등 적용 하시면됩니다. 

SSH 키 추가쪽은 저의 경우 항상 공용키 붙여 넣기로 하고 있습니다.

별도 키파일 관리 안해도 되서 이쪽이 편한거 같습니다. 

image.png.jpg

 

image.png.jpg

 

모든 정보를 입력 하였으면 생성 버튼이 아닌 스택으로 저장을 눌러 해당 내용을 저장 합니다. 

 

저장 후 스택으로 이동 하여 저장된 내용을 다운로드 받습니다. 

image.png.jpg

 

 

다운 받은 zip 파일을 풀어보면 main.tf 라는 파일이 있습니다.

이 파일을 아까 받은 pem 파일과 같은 경로에 저장 하고 잘 보관 합니다. 

 

이제 oci 화면에서 할 작업은 끝났습니다. 

 

리눅스 서버에 접속 후 2개 파일을 적당한 위치에 복사합니다. 

저의 경우 ubuntu home 밑에 oci-creater 폴더를 만들었습니다. 

해당 폴더에서 테라폼을 설치 합니다. 

https://www.terraform.io/downloads

Terraform is an open-source infrastructure as code software tool that enables you to safely and predi...

 

여기에서 각 시스템에 맞는 테라폼 zip url 을 확인 합니다. 

저의 경우 현재 작업 시스템이 amd ubuntu 서버니까 리눅스  > ubuntu > amd64 로 하면 되겠네요 

image.png.jpg

 

url 을 복사해서 해당 zip 파일을 다운 받습니다. 

$ wget https://releases.hashicorp.com/terraform/1.2.2/terraform_1.2.2_linux_amd64.zip

$ wget https://releases.hashicorp.com/terraform/1.0.11/terraform_1.0.11_linux_amd64.zip

 (버전을 타는거 같습니다. 1.0.11 버전으로 해주세요)

 

압축을 풀어 줍니다.  영상에서 7zip 으로 하라니까... 그대로 해줍니다. 

$ sudo apt install p7zip-full 

$ 7z x terraform_1.2.2_linux_amd64.zip

$ 7z x terraform_1.0.11_linux_amd64.zip

 

압축해제후 /usr/bin 폴더로 이동시킵니다. 

$ sudo mv ./terraform /usr/bin

 

잘 되는지 확인 하라니까.. 확인해봅니다. 

$ terraform -v

Terraform v1.2.2
on linux_amd64

 

위와 같이 나오면 잘 나온거겟죠. 

 

이제 테라폼 실행 하기전에 아까 준비한 main.tf 파일을 수정 합니다. 

vi main.tf 

image.png.jpg

 

위의 provider "oci" 부분을 수정 할 겁니다. 

 

맨 처음 api 키를 받을때 별도로 기재한 정보를 이용해서 해당 부분을 채워 줍니다. 

 

provider "oci" {
    tenancy_ocid = "ocid1.tenancy.oc1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    user_ocid = "ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    fingerprint = "8d:21:67:f0:0b:0dxxxxxxxxxxxx:xx:Xx:xx:xxx:Xx"
    private_key_path = "/home/ubuntu/oci-creater/pem파일 경로 및 파일명.pem"
    region = "ap-seoul-1"
}

 

image.png.jpg

 

해당 부분을 모두 수정 하고 저장 하시면 

이제 plan 생성 하시면 됩니다. 

 

$ terraform init

$ terraform plan -out="/home/ubuntu/oci-creater/oracle.plan"

 

뭔가 여러가지 화면이 지나가고 해당 폴더에 oracle.plan 이라는 파일이 생성 되었습니다. 

 

이제 screen 패키지를 설치 하고 해당 oracle.plan 파일을 돌립니다. 

$ sudo apt install screen

$ vi autocreate.sh 

 

#!/bin/bash

wait="5s"
plan="/home/ubuntu/oci-creater/oracle.plan"

while true; do
        terraform apply -auto-approve "${plan}"
        if [ $? -eq 0 ]; then
                echo "Succeeded"
                exit 0
        else
                echo "Waiting for ${wait}"
                sleep "$wait"
        fi
done
exit

 

$ chmod  +x ./autocreate.sh

 

위 스크립트는 해당 oracle 플랜을 5초마다 한번씩 실행 하게 됩니다. 

 

실행 합니다. 

$ screen -s /home/ubuntu/oci-creater/autocreate.sh

image.png.jpg

 

잘 돌아가는군요.

 

이 작업을 계속 생성 할때 까지 반복 합니다. 

 

추가로 나중에 다시 접속 해서 작업 진행이 잘 되고 있는지 보고 싶으시면 

screen 생성  : # screen -S 이름
screen detach : Ctrl + a + d
screen attach  : # screen -list 스크린 이름 검색 후 

                               # screen -r 이름

 

 

사실 이게 잘 작동하는지는.. 만들어지지 않아서.. 저도 확신은 못합니다. 

다만 로그에는 out of host capacity 라고 나오는게 맞는거 같습니다. 

이후에 제데로 생성이 되면 다시 한번 공유 하도록 하겠습니다. 

(생성확인 했습니다. 시간이 걸리지만 생성됩니다.)

 

마지막으로 좋은 동영상 올려주신 쭈니파파님께 감사드립니다. (__)

 

문제되는 부분 있으시면 연락 주세요.

바로 글 내리겠습니다.

 

신고공유스크랩
15
profile image 3등
Lamanus 2022.06.15. 00:56

내려받은 크레덴셜은 별도 입력 없이 ~/.oci/config 파일에 저장만 해도 될 겁니다. 키 경로는 지정해야겠지만요.

profile image
달소 2022.06.15. 09:13

와.. 이런방법도있군요..ㅎㅎ 능력자분들은 정말 대단하신것같습니다.. 이것도 공지로..!

u64x 2022.06.20. 18:42

저는 안되네요.. 첫 실행 이후에 Saved plan is stale이라면서 막혀버림.. ㅎㅎㅎ

그냥 php로 돌리러갑니당..

profile image
Lamanus 2022.06.27. 08:43
u64x

최초로 인스턴스 생성 시도는 한 번 해주셔서 서브넷 등의 자원을 생성해줘야 합니다.

그 상태에서 스택을 만들어야지, 안그러면 서브넷이 생성되어버려서 생성 계획이 변경되었기 때문에 plan is stale 메시지가 표시되는 것은 정상입니다.

profile image
냥냥이 2022.07.07. 13:35
Lamanus

저도 이부분 관련해서 질문이 있습니다. 제가 이해하기로는

오라클 인스턴스에서 생성 시도를 한번 한 이후에 -> 이걸 스택으로 만들어서 테라폼에 사용하는것인지요?

 

처음 1회에는 제대로 시도가 되는데 그 이후로는 동일하게 Saved plan is stale으로 저도 나오거든요.

profile image
Lamanus 2022.07.07. 22:21
냥냥이

네, 중복 생성 등의 문제가 있어서 최초 1회는 인스턴스 생성 시도하시고 이후에 스택 만들어야 다른 리소스 영향이 없습니다.

나린이2 글쓴이 2022.07.06. 00:09

추가정보입니다.

어제 서버 생성되었네요.

거의 한달 걸리는군요.

확실히 작동은 됩니다.

purndal 2022.12.28. 16:00

ㅠㅠ;; proxmox 계정으로 저의 아이드를 만들어서 돌려볼려고 했더니.. 마지막 실행 시 ubuntu / oci.... 라는곳에 파일을 자동으로 찾는군요 ㅠㅠ

 

계정을 ubuntu 로 새로 만들어서 폴더하고 동일하게 만든다음 실행해야 겠네요... ㅎㅎㅎ. 그냥 개인 리눅스에서 일반적으로 사용한다고 생각하면

오류 팍팍 나오네요 ㅠㅠ;

 

아니네요 제가 그냥 팍 붙혀넣기 해서 그렇군요 ㅠㅠ ;; 

 

autocreate.sh 에 경로지정이 있었군요 에휴~ ㅠㅠ;; 

 

------ 막혔나 봅니다 ㅠㅠ;; 한번 실행 후 아래와 같이 나오네요 .. ㅎ. 

화면 캡처 2022-12-28 212217.png.jpg

 

 

----- 에러 원인을 찾았네요 ㅠㅠ;; 

 

terraform 의 버전이 원인이었습니다. 지원해주는 버전이 1.0.x 인데 최신버전을 설치를 한것이 원인이었군요.

1.0.11 버전을 다운받아서 실행을 하니 정상적으로 등록하는 모습이 보였습니다. 

 

이제 시간과의 전쟁이군요.. 기대됩니다. ㅎ. 

위너 2023.01.13. 11:34
위에분께서 말씀해 주셨지만 terraform 1.0.11 설치하셔야 정상 작동됩니다. 본문과 같이 1.2.2 버전이나 최신버전 설치하면 Saved plan is stale 이라고 오류 뜹니다
sunung0110 2023.01.25. 20:20
이 방법으로 춘천에서 생성 성공했습니다. 운이 좋았는지 23년 1월 21일에 시작해서 23년 1월 25일에 만들어졌습니다. 헤놀에서 도커로 우분투 쓰고 있었는데 거기다 같이 실행시키게 하니까 잘 되네요(xrdp사용)
백수임당 2023.01.26. 17:31
허걱 열심히 만든다음 실행하는데 45초 지나고 바로 Succeeded 가 뜨네요..
덕분에 4core 24ram 춘천에서 생성완료했습니다.
테라폼도 한번 사용해볼 수 있어서 재미있었네요

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
분류 제목 글쓴이 날짜 조회 추천
공지 서버포럼 광고제거 멤버십 도입 안내(후원멤버십) 11 달소 23.05.01.00:49 2720 +6
Docker 공지 홈서버에 쓸만한 도커이미지 추천 및 정리 29 달소 22.03.17.22:09 14291 +11
정보 GPT를 내 서버에서 LocalAI v1.18.0 출시 7 달소 2일 전14:08 365 +2
NAS 혹시 DSM에서 PC로 매직패킷 쏴주는 방법이 있을까요? 7 배뚱이 2일 전12:32 198 +3
잡담 OPNsense 번역이 완료됐습니다! 12 햇서 5일 전05:53 468 +12
라즈베리파이
image
EXP 2시간 전03:19 45 0
질문
normal
펜타네스트 7시간 전22:23 28 0
질문
image
새벽두시 13시간 전16:26 105 0
질문
normal
케이퀸 13시간 전15:43 72 0
질문
image
태형 1일 전14:44 151 0
Proxmox
normal
한스 1일 전12:16 66 0
정보
image
달소 2일 전14:58 298 0
정보
image
달소 2일 전14:08 365 +2
질문
image
jerry80 2일 전12:58 97 0
NAS
image
배뚱이 2일 전12:32 198 +3
Proxmox
normal
처음하는nas 3일 전05:55 210 0
Proxmox
image
행복하세 4일 전21:02 124 0
Proxmox
image
행복하세 5일 전23:22 136 0
잡담
image
햇서 5일 전05:53 468 +12
블로그/홈페이지 CMS
normal
EXP 23.06.04.02:53 158 0
질문
normal
엑스 23.06.02.17:53 151 0
Proxmox
normal
uaysk 23.06.01.23:56 310 0
라즈베리파이
image
콜라 23.06.01.07:27 299 0
질문
normal
키키사과 23.06.01.01:31 225 0
정보
image
달소 23.06.01.00:01 714 0