인스턴스는 재부팅을 할 때 마다 IP 주소가 변경된다.
오라클 클라우드는 인스턴스는 두 개가 무료이지만 Static Public IP는 하나만 받을 수 있으므로, OCI CLI를 활용하여 공인 IP를 받아오려 한다.
tenancy 값과 compartment 값을 설정할 환경변수 oci_env 파일을 생성한다.
#!/bin/bash
export T="ocid1.tenancy.oc1..[tenency value]"
export BC="ocid1.compartment.oc1..[compartment value 1]"
export BF="ocid1.compartment.oc1..[compartment value 2]"
환경변수에 작성해둔 compartment ID를 사용해 해당 구획 내 인스턴스 정보를 추출한다.
source ./oci_env
#echo "Compartment ID: $BC"
# 구획 내 인스턴스 아이디 추출
BACKID=$(oci compute instance list --compartment-id "$BC" | jq -r '.data[]."id"')
#echo "Instance ID: $BACKID"
# 해당 인스턴스의 공인 IP 추출
oci compute instance list-vnics --instance-id $BACKID | jq -r '.data[]."public-ip"'
공인 IP를 잘 받아온다. 다만 OCI 실행 속도가 생각보다 느리므로 어차피 고정인 인스턴스 ID를 바로 넘기는게..더 나을..수도...
