[EC2] GPU 인스턴스 기초 프로비저닝 가이드
Prerequisite
-
AWS 계정 및 권한: EC2 인스턴스 생성 및 관리 권한이 필요합니다.
-
GPU 인스턴스 타입 이해: 용도에 맞는 인스턴스 패밀리를 선택해야 합니다.
- P 시리즈 (P3, P4, P5): 머신러닝 학습 및 고성능 컴퓨팅
- G 시리즈 (G4dn, G5, G6): 그래픽 렌더링, 게임 스트리밍, ML 추론
- Inf 시리즈: ML 추론 최적화 (Amazon 자체 칩 사용)
-
리전별 가용성 확인: 모든 리전에서 GPU 인스턴스를 사용할 수 없으므로 사전 확인이 필요합니다.
- 예) ap-northeast-2(서울) 리전에서는 H100 1EA인스턴스 (p5.4xlarge) 사용이 불가능합니다.
Process
1. 인스턴스 타입 및 AMI 선택
GPU 인스턴스는 적절한 드라이버와 런타임이 포함된 AMI를 사용해야 합니다.
권장하는 AMI:
- Deep Learning AMI (Ubuntu/Amazon Linux): NVIDIA 드라이버, CUDA, cuDNN이 사전 설치됨
- AWS Marketplace의 GPU 최적화 AMI: 특정 프레임워크(PyTorch, TensorFlow)가 포함된 이미지
AWS Console에서 EC2 서비스로 이동합니다.

인스턴스 시작(Launch Instance) 버튼을 클릭합니다.

애플리케이션 및 OS 이미지에서 적절한 AMI를 선택합니다.



(Notice: 일반 AMI를 선택하면 NVIDIA 드라이버를 수동으로 설치해야 합니다. 제공되는 이미지는 amazon linux, ubuntu가 있습니다.)
인스턴스 유형에서 GPU 인스턴스를 선택합니다.

- 예: g4dn.xlarge (1개 NVIDIA T4 GPU), p3.2xlarge (1개 NVIDIA V100 GPU)
주의 : GPU 경쟁 과열로 인해, 예약으로 권장되는 GPU 인스턴스의 경우 캐퍼시티 블록 구매옵션에 주의해야합니다. 다음은 H200 * 8EA구성을 지원하는 p5en.48xlarge의 예시입니다. ![]() 용량 블록 구매옵션으로 캐퍼시티 블록을 구매하는경우 1시간단위로 즉시 예약되며, 환불이 불가능합니다. |
2. 키페어
새로운 키페어 혹은 기존의 키페어를 사용할 수 있습니다.
키페어가 존재하지 않는경우 생성합니다.


SSH 접속가이드는 다음을 확인합니다.
[EC2] SSH 접속 가이드
3. 네트워크 구성
GPU인스턴스가 위치하게될 AWS의 논리적 네트워크망인 VPC를 선택하는 항목입니다.
편집을 선택합니다.

네트워크 세부설정을 진행합니다.

-
VPC : 생성하였던 VPC를 선택합니다.
-
서브넷 : 인스턴스가 위치할 서브넷을 선택합니다.
- 일반적으로 인터넷을 통해 외부에 노출되는 경우 Public Subnet에 위치합니다.
- 외부에 노출하지 않고 내부망에서 사용하는경우 Private Subnet에 위치합니다.
-
퍼블릭 IP 자동할당 : 인터넷을 통해 외부에서 접근할 수 있는 IP를 부여합니다.
- 서브넷 지정 단계에서 Private Subnet을 지정한 경우에는 퍼블릭 IP를 부여해도 접근할 수 없습니다.
-
보안그룹 : AWS에서 지원되는 접근제어 방식입니다. 자세한 내용은 다음을 참고합니다.
4. 스토리지 구성
GPU 워크로드는 대량의 데이터를 처리하므로 충분한 스토리지가 필요합니다.

-
스토리지 구성(Configure storage) 섹션에서 용량을 설정합니다. 용량은 이후 확장이 가능하므로 적절한 용량을 입력합니다.
(주의 : 이후 확장은 가능하나 축소는 불가능합니다.)
- 볼륨 유형은 gp3 또는 io2를 권장합니다.
- gp3: 비용 대비 우수한 성능 (기본 권장)
- io2: 고성능 I/O가 필요한 경우
(Notice: GPU 인스턴스는 인스턴스 스토어를 제공하지만, 인스턴스 중지 시 데이터가 손실되므로 중요 데이터는 EBS에 저장해야 합니다.)
인스턴스 스토어(Nvme)는 EC2 인스턴스에 임시 블록 스토리지를 제공합니다. 이 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에서 제공합니다. 인스턴스 스토어(Nvme)는 버퍼, 캐시, 스크래치 데이터, 기타 임시 콘텐츠와 같이 자주 변경되는 정보의 임시 저장에 적합합니다. 또한 로드 밸런싱된 웹 서버 풀과 같은 인스턴스 플릿 전체에 복제하는 임시 데이터를 저장하는 데 사용할 수도 있습니다.
그러므로 중요한 장기 데이터의 경우 인스턴스 스토어 볼륨에 의존하지 마세요. 인스턴스 수명 기간이 지난 후에도 인스턴스 스토어 볼륨에 저장된 데이터를 유지해야 하는 경우 Amazon EBS 볼륨, Amazon S3 버킷 또는 Amazon EFS 파일 시스템과 같은 보다 영구적인 스토리지에 해당 데이터를 수동으로 복사해야 합니다.
|
4. GPU 드라이버 확인 (Deep Learning AMI가 아닌 경우)
일반 AMI를 사용한 경우 NVIDIA 드라이버를 수동으로 설치해야 합니다.
인스턴스에 SSH 접속합니다. [EC2] SSH 접속 가이드
GPU 인식 여부를 확인합니다. nvidia-smi 명령어로 설치를 확인합니다.

nvidia-smi
GPU 정보와 드라이버 버전이 출력되면 설치 성공입니다.
5. (번외) vLLM 테스트
uv 설치

curl -LsSf https://astral.sh/uv/install.sh | sh echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
vLLM설치

uv venv --python 3.11 --seed source .venv/bin/activate uv pip install vllm --torch-backend=auto
트랜스포머 최신화, 쿠다툴킷 설치
pip install --upgrade transformers sudo apt install nvidia-cuda-toolkit
테스트 모델 서브


vllm serve cyankiwi/GLM-4.7-Flash-AWQ-4bit --gpu-memory-utilization 0.9 --host 0.0.0.0 --port 8000
리퀘스트 테스트
외부 접속 허용 포트 8000, 보안그룹 설정 필요
[VPC] 보안그룹 설정 가이드


