이 튜토리얼은 AWS(Amazon Web Services)에서 언리얼 엔진 5 인스턴스를 구성하기 위한 단계별 가이드를 제공합니다.
전제 조건
AWS에서 언리얼 엔진 5를 디플로이하려면 다음 전제조건을 충족해야 합니다.
지역 지원
현재 위치한 지리적 지역 또는 가장 가까운 지역이 GPU 지원 가상 워크스테이션(g4dn 인스턴스) 액세스를 지원하는지 확인해야 합니다. AWS에 이 액세스를 지원하는 지역의 목록을 요청하세요.
여기에서 소개하는 언리얼 엔진 5 서비스는 현재 g4dn 인스턴스만 지원합니다.
최고의 퍼포먼스를 위해서는 AWS 서비스가 최대한 지리적으로 가까운 곳에 위치해야 합니다. 일반적으로 지연시간 값 이 가장 낮은 지역이 좋습니다. 최적의 퍼포먼스를 위해서는 50ms 미만의 지연시간이 권장됩니다.
어떤 지역이 가장 가까운지 확인하려면 AWS의 지역 및 가용 영역 웹페이지를 참고하세요. ping.psa.fun 등의 웹 사이트를 참조하여 현재 위치에서 다른 지역까지의 지연시간을 측정할 수 있습니다. 가장 가까운 지역이 G4 인스턴스 액세스를 지원하지 않는 경우 다른 인근 지역을 확인하세요.
AWS 계정
사용자 본인, 고용주 또는 기타 당사자의 AWS 계정 액세스가 필요합니다. 디플로이를 마치는 데 필요한 모든 AWS 서비스 액세스 권한이 계정에 있는지 확인하세요.
언리얼 엔진 5는 무료로 사용할 수 있지만 그 결과로 생성되는 AWS 인스턴스에는 관련 비용이 발생합니다. 따라서 청구 계정이 고용주 또는 다른 당사자와 연동되어 있는 경우, 디플로이 인스턴스를 구성하기 전에 해당 청구 계정으로 비용을 결제해도 되는지 여부를 확인하세요.
보다 정확한 비용을 추산하려면 EC2 요금 페이지에서 요금 정보를 살펴보거나 AWS Calculator를 사용하여 새 EC2 요금 추정치를 생성하세요. 맞춤화된 시간당 추정 요금을 알아보려면 우선 가장 가까운 지역을 선택한 다음 g4dn.2xlarge
인스턴스를 선택하세요. 작업 중에는 AWS Billing Console을 사용하여 현재 요금을 모니터링할 수 있습니다.
링크된 계정 및 통합 청구에 대한 자세한 내용은 통합 청구 프로세스 AWS 문서를 참고하세요.
계정 권한
계정 오너
새 AWS 계정을 생성했거나 계정의 오너인 경우 루트 사용자로 로그인하게 됩니다. 사용자 이름이 아닌 이메일 주소로 로그인하는 경우 루트 계정을 사용하는 것입니다.
보안을 유지하기 위해 새 사용자를 생성하고 해당 크리덴셜로 로그인할 것을 적극 권장합니다. 자세한 내용은 AWS 계정에서 새 IAM 사용자 생성하기 문서를 참고하세요.
서드파티 계정
고용주 또는 서드파티가 제공한 사용자 계정을 사용하는 경우 언리얼 엔진 5를 디플로이하려면 권한 정책 추가를 요청해야 할 수도 있습니다. 사용자가 액세스할 수 있는 정책에 대한 규칙을 계정 오너가 보유하고 있을 수 있습니다.
온디맨드 G 인스턴스 할당량
AWS의 리소스 대부분은 한도(limit)라고도 하는 할당량(quota)의 적용 대상입니다. 각 리소스에는 사용 가능한 리소스의 최댓값을 나타내는 할당량이 있습니다. AWS는 이 할당량을 통해 클라이언트의 리소스를 관리하여 고가용성과 낮은 지연시간을 달성하고 리소스 과다 사용 및 예상치 못한 비용을 줄입니다.
AWS에서 언리얼 엔진 5를 디플로이하려면 GPU 지원 가상 워크스테이션(g4dn 인스턴스)에 연결해야 합니다. 권장 인스턴스 크기를 사용하려면 최소 8 이상의 g4dn 인스턴스 할당량이 필요합니다.
새 AWS 계정을 사용하거나 이전에 GPU 인스턴스를 사용한 적이 없는 경우 G4 인스턴스 할당량의 값을 확인하고 필요한 경우 증설을 요청해야 합니다. AWS 계정에 로그인하고 AWS의 서비스 할당량 문서를 참고하여 현재 할당량을 확인하고 증설을 요청하는 방법을 알아보세요.
원격 액세스하기
언리얼 엔진이 디플로이된 G4 인스턴스에 액세스하려면 원격 액세스 애플리케이션이 필요합니다. 이 인스턴스는 지연시간이 낮은 연결 메서드를 위해 NICE DCV 지원과 함께 제공됩니다. NICE DCV 클라이언트는 미리 설치할 수 있습니다. Windows RDP 클라이언트 또한 이러한 용도로 효율적입니다.
AWS Console 및 AWS Marketplace AMI 사용하기
AWS Console 은 모든 AWS 서비스의 메인 인터페이스입니다. 가상 워크스테이션용 가상 컴퓨터를 실행하는 데 사용되는 AWS 서비스는 EC2(Elastic Compute Cloud) 입니다. 인스턴스 하나는 EC2의 단일 가상 컴퓨터에 해당합니다.
언리얼 엔진을 기본 Windows 인스턴스에서 처음부터 설치하는 대신 언리얼 엔진 5가 미리 설치 및 환경설정되어 있는 AWS Marketplace의 AMI(Amazon Machine Image) 로 시작하세요.
계정에 로그인하기
이 링크를 따라 AWS 계정에 로그인합니다.
다시 강조하지만, 계정에 루트 사용자가 아닌 IAM 사용자로 로그인해야 합니다. 새 사용자를 생성하려면 AWS의 IAM 사용자 문서를 참고하세요.
UE 제품 구독하기
언리얼 엔진 5 AMI는 AWS Marketplace에서 호스팅됩니다. 여기에서 제품 페이지로 이동할 수 있습니다.
언리얼 엔진 AMI 제품이 열리면 오른쪽 상단의 Continue to Subscribe 를 클릭합니다.
Subscribe to this software 페이지의 Terms and Conditions 에서 Accept Terms 를 클릭합니다. 몇 분 동안 프로세스가 진행된 후 언리얼 엔진 5 AMI가 AWS 계정에 추가되며 이를 다양한 방식으로 실행할 수 있습니다.
인스턴스 실행하기
AWS는 다양한 EC2 인스턴스 실행 방법을 제공합니다. 여기서는 가장 쉬운 두 가지 방법인 CloudFormation 과 EC2 Console 을 살펴봅니다.
실행 옵션 1: CloudFormation
CloudFormation은 단순 템플릿 파일을 기반으로 여러 리소스를 한꺼번에 디플로이하는 AWS의 서비스입니다. 에픽게임즈는 AMI에 포함된 NICE DCV 원격 데스크톱 소프트웨어 라이선싱에 필요한 새 IAM 역할을 자동으로 생성하는 템플릿을 제작했습니다.
AWS Management Console의 페이지 오른쪽 상단 드롭다운 메뉴에서 인스턴스를 디플로이할 지역을 선택하세요.
EC2 인스턴스 생성에 사용된 프라이빗 키 쌍에 대한 액세스 권한이 없는 경우 이 가이드를 참고하여 생성해야 합니다. RSA 를 타입으로,
**.pem**
을 포맷으로 사용합니다. 안전하게 다운로드 및 저장되었는지 확인하세요.이 링크를 열고 템플릿을 사용하여 CloudFormation에서 새 스택 생성을 시작합니다.
위 1단계에서와 마찬가지로 AWS Management Console 의 지역을 변경하여 이 스택을 키 쌍을 생성한 지역과 동일한 지역에서 생성합니다.
대부분의 필드는 변경사항 없이도 올바르게 작동하는 디폴트 값으로 채워져 있지만 다음 사항에 유의해야 합니다.
유효한 Stack name 을 입력합니다.
드롭다운에서 Key pair name 을 선택합니다.
.pem
파일의 로컬 사본이 있는 키 쌍이어야 합니다. 목록이 비어 있다면 1단계로 돌아가서 생성하거나 올바른 지역에 있는지 확인합니다.Termination Protection 을 활성화하는 것을 권장합니다. 선택 사항이지만 스택 또는 생성된 인스턴스가 실수로 사용자에 의해 삭제되는 경우 데이터가 손실되는 것을 방지합니다.
드롭다운 목록에서 VPC 및 Subnet 을 지정합니다. 보통 현재 지역에 하나의 디폴트 VPC와 여러 디폴트 서브넷이 있으며 목록의 상단 항목이 선호됩니다.
세팅을 환경설정하고 acknowledge that AWS CloudFormation might create IAM resources 체크박스를 선택한 다음 Create stack 을 클릭합니다.
모든 것이 올바르게 환경설정되었다면 새로 생성된 스택의 개요 페이지가 표시되고
CREATE_IN_PROGRESS
상태를 볼 수 있습니다. Resources 탭을 클릭합니다.리소스 목록의 EC2Instance 는 작업할 가상 머신입니다. EC2 인스턴스가 보이지 않는다면 아직 생성 중인 것으로, 잠시 후 페이지를 새로 고치면 표시됩니다. 하이퍼링크된 Physical ID 를 클릭하여 EC2 Console을 엽니다. 아래의 인스턴스에 연결하기 섹션으로 넘어갑니다.
실행 옵션 2: EC2 Console
AWS Marketplace에서 언리얼 엔진 제품을 구독한 뒤 다음 단계에 따라 Marketplace에서 인스턴스를 직접 실행할 수 있습니다.
NICE DCV를 사용하여 이 인스턴스에 연결하려면 CloudFormation 템플릿을 사용하여 디플로이하거나 이 단계에 따라 무료 라이선스를 평가 기간 이후에도 계속 활성 상태로 유지합니다.
Marketplace 목록의 Subscribe 페이지에서 Continue to Configuration 을 클릭합니다.
Configure this software 페이지에서 선택된 지역이 올바른지 확인합니다. 그렇지 않다면 드롭다운 메뉴를 사용하여 업데이트합니다. 완료되면 Continue to Launch 를 클릭합니다.
Launch this software 페이지에서 Choose Action 드롭다운 메뉴를 펼친 다음 Launch through EC2 를 선택하고 Launch 를 클릭합니다.
Launch an instance 페이지로 넘어가서 인스턴스의 이름부터 입력합니다.
디폴트 세팅 몇 가지는 이미 채워져 있습니다. Instance type, Storage 및 Networking 섹션을 수정하여 인스턴스 세팅을 검토할 수 있습니다. 디폴트 세팅은 보통 그대로 사용해도 되지만 고급 사용자인 경우 자유롭게 수정해도 됩니다.
Key pair 섹션 밑의 드롭다운 메뉴에서 Create a new key pair 를 선택하고 키 쌍 이름을 입력합니다.
키 쌍 은 두 컴퓨터 간의 데이터 암호화에 사용되는 퍼블릭 키와 프라이빗 키 파일로 구성됩니다. AWS에서 퍼블릭 키 파일을 저장하지만 프라이빗 키 파일은 사용자가 저장해야 합니다.
키 쌍 이름을 입력한 다음 Download Key Pair 를 클릭합니다.
새 키 쌍을 생성할 때는 프라이빗 키를 다운로드하여 로컬 컴퓨터에 안전하게 저장해야 합니다. 프라이빗 키 파일을 다운로드할 기회는 다시 없습니다. 따라서 컴퓨터에서 다시 찾을 수 있는 안전한 위치에 저장해야 합니다.
프라이빗 키 파일을 다운로드하고 Launch Instance 를 클릭합니다.
인스턴스 상태 보기
인스턴스를 실행하면 곧 Success 라는 메시지가 표시됩니다. 인스턴스가 성공적으로 실행된 다음 View all instances 를 클릭합니다.
그러면 Instances 페이지로 돌아갑니다. 여기서 실행 중인 인스턴스와 그 상태 목록이 표시됩니다. 처음에는 Instance State 가**Pending 으로 표시되었다가 Running 으로 변경되며, Status Checks 필드는 Initializing** 으로 시작됩니다.
5~10분이 지나면 Status Checks 필드가 2/2 checks passed 로 변경되며 인스턴스 준비가 완료됩니다. 아래의 인스턴스에 연결하기로 넘어갑니다.
인스턴스에 연결하기
인스턴스가 생성되고 구성 프로세스가 완료되면 NICE DCV, Windows RDP 및 기타 원격 연결 애플리케이션을 사용하여 인스턴스에 연결할 수 있습니다.
EC2 Console 의 Instances 페이지에서 Instance ID 를 클릭합니다.
그러면 Instance summary 페이지가 열립니다. 오른쪽 상단에서 Connect 를 클릭합니다.
연결할 수 없다는 경고 메시지가 표시됩니다. RDP client 를 클릭한 다음 Get password 를 클릭합니다.
Browse 를 클릭하고 앞에서 다운로드하여 저장한 키 쌍 파일을 선택합니다. 텍스트 창에 RSA 키가 표시되면 Decrypt Password 를 클릭합니다.
해독된 비밀번호가 표시됩니다.
연결 옵션 1: NICE DCV
언리얼 엔진 AMI에는 NICE DCV 지원이 포함됩니다. Amazon에서 제공하는 원격 데스크톱 소프트웨어로, 낮은 지연시간 및 높은 퀄리티 경험을 위해 제작되었습니다. 아직 없다면 NICE DCV 클라이언트를 설치해야 합니다.
NICE DCV 클라이언트 를 열고 Public DNS 를 복사한 다음 Hostname / IP Address 필드에 붙여 넣고 Connect 를 클릭합니다.
서버의 보안 인증서에 대한 경고가 표시됩니다. Trust and Connect 를 클릭합니다.
다음으로 로그인 크리덴셜을 입력합니다. Username 으로 ./Administrator 를 사용하고 키 쌍 파일에서 해독된 비밀번호를 복사하여 붙여 넣습니다. Login 을 클릭하면 NICE DCV 연결이 시작됩니다.
연결 옵션 2: Windows RDP
Windows 10과 함께 설치된 표준 Windows Remote Desktop Connection 앱, 즉 Windows RDP를 사용하여 원격 데스크톱 세션을 시작할 수 있습니다. 별도의 원격 데스크톱 클라이언트를 컴퓨터에 설치하고 싶지 않은 경우 좋은 대안이지만 NICE DCV 등의 앱과 달리 추가 기능을 제공하지 않습니다.
Windows RDP 클라이언트 를 실행합니다. Public DNS 를 복사한 다음 Windows RDP 로그인 창의 Computer 필드에 붙여 넣고 Connect 를 클릭합니다.
More choices 에서 Use a different account 를 선택한 다음 .\Administrator 를 사용자 이름으로 입력합니다. Password 로는 키 쌍 파일의 암호화된 비밀번호를 입력합니다. OK 를 클릭하여 인스턴스에 연결합니다.
이미 Administrator가 아닌 다른 사용자 계정을 구성한 경우 해당 사용자 이름을 사용하세요.
그러면 EC2 인스턴스의 인증서 문제에 대한 경고가 표시됩니다. Yes 를 클릭하여 연결을 계속하고 필요한 경우 Don't ask me again 체크박스를 선택합니다.
언리얼 엔진 5 실행
로그인 프로세스가 완료된 후 언리얼 엔진 5 EULA가 표시됩니다. 관련된 옵션을 선택하고 Verify EULA 를 클릭합니다. 이는 인스턴스에 처음 연결할 때만 하면 됩니다.
다음으로 에픽게임즈 로그인 메뉴가 표시됩니다. 에픽게임즈 계정으로 로그인합니다.
로그인하면 언리얼 엔진 5와 에픽게임즈 런처 가 있는 데스크톱이 표시됩니다. 언리얼 엔진을 바로가기로 직접 실행하거나 에픽게임즈 런처를 실행하고 다시 로그인하여 일반적으로 사용할 때처럼 콘텐츠에 액세스할 수 있습니다.
런처에 처음 로그인하면 런처를 업데이트하라는 안내와 언리얼 엔진과 관련된 프로젝트 파일이 표시될 수도 있습니다.
로컬 머신에서와 마찬가지로 어떤 Windows 소프트웨어든 설치할 수 있습니다. 먼저 이 튜토리얼의 나머지 부분을 계속하면서 인스턴스 관리 방법을 학습하여 필요하지 않을 때는 인스턴스가 실행되지 않게 할 것을 권장합니다.
비용 최적화
AWS 인스턴스의 높은 시간당 이용료를 고려하여 사용하지 않을 때는 인스턴스를 중지하거나 종료하는 것을 권장합니다.
인스턴스 중지 는 집 또는 사무실 컴퓨터를 끄는 것과 비슷합니다. 실행 중인 애플리케이션이 모두 종료되지만 퍼시스턴트 스토리지, 즉 인스턴스의 하드 드라이브에 저장된 데이터는 모두 보존됩니다. 인스턴스가 중지되면 사용량에 대해 시간당 요금이 부과되지 않지만, 인스턴스의 하드 드라이브에 있던 데이터를 저장하는 요금이 소액 부과됩니다. 중지된 인스턴스는 AWS Console의 EC2 인스턴스 목록에 표시되며 언제든 재시작할 수 있습니다. 자세한 내용은 인스턴스 중지 및 시작에 대한 AWS 문서를 참고하세요.
인스턴스 종료 는 중지보다 더 최종적입니다. 인스턴스가 종료되면 위와 마찬가지로 중지될 뿐 아니라 퍼시스턴트 스토리지에 저장된 데이터 또한 삭제됩니다. 따라서 시간당 사용료뿐 아니라 데이터 스토리지 비용도 부과되지 않습니다. 종료된 인스턴스는 콘솔에서 잠시 표시되지만 중지된 인스턴스와 달리 재시작할 수 없습니다. Termination Protection 기능을 활성화하여 실수로 인한 데이터 손실을 방지할 수 있습니다. CloudFormation 템플릿에서 Termination Protection을 활성화하면 인스턴스를 종료하기 전에 Termination Protection을 비활성화해야 합니다. 자세한 내용은 인스턴스 종료에 대한 AWS 문서를 참고하세요.
인스턴스 중지하기
AWS Console 에서 인스턴스를 선택합니다.
인스턴스 목록 상단의 Actions 버튼을 클릭하고 Instance State > Stop 을 선택한 다음 Yes, Stop 을 클릭합니다.
중지된 인스턴스 재시작하기
AWS Console 에서 인스턴스를 선택합니다.
인스턴스 목록 상단의 Actions 버튼을 클릭하고 Instance State > Start 를 선택합니다.
인스턴스 종료하기
AWS Console 에서 인스턴스를 선택합니다.
인스턴스 목록 상단의 Actions 버튼을 클릭하고 Instance State > Terminate 를 선택한 다음 Yes, Terminate 를 클릭합니다.