☁️ AWS CloudShell (기본 + VPC 모드)


🔷 AWS CloudShell 정의

AWS Management Console에서 즉시 실행 가능한, IAM 권한이 사전 적용된 브라우저 기반 셸 환경


🧩 CloudShell의 역할

“로컬 환경 없이 AWS를 바로 제어하기 위한 관리·실습용 터미널”

  • 설치 ❌
  • 인증 설정 ❌
  • 즉시 실행 ⭕
  • AWS CLI / SDK 실습 최적화

⚙️ 기본 동작 구조

🔐 인증 & 권한

  • AWS Console 로그인 사용자 = CloudShell 사용자
  • IAM 권한 그대로 상속
  • 별도 Access Key 관리 불필요

🖥️ 실행 환경

  • Amazon Linux 2023
  • 1 vCPU / 2GB RAM
  • Bash / PowerShell / Zsh
  • Node.js, Python, .NET 기본 제공

⏱️ 세션 중심 아키텍처

CloudShell은 “항상 살아있는 서버”가 아니라 “세션 기반 환경”

세션 종료 조건

  • 20~30분 입력 없음
  • 약 12시간 이상 지속

세션 특징

  • 리전 당 최대 10개 동시 세션
  • 종료 시 환경 대부분 초기화
  • 필요 시 홈 디렉터리 삭제로 완전 리셋 가능

💾 스토리지 전략 정리

기본 CloudShell

리전당 1GB 영구 스토리지 제공

  • $HOME 디렉터리
  • 120일 미사용 시 자동 삭제
  • KMS 암호화
  • 장기 보관 → S3 / CodeCommit 권장

VPC 모드 CloudShell

영구 스토리지 없음

  • 세션 종료 시 즉시 삭제
  • 실습/운영용 임시 환경에 한정

🌐 네트워크 모델 비교

기본 CloudShell

  • Outbound 인터넷 ⭕
  • Inbound 접근 ❌
  • Public IP ❌
  • 외부 접근 불가, 내부에서만 사용

CloudShell VPC 모드

CloudShell을 VPC 내부에 배치

  • Private Subnet 접근 ⭕
  • Private EC2 / RDS 접속 ⭕
  • Bastion Host 대체 가능

🔒 VPC 모드 핵심 제약

보안 강화 ↔ 사용성 감소 트레이드오프

  • 환경 최대 2개
  • 환경당 보안 그룹 최대 5개
  • 파일 업로드/다운로드 ❌
  • 인터넷 접근:
    • NAT Gateway 있을 때만 가능
  • AWS 서비스 호출:
    • VPC Endpoint 필수

🐳 컨테이너 활용 포인트

CloudShell = 가벼운 Docker 실습 환경

  • Docker 기본 설치
  • 간단한 컨테이너 테스트 가능
  • Redis 등 경량 서비스 실행 가능

⚠️ 대형 이미지 / 고자원 컨테이너는 부적합


🧠 보안 관점 정리

CloudShell은 “안전하지만 완전한 격리는 아님”

  • IAM 기반 접근 제어
  • Safe Paste 기본 활성화
  • CloudTrail 기록 가능
    • 단, 명령 상세 내용은 제한적
  • 기본 모드에서는 외부 인터넷 접근 가능 → 데이터 유출 주의
  • VPC 모드 사용 시 보안 수준 ↑

🗺️ 전체 흐름 아키텍처

[ 사용자 브라우저 ]
        |
        v
[ AWS Console ]
        |
        | IAM 인증
        v
[ AWS CloudShell ]
   |            |
   |            +--> (기본 모드)
   |                  - 인터넷 접근 가능
   |
   +--> (VPC 모드)
          - Private Subnet
          - Private EC2 / RDS
          - NAT Gateway / VPC Endpoint 필요

📌 선택 가이드

언제 어떤 CloudShell을 쓰는가?

기본 CloudShell이 적합한 경우

  • AWS CLI 실습
  • 단기 테스트
  • 콘솔 보조 터미널
  • 외부 인터넷 필요 작업

CloudShell VPC 모드가 적합한 경우

  • Private EC2 관리
  • Bastion Host 제거
  • 보안이 중요한 운영 환경
  • 내부망 전용 접근

🧠 최종 요약

💡 CloudShell은 “개발 서버”가 아니라 “즉시 접근 가능한 AWS 관리 도구”

  • 빠르고 안전한 접근
  • 환경 유지 목적 ❌
  • 운영·관리·실습 목적 ⭕
  • VPC 모드는 보안 강화용 옵션