AWS CloudShell로 10분 만에 EC2 띄우기

AWS CloudShell로 10분 만에 EC2 띄우기

AWS CloudShell로 10분 만에 EC2 띄우는 방법을 정리해 봤습니다.
2026.03.24

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번 블로그에서는 AWS CloudShell로 10분 만에 EC2 띄우는 방법을 정리해 봤습니다.

ClouShell에 대해서는 아래 블로그를 참고해 주세요.

https://dev.classmethod.jp/articles/jw-tried-aws-cloudshell/

CloudShell 실행

CloudShell을 실행하는 방법은 간단합니다. AWS 콘솔 화면에서 [CloudShell]을 검색하고 클릭합니다.

jw-clsh-1

[CloudShell]을 클릭하면 곧 바로 [CloudShell] 화면으로 진입한 것을 확인할 수 있습니다.

jw-clsh-2

사전 준비 (기본 설정)

CloudShell은 이미 인증이 되어 있어서 별도 aws configure는 필요 없습니다.
단, 사용할 리전은 확인하고 넘어가는 게 좋습니다.

~ $ echo $AWS_DEFAULT_REGION
ap-northeast-1

EC2 인스턴스 생성

EC2 인스턴스의 경우 한 줄로 간단하게 생성할 수 있습니다.

먼저 사용하고자 하는 최신 Amazon Linux AMI를 검색해 봅시다.

~ $ aws ec2 describe-images     --owners amazon     --filters "Name=name,Values=amzn2-ami-hvm-*"     --query "Images | sort_by(@, &CreationDate)[-1].ImageId"     --output text

ami-0ff227f0771efc640

여기서 AMI를 찾는 방법은 두 가지로 나누어 볼 수 있는데, 먼저 가장 쉬운 방법으로는 콘솔에서 AMI 찾는 방법입니다.

  • Amazon EC2 콘솔 이동
  • 좌측 메뉴 → AMI 클릭
  • 다음 기준으로 검색:
    • Amazon Linux 2
    • Ubuntu
    • Windows Server

여기서 원하는 AMI를 클릭하면 AMI ID (예: ami-xxxx) 를 확인할 수 있습니다.

다음 방법으로는 CLI로 검색해서 AMI를 찾을 수 있습니다.

Linux의 경우 다음 명령어를 통해 항상 최신 Amazon Linux 2 AMI를 자동 조회할 수 있습니다.

aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=amzn2-ami-hvm-*" \
  --query "Images | sort_by(@, &CreationDate)[-1].ImageId" \
  --output text

혹은 Ubuntu를 사용하고 싶다면 다음 명령어를 사용할 수 있습니다.

aws ec2 describe-images \
  --owners 099720109477 \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*-amd64-server-*" \
  --query "Images | sort_by(@, &CreationDate)[-1].ImageId" \
  --output text

※ 099720109477 는 Ubuntu 공식 계정입니다.

주의할 사항으로는 AMI는 리전마다 다르기 때문에 같은 AMI ID라도 리전이 다르면 존재하지 않을 수 있습니다.

이제 AMI를 확인했다면 EC2 인스턴스를 생성합니다.

명령어를 입력하면 생성한 EC2 인스턴스의 정보가 출력됩니다.

aws ec2 run-instances     --image-id ami-xxxxxxxx     --count 1     --instance-type t2.micro     --key-name MyKeyPair     --security-group-ids sg-xxxxxxxx     --subnet-id subnet-xxxxxxxx

{
    "ReservationId": "r-xxxxxxxxxxxx",
    "OwnerId": "xxxxxxxxxxxx",
    "Groups": [],
    "Instances": [
        {
            "Architecture": "x86_64",
            "BlockDeviceMappings": [],
            "ClientToken": "xxxxxxxxxxxx",
            "EbsOptimized": false,
            "EnaSupport": true,
            "Hypervisor": "xen",
            "NetworkInterfaces": [
                {
                    "Attachment": {
                        "AttachTime": "2026-03-24T04:11:46+00:00",
                        "AttachmentId": "eni-attach-xxxxxxxxxxxx",
                        "DeleteOnTermination": true,
                        "DeviceIndex": 0,
                        "Status": "attaching",
                        "NetworkCardIndex": 0
                    },
                    "Description": "",
                    "Groups": [
                        {
                            "GroupId": "sg-xxxxxxxxxxxx",
                            "GroupName": "default"
                        }
                    ],
----------------- 생략 ------------------

보다 빠르게 생성하는 방법도 있습니다.

아래 명령어를 사용하면 보안 그룹, 키 페어 생략 시 기본값으로 생성합니다.

AMI=$(aws ec2 describe-images     --owners amazon     --filters "Name=name,Values=amzn2-ami-hvm-*"     --query "Images | sort_by(@, &CreationDate)[-1].ImageId"     --output text)

aws ec2 run-instances     --image-id $AMI     --count 1     --instance-type t2.micro

EC2 인스턴스 확인

이제 생성한 EC2 인스턴스를 확인해 봅시다.

~ $ aws ec2 describe-instances     --query "Reservations[].Instances[].InstanceId"
[
    "i-xxxxxxxxxxx"
]

콘솔 화면에서도 생성된 EC2 인스턴스를 확인할 수 있습니다.

jw-clsh-3

마무리

이번 글에서는 AWS CloudShell을 활용하여 단 10분 만에 Amazon EC2 인스턴스를 생성하는 방법을 정리해 보았습니다.

기존에는 EC2를 생성하기 위해 콘솔에서 여러 설정을 하나씩 클릭하면서 진행해야 했지만, CloudShell과 AWS CLI를 활용하면 훨씬 더 빠르고 간결하게 인프라를 구성할 수 있습니다. 특히 별도의 로컬 환경 설정 없이 브라우저만으로 바로 작업을 시작할 수 있다는 점은, 실습 환경이나 테스트 환경을 빠르게 구성해야 할 때 큰 장점으로 작용합니다.

또한 이번 과정에서 확인했듯이, AMI를 CLI로 조회하여 최신 이미지를 사용하는 방식은 단순히 “빠른 생성”을 넘어 운영 자동화의 첫 단계라고 볼 수 있습니다. 매번 콘솔에서 이미지를 확인하는 대신, 명령어를 통해 최신 상태를 유지하는 방식은 이후 인프라를 코드로 관리하는 IaC(Infrastructure as Code)로 확장하기에도 매우 유리합니다.

물론 이번 예제에서는 최소한의 옵션으로 EC2를 생성했기 때문에, 실제 운영 환경에서는 몇 가지 추가적으로 고려해야 할 요소들이 있습니다.

예를 들어:

  • 보안 그룹(Security Group)을 통한 접근 제어 설정
  • 키 페어(Key Pair)를 이용한 SSH 접속 구성
  • 퍼블릭 IP 할당 및 네트워크 설정
  • 인스턴스 타입 및 스토리지 최적화

이러한 부분까지 함께 구성해야 보다 안정적인 서버 환경을 만들 수 있습니다.

그럼에도 불구하고, 이번 글의 핵심은 복잡한 설정을 모두 이해하지 않아도 **“일단 빠르게 하나 띄워보는 경험”**을 만드는 데 있습니다. AWS를 처음 접할 때는 개념도 많고 설정도 다양해서 진입 장벽이 높게 느껴질 수 있지만, 이렇게 CLI 기반으로 단순한 흐름을 한 번 경험해 보면 전체 구조를 이해하는 데 큰 도움이 됩니다.

정리하자면:

  • CloudShell을 사용하면 별도 설치 없이 바로 AWS CLI 사용 가능
  • AMI를 CLI로 조회하면 항상 최신 이미지 사용 가능
  • EC2는 단 몇 줄의 명령어로 빠르게 생성 가능
  • 반복 작업은 스크립트로 자동화 가능

이번 내용을 기반으로 조금 더 확장해 본다면, 다음과 같은 실습도 이어서 진행해 볼 수 있습니다.

  • 생성한 EC2에 SSH로 접속하기
  • 웹 서버(Nginx, Apache) 설치 후 외부에서 접속하기
  • 사용자 데이터(User Data)를 활용한 초기 설정 자동화
  • Terraform이나 CloudFormation을 활용한 인프라 코드화

이처럼 단순한 EC2 생성에서 시작해 점점 자동화와 운영 관점으로 확장해 나간다면, AWS 활용 능력을 훨씬 빠르게 끌어올릴 수 있습니다.

앞으로도 CloudShell과 CLI를 적극적으로 활용하여, 더 효율적인 AWS 환경을 구성해 보시기 바랍니다.

この記事をシェアする

FacebookHatena blogX

関連記事