이세개발
article thumbnail

인프라를 손쉽게 구축하고 안전하게 변경하고, 효율적으로 인프라의 형상을 관리할 수 있는 오픈 소스 도구인 Terraform

 

오라클클라우드의 FreeTier에서 제공하는 4core 24ram이라는 아주 좋은 스펙의 컴퓨트 자원을 무료로 이용할 수있는데
잘 생성이 되지 않는다.

간단한 배치파일과 테라폼을 사용하여 이것을 자동화시키고 며칠동안 돌려놓으면 생성이 되는 (꼼수?) 같은게 있다.

방법

일단 인스턴스를 생성에 들어간다.

여러 스펙들을 지정하는데

네트워킹부분이 빠지지 않도록 지정하고

스택으로 저장을 누른다.

다음다음다음눌러 넘어간후

테라폼 구성의 다운로드 버튼을 누른다.
다운받아놓고
oci 오른쪽 상단의 프로파일버튼 누르고 사용자 설정에 들어간다.


그후 왼쪽 하단의 api 키를 추가한다.

테라폼을 사용할 때 .pem 파일이 필요하므로 편한대로 진행하여 api키를 추가하고, 구성파일 미리보기는 켜둔다.


이것으로 기본 설정은 끝났다.

Terraform 실행

ubuntu환경 진행 (윈도우환경이라면 맞게 변경 필요)

## 폴더 생성
mkdir oci-creater

## 폴더 안에 .pem 그리고 아까받은파일을 압축풀어 main.tf를 넣는다.

## main.tf 수정
vi main.tf

main.tf 를 수정한다.
맨위에 provider만 수정을 하면 되는데 이 안에 들어갈 내용은 아까 켜두라고 한 api의 내용들이다.
참고로 나는 pem의 이름을 "oraapi.pem" 으로하였다.

## 기존
provider "oci" {}

## 수정
provider "oci" {
    tenancy_ocid = "ocid1.tenancy.oc1..123412341234123412341234"
    user_ocid = "ocid1.user.oc1..1234123412341234"
    fingerprint = "12:34:12:34:12:34:12:34"
    private_key_path = "oraapi.pem"
    region = "ap-chuncheon-1"
}

테라폼 다운로드

https://developer.hashicorp.com/terraform/downloads

 

Install | Terraform | HashiCorp Developer

Explore Terraform product documentation, tutorials, and examples.

developer.hashicorp.com

환경에 맞게 다운로드한다.
참고로 버전은 1.0.11이 제일 문제없이 잘 되는것 같다.

## 테라폼 다운로드
wget https://releases.hashicorp.com/terraform/1.0.11/terraform_1.0.11_linux_amd64.zip
## 압축 풀기
sudo apt install p7zip-full 
7z x terraform_1.0.11_linux_amd64.zip

## /usr/bin 등록 
sudo mv ./terraform /usr/bin

## 테라폼 버전 확인
terraform -v

## Terraform v1.0.11
## on linux_amd64

## 테라폼 초기화
terraform init

## 테라폼 plan 생성
terraform plan -out="/home/ubuntu/oci-creater/oracle.plan"

배치파일 생성autocreate.sh

vi autocreate.sh

5초에 한번 plan을 실행하는 스크립트 (완료시 종료됨)

#!/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



screen 이라는 패키지를 사용해 자동으로 테라폼을 실행시키는 스크립트를 돌린다.

## 패키지설치
sudo apt install screen
## 스크립트 실행
sudo screen -s /home/ubuntu/oci-creater/autocreate.sh

screen 패키지는 백그라운드로 동작하는 가상 터미널을 띄워주는 것이라 ssh등으로 접속하고 있다면 5초마다 실행이 되는 것을 보고 그냥 종료를 하면된다.

## screen 명령어

## 스크린 보고 있는 상태에서
Ctrl+a, d : 현재 스크린으로부터 탈출(Deattach). (스크린은 꺼지지 않고 여전히 동작 중)

## 스크린 외부
screen -S [스크린 이름] : screen에 이름을 지정하며 진입.
screen -ls (screen -list) : 현재 존재하는 스크린 리스트 출력

 

 

이것을 활용하면 ARM이라는 단점이 있지만 무료로 4core 24gb ram의 클라우드를 이용 가능하게 된다.

 

 

출처: https://svrforum.com/cloud/319909

 

profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!