Skip to main content

AWS 기초

AWS는 서비스 선택 폭이 넓지만, 초기 계정/권한/네트워크를 잘못 잡으면 운영 복잡도가 급격히 증가합니다.

학습 목표

  • AWS 계정과 IAM 기본 구조를 이해합니다.
  • AI/ML 워크로드에서 자주 쓰는 핵심 서비스를 연결할 수 있습니다.
  • GPU 인스턴스 선택과 비용 최적화 전략을 수립할 수 있습니다.
  • VPC 기본 구성과 보안 설계를 적용할 수 있습니다.

왜 AWS인가

AWS는 AI/ML 분야에서 가장 넓은 GPU 인스턴스 라인업과 SageMaker 생태계를 제공합니다. 다만 서비스가 많은 만큼 필요한 것만 정확히 선택하는 능력이 핵심입니다.

핵심 서비스 맵

영역서비스AI/ML 용도
컴퓨팅EC2, EKS, Lambda학습/서빙, 컨테이너 오케스트레이션, 경량 추론
저장소S3, EBS, EFS데이터셋, 체크포인트, 공유 파일시스템
네트워크VPC, ALB/NLB, Route 53격리, 로드밸런싱, DNS
보안IAM, KMS, Secrets Manager권한, 암호화, 비밀정보
관측성CloudWatch, CloudTrail메트릭/로그, 감사 추적
AI/MLSageMaker, Bedrock학습/서빙 파이프라인, Foundation Model API

GPU 인스턴스 비교

인스턴스GPUGPU 메모리주요 용도시간당 비용(On-Demand, 참고)
g5.xlargeA10G x124GB추론, 경량 파인튜닝~$1.0
g5.12xlargeA10G x496GB중형 학습, 멀티GPU 추론~$5.7
p4d.24xlargeA100 x8320GB대규모 학습~$32.8
p5.48xlargeH100 x8640GBLLM 학습, 최고 성능~$98.3
GPU 인스턴스는 리전별 가용성과 쿼터 제한이 있습니다. 사전에 Service Quotas에서 확인하고 필요시 증가 요청하세요.

IAM 정책 설계

IAM은 “누가(Principal) 무엇을(Action) 어디에(Resource)” 접근할 수 있는지 정의합니다.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::ml-datasets-prod/*"
    },
    {
      "Effect": "Deny",
      "Action": "s3:DeleteBucket",
      "Resource": "*"
    }
  ]
}
"Action": "*", "Resource": "*" 조합은 전체 권한을 의미합니다. 운영 환경에서는 절대 사용하지 마세요.

VPC 기본 구성

VPC (10.0.0.0/16)
├── Public Subnet  (10.0.1.0/24) ── ALB, NAT Gateway
├── Private Subnet (10.0.2.0/24) ── API 서버, 추론 서비스
└── Private Subnet (10.0.3.0/24) ── 학습 인스턴스, DB
설계 원칙:
  • GPU 인스턴스는 Private Subnet에 배치합니다.
  • 외부 접근은 ALB/NLB를 통해서만 허용합니다.
  • S3, ECR 등은 VPC Endpoint로 연결해 egress 비용을 줄입니다.

AI/ML 최소 시작 아키텍처

1

데이터 저장소 구성

S3 버킷을 생성하고 버전 관리, 퍼블릭 액세스 차단, 라이프사이클 정책을 설정합니다.
2

컴퓨팅 배치

학습은 EC2 또는 SageMaker, 서빙은 EKS 또는 EC2에 배치합니다.
3

비밀정보 분리

API 키와 DB 자격증명을 Secrets Manager로 분리합니다.
4

모니터링 설정

CloudWatch 대시보드로 GPU 사용률, API 지연시간, 비용 추이를 추적합니다.
5

감사 로그 활성화

CloudTrail로 API 호출 이력을 추적합니다.

비용 최적화 전략

전략절감 효과적합한 워크로드
Spot 인스턴스최대 90%중단 허용 학습, 배치 처리
Reserved 인스턴스30-60%상시 운영 서빙 서버
Savings Plans최대 72%일정 사용량 보장 시
자동 종료 스케줄변동개발/테스트 환경

운영 실무 포인트

  • IAM 정책은 역할(Role) 기반으로 관리합니다.
  • root 계정은 일상 운영에 사용하지 않습니다. MFA를 필수 활성화합니다.
  • GPU 인스턴스는 리전별 가용성과 쿼터를 먼저 확인합니다.
  • 비용 태그(env, team, service)를 필수화합니다.
  • S3 VPC Endpoint를 설정해 데이터 전송 비용을 줄입니다.
학습, API, 배치 작업을 한 인스턴스에 모두 넣으면 장애 범위가 커집니다. 역할을 분리하고, 적어도 배치 작업은 큐 기반(SQS + Lambda/ECS)으로 분리하세요.
버킷 정책, 퍼블릭 액세스 차단, 라이프사이클 정책을 기본으로 설정하세요. 데이터 보관 기간과 삭제 정책을 미리 정의하면 비용/규정 대응이 쉬워집니다.
AWS Budgets로 월 예산을 설정하고, 50%/80%/100% 도달 시 알림을 받으세요. 개발 환경은 EventBridge + Lambda로 야간 자동 종료를 구현하세요.
Spot은 2분 경고 후 중단될 수 있습니다. 체크포인트를 S3에 주기적으로 저장하고, 재시작 시 마지막 체크포인트부터 이어서 학습하도록 코드를 작성하세요.

체크리스트

  • IAM 최소 권한 정책을 적용했나요?
  • root 계정에 MFA가 활성화되어 있나요?
  • GPU 인스턴스 쿼터와 리전 가용성을 확인했나요?
  • S3 버킷 보안 정책(퍼블릭 차단, 버전 관리)을 점검했나요?
  • 비용 알림(Budgets)과 태깅 규칙이 적용됐나요?
  • VPC Endpoint로 내부 트래픽을 최적화했나요?
  • Spot 사용 시 체크포인트 전략이 있나요?

다음 문서