이번 글에서는 AWS EC2나 Cloud9에서 자주 사용되는 AWS CLI를 정리하는 시간을 갖는다. 콘솔에서 리소스에 대한 작업을 일일이 수행하는 경우도 존재하겠지만, AWS CLI를 사용하면 간편하게 리소스의 생성/수정/삭제/조회를 수행할 수 있다. 또한, 이 포스팅은 실제 업무 중에 사용되는 CLI 예시를 중심으로 작성되며, 추후에도 지속적으로 업데이트될 예정이다.
01. EC2 CLI
01-1. 특정 태그명을 가진 EC2 인스턴스 정보 확인
aws ec2 describe-instances \
--filters "Name=tag:<tag 이름>,Values=<해당 태그의 values>" \
--no-cli-pager \
--query "Reservations[].Instances[].{
InstanceID: InstanceId,
AMI: ImageId,
State: State.Name,
Name: Tags[?Key=='Name'].Value | [0],
Service: Tags[?Key=='service'].Value | [0],
CreatedBy: Tags[?Key=='createdby'].Value | [0],
Env: Tags[?Key=='env'].Value | [0]
}" \
--output table
- AWS EC2 인스턴스 정보를 조회하는 CLI로 —filter를 통해 특정 tag명을 가진 값(values)만 추출한다
- —no-cli-pager: AWS CLI v2에서 기본적으로 활성화된 출력 페이징 기능 비활성화
- —filters: CLI 결과를 필터링 하는 구문으로, 현재는 특정 Tag명을 가진 정보를 필터링한다
- —query: SQL의 SELECT 절에 필드를 기재하는 것과 비슷하다. 특정 필드만 골라서 출력하도록 하는 쿼리다
- —output: 조회 결과를 표 형태로 출력한다
# 1번 방법
--query "Reservations[].Instances[].{ }
- 1번 방법은 모든 결과를 평탄화(Flatten)해서 하나의 배열로 반환한다
# 2번 방법
--query "Reservations[*].Instances[*].{ }
- 2번 방법은 중첩 배열 구조를 유지하고, 배열 안에 배열이 있는 형태로 반환한다
01-2. EC2에 Attachment 된 Volume 정보 확인
aws ec2 describe-volumes --no-cli-pager \
--filters 'Name=tag:<tag 이름>,Values=<해당 태그의 values>' \
--query 'Volumes[].{
Name: Tags[?Key==`Name`]|[0].Value,
service: Tags[?Key==`service`]|[0].Value,
env: Tags[?Key==`env`]|[0].Value,
createdby: Tags[?Key==`createdby`]|[0].Value
}' --output table
99. 참고 자료
AWS CLI Command Reference — AWS CLI 1.38.8 Command Reference
Note: You are viewing the documentation for an older major version of the AWS CLI (version 1). AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. F
docs.aws.amazon.com
AWS CLI 명령 예제 - AWS Command Line Interface
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
'Public Cloud > AWS - Experience' 카테고리의 다른 글
[AWS] IAM 그리고 AssumeRole vs PassRole란? (0) | 2025.03.11 |
---|---|
[AWS] ECS 실행중인 Task에 Tag 지정(tag propagation)하기 (0) | 2025.03.10 |
[AWS] EC2의 EBS 스토리지 재부팅 없이 늘리는 방법 (0) | 2025.01.20 |
[AWS] ECS Task Role vs Execution Role 차이 (1) | 2025.01.20 |
[AWS] VPC, Subnet, Routing Table, NAT 생성 과정 정리 (0) | 2025.01.20 |