콘텐츠로 이동

클라우드 관리 도구 (콘솔, CLI, SDK)

문서 기준: 2026년 8월

클라우드를 다루는 세 가지 방법

섹션 제목: “클라우드를 다루는 세 가지 방법”

온프레미스 환경에서 서버를 관리하는 방법을 떠올려 보겠습니다. 서버실에 직접 가서 모니터와 키보드로 작업하거나, SSH로 원격 접속하거나, 자동화 스크립트를 통해 API를 호출할 수 있습니다. 클라우드에서도 동일한 세 가지 접근 방식이 있습니다.

  • 콘솔(웹 UI) — 서버실에 직접 가서 작업하는 것과 비슷합니다. 시각적으로 리소스를 확인하고 관리할 수 있어, 처음 배울 때나 현황을 파악할 때 유용합니다.
  • CLI(Command Line Interface) — SSH로 원격 접속하여 명령어로 작업하는 것과 비슷합니다. 반복 작업을 스크립트로 자동화할 수 있어, 운영 업무에 적합합니다.
  • SDK(Software Development Kit) — 애플리케이션 코드에서 API를 호출하는 것과 비슷합니다. 프로그래밍 언어로 클라우드 리소스를 제어할 수 있어, 애플리케이션 통합에 적합합니다.

실무에서는 이 세 가지를 상황에 따라 혼합하여 사용합니다. 콘솔로 현황을 확인하고, CLI로 반복 작업을 자동화하고, SDK로 애플리케이션에 클라우드 서비스를 통합하는 것이 일반적입니다.

각 벤더는 웹 브라우저에서 클라우드 리소스를 관리할 수 있는 콘솔을 제공합니다.

항목 AWS Azure Google Cloud OCI
이름 AWS Management Console Azure Portal Google Cloud Console OCI Console
URL console.aws.amazon.com portal.azure.com console.cloud.google.com cloud.oracle.com
콘솔 현지 언어 주요 언어 지원 주요 언어 지원 언어별 차이 있음 언어별 차이 있음
모바일 앱 AWS Console Mobile App Azure Mobile App Google Cloud App OCI Mobile App
특징 서비스별 독립 콘솔, 리전 선택 필수 통합 대시보드, 리소스 그룹 중심 프로젝트 중심, 검색 강점 Compartment 중심, 깔끔한 UI
  • 리전 확인 — AWS와 Google Cloud는 콘솔에서 리전을 명시적으로 선택해야 합니다. 잘못된 리전에서 리소스를 생성하는 실수가 흔합니다.
  • 프로덕션 변경 자제 — 콘솔에서의 수동 변경은 추적이 어렵고 재현이 불가능합니다. 프로덕션 환경은 CLI나 IaC로 관리하는 것을 권장합니다.

각 벤더는 터미널에서 클라우드 리소스를 관리할 수 있는 CLI 도구를 제공합니다.

항목 AWS Azure Google Cloud OCI
CLI 이름 AWS CLI (aws) Azure CLI (az) Google Cloud CLI (gcloud) OCI CLI (oci)
추가 CLI Azure PowerShell
설치 설치 가이드 설치 가이드 설치 가이드 설치 가이드
인증 aws login (브라우저 인증, CLI v2.32+) az login (브라우저 인증) gcloud auth login (브라우저 인증) oci session authenticate (브라우저 인증)
출력 형식 JSON, YAML, Table, Text JSON, YAML, Table, TSV JSON, YAML, Table, CSV JSON, Table
터미널 창
# AWS — EC2 인스턴스 목록 조회
aws ec2 describe-instances --region us-east-1
# Azure — VM 목록 조회
az vm list --resource-group my-rg --output table
# Google Cloud — Compute Engine 인스턴스 목록 조회
gcloud compute instances list --project my-project
# OCI — Compute 인스턴스 목록 조회
oci compute instance list --compartment-id <compartment-ocid>

Azure는 CLI 외에 Azure PowerShell도 제공합니다. Windows 환경에서 PowerShell을 주로 사용하는 조직이라면 Azure PowerShell이 더 익숙할 수 있습니다.

각 벤더는 주요 프로그래밍 언어용 SDK를 제공하여, 애플리케이션 코드에서 직접 클라우드 서비스를 호출할 수 있습니다.

언어 AWS Azure Google Cloud OCI
Python Boto3 azure-sdk-for-python google-cloud-python oci-python-sdk
JavaScript/TypeScript AWS SDK for JavaScript azure-sdk-for-js google-cloud-node oci-typescript-sdk
Java AWS SDK for Java azure-sdk-for-java google-cloud-java oci-java-sdk
Go AWS SDK for Go azure-sdk-for-go google-cloud-go oci-go-sdk
.NET (C#) AWS SDK for .NET Azure SDK for .NET Google Cloud .NET oci-dotnet-sdk
설치 문서 AWS SDK 가이드 Azure SDK 가이드 Cloud Client Libraries OCI SDK 가이드

SDK는 CLI와 달리 애플리케이션 코드에 직접 통합되므로, 에러 처리, 재시도 로직, 비동기 호출 등을 프로그래밍 언어의 기능을 활용하여 구현할 수 있습니다.

각 벤더 모두 브라우저에서 바로 CLI를 사용할 수 있는 Cloud Shell을 제공합니다. 별도의 설치 없이 웹 브라우저만으로 CLI 작업이 가능하여, 빠른 테스트나 긴급 대응 시 유용합니다.

항목 AWS Azure Google Cloud OCI
이름 AWS CloudShell Azure Cloud Shell Google Cloud Shell OCI Cloud Shell
사전 설치 도구 AWS CLI, Python, Node.js, Git 등 Azure CLI, PowerShell, Terraform 등 gcloud, kubectl, Terraform, Python 등 OCI CLI, Python, Terraform 등
스토리지 리전당 1GB 5GB (Azure Files) 5GB (홈 디렉토리) 5GB (홈 디렉토리)
비용 무료 무료 (스토리지 비용 별도) 무료 무료
에디터 내장 에디터 Monaco 에디터 (VS Code 기반) Theia 에디터 (VS Code 기반) 내장 에디터

코드로 관리하는 인프라 (IaC)와의 관계

섹션 제목: “코드로 관리하는 인프라 (IaC)와의 관계”

콘솔, CLI, SDK는 리소스를 직접 생성하고 관리하는 명령형 (Imperative) 방식입니다. “서버를 만들어라”, “네트워크를 연결해라”처럼 한 단계씩 지시합니다.

이와 대비되는 선언형 (Declarative) 방식이 IaC입니다. “서버 3대, 네트워크 1개가 있어야 한다”처럼 원하는 최종 상태만 정의하면, 도구가 현재 상태와 비교하여 필요한 변경을 자동으로 적용합니다.

방식 특징 도구 예시
명령형 순서대로 실행. 빠른 테스트, 긴급 대응에 적합 CLI 스크립트, SDK 코드
선언형 최종 상태 정의. 재현성, 버전 관리, 팀 협업에 적합 Terraform, CloudFormation, Bicep, CDK

실무에서는 콘솔로 현황을 확인하고, CLI로 긴급 대응하며, 프로덕션 인프라는 IaC로 관리하는 것이 표준입니다.

  • “콘솔에서 만들면 끝이다” — 콘솔로 생성한 리소스는 이력이 남지 않아 재현과 감사가 불가능합니다. 프로덕션은 IaC로 관리해야 합니다.
  • “CLI와 SDK는 같은 것이다” — CLI는 터미널에서 단발성 명령을 실행하는 도구이고, SDK는 애플리케이션 코드에 통합하는 라이브러리입니다. 용도가 다릅니다.
  • “Cloud Shell이면 로컬 설치가 필요 없다” — Cloud Shell은 임시 환경이며 세션 종료 시 상태가 초기화될 수 있습니다. 지속적인 운영에는 로컬 CLI 설치가 필요합니다.
  • CLI 인증을 장기 자격 증명(Access Key) 대신 브라우저 기반 임시 인증으로 설정했는가?
  • 프로덕션 환경 변경은 콘솔이 아닌 IaC 파이프라인을 통해 수행하는 원칙을 수립했는가?
  • 사용할 벤더의 CLI를 설치하고 기본 명령어(리소스 조회)를 실행해 보았는가?