티스토리 뷰

카테고리 없음

[AWS EC2] AWS CLI 설치 및 사용하기

나미의 로그포스 2023. 5. 26. 12:14

1. AWS CLI란?

 

AWS는 터미널에서 커맨드 라인으로 서비스와 상호 작용할 수 있는 CLI를 지원합니다.

 

Q. 이제까지 잘 써왔던 웹 브라우저 콘솔로도 모든 작업이 가능한데 왜 CLI가 필요할까요?

A. 답은 리소스 관리를 위한 스크립트 개발이 가능하기 때문입니다. Ansible의 yaml 파일 작성으로 경험한 것처럼, 스크립트를 만들어 실행하면 많은 작업을 효율적으로 자동화할 수 있습니다.

다시 말해 코드 몇 줄 만으로도 수십 개, 수백 개의 인스턴스를 생성하고 관리할 수 있기 때문에, 인프라 규모가 커지면 오히려 CLI로의 관리가 더 수월합니다.

 

 


2. AWS CLI 설치하기

 

https://awscli.amazonaws.com/AWSCLIV2.msi

 

위 링크로 파일을 다운로드 받아 설치 후 cmd 창으로 들어갑니다.

 

aws --version

 

aws --version 으로 버전 정보가 잘 올라온다면 성공적으로 설치가 완료된 것입니다.

 

aws configure

 

aws configure 로 CLI 인증을 진행해야 합니다. 이 때, IAM에서 발급받은 유저 Access KeySecurity Key가 반드시 필요합니다.

 

aws configure list
# 현재 설정 정보 확인

 

 


3. AWS CLI 사용하기

 

설치 후 인증까지 완료했다면, 지금부터는 AWS 리소스들을 CLI를 사용해 제어할 수 있습니다.

 

💡 S3 Bucket 접근하기

 

aws s3 sync s3://kiietls23/ c://backup
# s3 버킷(kiietls23)에 접근, 버킷을 c 드라이브 하위 backup 폴더에 복사

전체 버킷을 로컬로 복사

 

aws s3 cp s3://kiietls23/AWSCloudtrail.PNG c://backup
# 디렉토리 단위가 아닌 파일 하나를 로컬 backup 폴더에 복사

AWSCloudtrail.PNG 파일 하나를 로컬로 복사

 

aws s3 sync c://backup/ s3://kiietls23
# 반대로 로컬의 backup 폴더를 s3 버킷에 업로드

로컬의 test.txt 파일을 s3 버킷에 업로드

 

S3 Browser로 버킷 확인 가능

 

 

 

💡 인스턴스 제어하기

 

aws ec2 describe-instances
# 인스턴스 정보 확인

현재 연결되어 있는 모든 인스턴스의 정보 확인 가능

 

aws ec2 stop-instances --instance-ids [instanceID]
# 인스턴스 중지

{
    "StoppingInstances": [
        {
            "CurrentState": {
                "Code": 64,
                "Name": "stopping"
            },
            "InstanceId": "i-xxxxxxxxxxxxxxxxx",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}

 

aws ec2 stop-instances 명령어로 위 소스 코드가 실행되는 것을 알 수 있습니다.

코드는 오직 CLI에서만 확인 가능하며, Lambda 함수를 짜거나 스크립트를 사용할 때 이용합니다.

 

aws ec2 start-instances --instance-ids [instanceID]
# 인스턴스 시작

{
    "StartingInstances": [
        {
            "CurrentState": {
                "Code": 0,
                "Name": "pending"
            },
            "InstanceId": "i-xxxxxxxxxxxxxxxxx",
            "PreviousState": {
                "Code": 80,
                "Name": "stopped"
            }
        }
    ]
}

 

마찬가지로 aws ec2 start-instances 시에도 유사한 인스턴스 실행 코드를 확인할 수 있습니다.

 

 

 

AWS CLI 사용에서 가장 주의할 점은 다음과 같습니다.

 

📌 Access Key Security Key 를 분실할 경우 로그인 불가능 !

📌 Key를 가지고 리소스의 생성/삭제 등 모든 작업이 가능하므로 유출되지 않도록 키 관리 매우 중요 !

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함