AWS Reference
AWS 클라우드 서비스 레퍼런스
AWS Reference 소개
AWS CLI 레퍼런스는 클라우드 운영 현장에서 가장 많이 쓰이는 8가지 AWS 서비스 영역의 핵심 명령어를 정리한 실용적인 검색형 가이드입니다. run-instances로 EC2 인스턴스를 생성하고 보안 그룹·키페어를 설정하는 것부터, cp, sync, presign, 버킷 정책으로 S3를 조작하는 것까지, 모든 명령어에는 실제 운영에서 바로 쓸 수 있는 주요 플래그가 포함된 bash 예제가 제공됩니다. 백엔드 엔지니어, DevOps 엔지니어, 클라우드 아키텍트가 AWS 공식 문서를 뒤지지 않고도 정확한 CLI 구문을 빠르게 찾을 수 있도록 설계되었습니다.
Lambda 섹션은 create-function으로 함수 생성, 테스트 페이로드로 invoke, 환경 변수 업데이트, Lambda Layer 발행, SQS·DynamoDB 이벤트 소스 매핑 설정까지 전체 배포 라이프사이클을 다룹니다. RDS 섹션은 인스턴스 생성(Aurora 클러스터 포함), 스냅샷 관리, 읽기 복제본 생성, 파라미터 그룹 설정을 포함합니다. IAM 명령어는 사용자·역할 생성, 정책 연결(계정 간 접근을 위한 STS assume-role 포함), 정책 문서 JSON 구조까지 망라합니다.
VPC 명령어(create-vpc, create-subnet, IGW, NAT 게이트웨이, 라우팅 테이블)와 CloudFormation 명령어(YAML 템플릿으로 스택 생성·업데이트·삭제)로 네트워킹과 인프라 자동화도 다룹니다. CLI 유틸리티 섹션에서는 aws configure 프로필 설정, 자격증명 확인용 sts get-caller-identity, JMESPath --query 필터링, CloudWatch Logs 실시간 조회(logs tail --follow)를 소개합니다. 카테고리 필터를 사용하면 원하는 서비스 영역으로 바로 이동할 수 있습니다.
주요 기능
- EC2: run-instances, describe-instances, stop/start, 보안 그룹 생성, 키페어 관리
- S3: 버킷 생성(mb), 파일 업/다운로드(cp), 디렉토리 동기화, 버킷 정책, 프리사인드 URL
- Lambda: create-function, invoke, 환경 변수 업데이트, 레이어 발행, 이벤트 소스 매핑
- RDS: DB 인스턴스 생성, Aurora 클러스터, 스냅샷, 읽기 복제본, 파라미터 그룹
- IAM: create-user, create-role, attach-policy, sts assume-role, IAM 정책 JSON 구조
- VPC: create-vpc, create-subnet, 인터넷 게이트웨이, NAT 게이트웨이, 라우팅 테이블
- CloudFormation: create-stack, update-stack, delete-stack (YAML 템플릿 예제 및 Outputs 포함)
- CLI 유틸: aws configure 프로필, sts get-caller-identity, --query JMESPath 필터, CloudWatch 로그 조회
자주 묻는 질문
AWS CLI 여러 계정 프로필은 어떻게 설정하나요?
aws configure --profile <프로필명>으로 이름 있는 프로필을 설정합니다. 각 프로필은 ~/.aws/credentials와 ~/.aws/config에 액세스 키, 시크릿 키, 리전, 출력 형식을 별도로 저장합니다. --profile 플래그로 프로필을 전환합니다(예: aws s3 ls --profile production). AWS_PROFILE 환경 변수를 설정하면 매번 플래그를 입력하지 않아도 됩니다.
AWS CLI 출력을 --query로 필터링하는 방법은?
--query 플래그는 JMESPath 구문으로 JSON 출력을 필터링합니다. 예: aws ec2 describe-instances --query "Reservations[].Instances[].[InstanceId,PublicIpAddress]"는 인스턴스 ID와 IP만 반환합니다. --output table이나 --output text와 함께 쓰면 가독성이 좋아집니다. 복잡한 변환에는 --output json과 jq를 조합하세요.
S3 임시 접근 URL(Presigned URL)은 어떻게 생성하나요?
aws s3 presign s3://버킷/파일.pdf --expires-in 3600으로 3600초(1시간) 유효한 URL을 생성합니다. 이 URL은 AWS 자격증명 없이도 임시 읽기 접근을 허용합니다. 기본 만료 시간은 3600초이며 SigV4 사용 시 최대 604800초(7일)입니다.
sts assume-role은 어떤 용도로 사용하나요?
aws sts assume-role로 IAM 역할을 임시로 수임하고 단기 자격증명(액세스 키, 시크릿 키, 세션 토큰)을 받습니다. 계정 간 접근, CI/CD 파이프라인에 상승된 권한 부여, 최소 권한 원칙 적용에 활용됩니다. 반환된 자격증명을 환경 변수로 내보내면 모든 AWS CLI 명령어에서 사용할 수 있습니다.
AWS CLI로 Lambda 함수를 배포하려면?
먼저 코드를 압축합니다(zip function.zip index.js). 그런 다음 aws lambda create-function에 --function-name, --runtime(예: nodejs20.x), --handler(예: index.handler), --role(lambda.amazonaws.com 신뢰 정책이 있는 IAM 역할 ARN), --zip-file fileb://function.zip을 지정합니다. 업데이트는 aws lambda update-function-code --function-name my-func --zip-file fileb://function.zip을 사용합니다.
AWS CLI로 퍼블릭/프라이빗 서브넷이 있는 VPC를 설정하는 순서는?
(1) aws ec2 create-vpc --cidr-block 10.0.0.0/16으로 VPC 생성, (2) 서로 다른 AZ에 퍼블릭·프라이빗 서브넷 생성, (3) 인터넷 게이트웨이 생성 후 VPC에 연결(퍼블릭 서브넷용), (4) 퍼블릭 서브넷에 NAT 게이트웨이 생성(프라이빗 서브넷 인터넷 접근용), (5) 라우팅 테이블 생성 및 경로 추가(퍼블릭: 0.0.0.0/0 → IGW, 프라이빗: 0.0.0.0/0 → NAT), (6) 서브넷을 해당 라우팅 테이블에 연결.
CloudFormation과 AWS CLI 직접 명령의 차이는 무엇인가요?
CloudFormation은 선언형 YAML/JSON 템플릿으로 인프라를 코드로 관리합니다. 명령형 CLI와 달리 상태를 추적하고, 의존성 순서를 자동 처리하며, 실패 시 롤백을 지원하고, 변경 세트(change set)로 안전하게 업데이트할 수 있습니다. 같은 템플릿으로 동일한 환경(dev/staging/prod)을 반복 생성할 수 있습니다. 일회성 작업에는 CLI를, 반복적이고 버전 관리되는 인프라에는 CloudFormation을 사용하세요.
AWS CLI로 CloudWatch 로그를 실시간으로 보는 방법은?
aws logs tail <로그그룹명> --follow로 tail -f처럼 실시간 로그 스트리밍이 가능합니다. Lambda 함수의 로그 그룹은 보통 /aws/lambda/<함수명>입니다. --filter-pattern "ERROR"로 패턴 필터링, --since 1h로 시간 범위 제한이 가능합니다. 먼저 aws logs describe-log-groups로 사용 가능한 로그 그룹 이름을 확인하세요.