CLI 명령어는 Command Line Interface에서 입력하는 명령어로, AWS 리소스를 관리하고 작업을 수행하는 데 사용됩니다. AWS CLI 명령어는 터미널이나 명령 프롬프트에서 AWS API를 호출하여, AWS 리소스(예: EC2, S3, IAM 등)에 대한 작업을 직접 수행할 수 있게 해줍니다.
AWS CLI 명령어는 세 가지 주요 구성 요소로 이루어져 있습니다:
1. 서비스 이름: 어느 AWS 서비스에 대해 작업을 수행할지 결정.
ec2
, s3
, iam
describe-instances
, start-instances
, create-bucket
--instance-ids i-1234567890abcdef0
, --bucket my-bucket
EC2 인스턴스 목록을 조회하는 명령어:
aws ec2 describe-instances
EC2 인스턴스 시작 명령어:
aws ec2 start-instances --instance-ids i-1234567890abcdef0
S3 버킷에 파일 업로드 명령어:
aws s3 cp myfile.txt s3://my-bucket/
아니요, CloudFormation이나 Terraform은 AWS CLI와 같은 명령어를 사용하지 않습니다.
이 두 도구는 인프라를 코드로 관리하는 도구로, AWS 리소스를 코드(구성 파일)로 정의하고 관리하는 방식입니다. AWS CLI는 터미널에서 명령어로 직접 AWS 리소스를 관리하는 방식이고, CloudFormation과 Terraform은 코드로 인프라를 정의하고 이를 실행하여 리소스를 배포하는 방식입니다.
CloudFormation 템플릿 예시 (YAML):
Resources:
MyEC2Instance:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-12345678"
InstanceType: "t2.micro"
KeyName: "MyKeyPair"
이 템플릿을 AWS CloudFormation에 제출하여 실행하면, EC2 인스턴스가 생성됩니다. CLI 명령어와는 방식이 다르며, 인프라를 코드로 관리하는 방식입니다.
Terraform 구성 파일 예시:
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "example" {
ami = "ami-12345678"
instance_type = "t2.micro"
key_name = "MyKeyPair"
}
Terraform은 terraform apply
명령을 통해 이 코드를 실행하고, EC2 인스턴스를 생성합니다.
CLI 명령어는 AWS 공식 문서와 실습을 통해 쉽게 익힐 수 있습니다. 터미널을 사용하는 방법에 익숙해지면, 각 서비스의 CLI 명령어를 실행하는 것이 어렵지 않습니다.
aws configure
명령을 사용해 IAM 자격 증명을 설정하고 AWS 리소스에 접근하는 과정을 실습해 보세요.CloudFormation은 인프라를 코드로 관리하는 방식이므로, JSON 또는 YAML 형식으로 템플릿을 작성하는 법을 배우는 것이 중요합니다.
Terraform은 AWS 리소스뿐만 아니라 여러 클라우드 제공자의 인프라를 코드로 관리할 수 있는 도구입니다. HCL 언어로 구성 파일을 작성하는 것이 중요합니다.
terraform init
, terraform apply
명령을 실행하며 인프라 배포 과정을 익힐 수 있습니다.