본문 바로가기
9. 실습 Hands-on Lab

OCI Super Delete 스크립트로 Compartment와 자원 삭제

by MY잭슨 2023. 8. 11.

사전 준비

2022.05.14 - [7. 실습 Hands-on Lab] - 나도한다 시리즈 - OCI 기본 실습 IaaS (가상 네트워크)

2022.05.14 - [7. 실습 Hands-on Lab] - 나도한다 시리즈 - OCI 기본 실습 IaaS (컴퓨트 인스턴스)

 

OCI CLI 설치

OS 버전에 따라 명령어가 조금씩 다르니 확인 후 설치

https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm#InstallingCLI__oraclelinux8

 

sudo dnf -y install oraclelinux-developer-release-el8
sudo dnf install python36-oci-cli

 

API 키 생성 및 등록

ssh 연결과는 다른 PEM 포맷 형식의 키로 사용하던 키가 없으면 새로 생성

 

Identity > Users > User Details > API Keys

 

API 키 다운로드

 

 

다운로드한 API 키 중에서 Public 키 업로드 후 내용을 잘 복사해서 보관

 

생성한 인스턴스에 API Private 키 업로드

-scp, ftp 툴 또는 개인적으로 Drag/Drop 가능한 MobaXterm ssh 툴 활용

 

 

OCI CLI 설정

oci setup config

 

Git 설치 및 스크립트 내려받기

sudo yum -y install git
git clone https://github.com/AnykeyNL/OCI-SuperDelete.git

 

삭제 전 Tenancy Explorer로 자원 확인

Governance & Administration > Tenancy Explorer

 

삭제 실행!!

해당 compartment 의 전체 리전을 대상으로 실행하거나 특정한 리전만 선택해서 실행 가능

python3 delete.py -c ocid1.compartment.oc1..aaaaaaaa.....
python3 delete.py -c ocid1.compartment.oc1..aaaaaaaa..... -f -rg ap-seoul-1

 

※ 권한 문제로 삭제가 안 되는 경우

해당 API가 등록된 OCI 사용자가 Tenancy 리소스 전체를 manage할 수 있는 권한 필요

Identity > Policies > Policy Detail

allow group {그룹명 입력} to manage all-resources in tenancy

 

삭제 후 Tenancy Explorer로 자원 다시 확인

일부 자원들은 삭제되는데 시간이 걸리기 때문에 추후에 다시 한 번 실행하면 Compartment까지 삭제됨

 

 

 

참고

https://github.com/AnykeyNL/OCI-SuperDelete.git

https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm#InstallingCLI__oraclelinux8

 

댓글