자동화된 실습 생성을 통해 신속하게 준비하고 실행할 수 있었지만, 세부적으로 살펴보면 다양한 사용 사례에 맞추어 환경을 최적화할 수 있는 큰 폭의 유연성을 확인할 수 있습니다. 이 섹션에서는 이 같은 유연성의 이점을 활용하고 클러스터를 동적으로 업데이트하는 데 적용하는 방법을 알아봅니다.
- 소프트웨어 및 애플리케이션 설치
- HPC 워크로드에 적합한 EC2 인스턴스 유형을 선택하는 방법
- Auto Scaling 이해 및 제어
소프트웨어 애플리케이션은 SSH를 통해 헤드 노드에 로그온하여 설치할 수 있습니다. CfnCluster는 openMPI, 언어, 컴파일러 등 HPC 애플리케이션을 지원하는 다양한 소프트웨어 패키지를 제공합니다. 애플리케이션 특성과 관리자로서의 선호에 따라 다양한 방법으로 애플리케이션을 설치할 수 있습니다. 일반적인 방법으로는 /efs/apps 또는 /shared 폴더에 설치하는 방법을 들 수 있습니다. 이들 폴더는 모든 노드에 NFS 공유로 탑재됩니다.
애플리케이션이 설치되고 라이선스가 부여되면, 이 학습 과정의 첫 번째 챕터에서와 같이 EnginFrame Service Editor를 사용하여 사용자 커뮤니티에 애플리케이션을 게시할 수 있습니다.
AWS는 시간당 몇 센트에서 몇 USD에 이르기까지 여러 가지 온디맨드 요금으로, 서로 매우 다른 워크로드 유형을 서비스하기 위한 다양한 EC2 인스턴스 패밀리 유형, 세대 및 사이징을 제공합니다.
인스턴스 유형을 선택하려면 먼저 애플리케이션의 구체적인 요구 사항부터 파악합니다. 애플리케이션마다 컴퓨팅 코어 수, 프로세서 속도, 메모리 요구 사항, 스토리지 요구 사항, 네트워킹 사양, 비용 등의 요구 사항이 다릅니다.
패밀리는 프로세서 유형, 메모리 용량, 스토리지 및 사용 가능한 네트워크 연결에 따라 분류됩니다. c 패밀리 또는 "컴퓨팅" 패밀리는 HPC 워크로드에 가장 적합합니다. 패밀리 내의 여러 인스턴스 유형은 대체적으로 메모리 대비 vCPU의 비율이 동일합니다. vCPU는 하이퍼 스레드 프로세서입니다. 일반적으로, 2개의 하이퍼 스레드 코어가 하나의 물리적 코어 같이 작동합니다. 각 패밀리 내에 여러 세대가 공존할 수 있습니다. 예를 들어 c 인스턴스 패밀리 유형에는 c3 및 c4 인스턴스가 포함됩니다. 추가된 숫자는 인스턴스 유형의 세대를 나타냅니다.
병렬 HPC 애플리케이션에는 c4.8xlarge(haswell) 인스턴스가 매우 널리 사용됩니다. 이 인스턴스는 메모리가 최대 60GiB이고 코어가 18개입니다. 각 패밀리는 다양한 크기로 제공됩니다. 예를 들어 c4.4xlarge라는 컴퓨팅 인스턴스는 크기가 c4.8xlarge의 절반입니다. 또한 시간당 요금도 약 절반입니다.
인스턴스는 언제든지 중지할 수 있으며, 다른 인스턴스 유형으로 다시 시작할 수 있습니다. 이 기능 덕분에 HPC 워크로드에 최적화된 인스턴스 유형을 손쉽게 선택할 수 있습니다.
아래의 차트에는 HPC 워크로드에 많이 사용되는 다른 인스턴스 유형이 나와 있습니다.
인스턴스 유형 |
vCPU |
메모리 (GiB) |
스토리지 (GB) |
네트워킹 성능 |
물리적 프로세서 |
클록 속도(GHz) |
EBS 옵션 |
c4.8xlarge |
36 |
60 |
EBS 전용 |
10기가비트 |
인텔 E5-2666 v3 |
2.9 |
예 |
c3.8xlarge |
32 |
60 |
2 x 320 SSD |
10기가비트 |
인텔 제온 E5-2680 v2 |
2.8 |
아니요 |
m4.10xlarge |
40 |
160 |
EBS 전용 |
10기가비트 |
인텔 E5-2676 v3 |
2.4 |
예 |
m4.16xlarge |
64 |
256 |
EBS 전용 |
20기가비트 |
인텔 제온 E5-2686 v4 |
2.3 |
예 |
p2.16xlarge |
64 |
732 |
EBS 전용 |
20기가비트 |
인텔 제온 E5-2686 v4 |
2.3 |
예 |
x1.32xlarge |
128 |
1,952 |
2 x 1,920 SSD |
20기가비트 |
인텔 E7-8880 v3 |
2.3 |
예 |
r3.8xlarge |
32 |
244 |
2 x 320 SSD |
10기가비트 |
인텔 E5-2670 v2 |
2.5 |
아니요 |
사용 가능한 인스턴스 유형의 목록은 Amazon EC2 인스턴스 유형을 참조하십시오. tour 워크로드에 적합한 인스턴스 유형을 찾은 후에는 온디맨드 요금과 현재 스팟 요금의 차이점을 확인합니다. 현재의 워크로드가 잠재적인 인스턴스 재확보에 손쉽게 대응할 수 있는 경우, 일반적으로 스팟 요금을 사용하면 HPC 예산을 매우 효과적으로 절감할 수 있습니다.
클러스터의 특성을 수정해야 하는 경우, CloudFormation 콘솔에서 제공되는 "Update Stack(스택 업데이트)" 기능을 사용하면 동적으로 손쉽게 수정할 수 있습니다. 일부 변경 사항으로 인해 클러스터의 기능이 일시적으로 중지될 수 있습니다. 변경에 따른 결과에 대해 잘 알고 있지 않다면, 클러스터에 워크로드가 없는 경우에만 스택 파라미터를 재구성하십시오.
아래의 지침에 따라 DefaultCluster 스택에서 이 기능을 사용해 보십시오.
Auto Scaling은 애플리케이션 가용성을 간편하게 관리하고, 사용자가 정의한 조건에 따라 EC2 용량을 자동으로 확장 또는 축소할 수 있는 Amazon EC2의 기능입니다. Auto Scaling을 활용하면 실행 중인 Amazon EC2 인스턴스의 수를 원하는 수준으로 유지할 수 있습니다.
이 실습에서는 EC2 Auto Scaling 기능을 통해 클러스터 크기를 지속적으로 모니터링하고 변경합니다. 워크로드(예: 다중 노드 MPI 작업)에 가장 적합한 클러스터 크기를 알고 있는 경우, 클러스터가 점진적으로 확장되도록 하는 것보다 적절한 수의 노드를 사전에 프로비저닝하는 편이 더 빠르고 효율적일 수 있습니다.
아래의 지침에 따라 Auto Scaling 클러스터 크기를 설정할 수 있습니다.