[SEO 小見出し]
このガイダンスは、可用性が高く、ユーザーに低レイテンシーで提供される Unreal Engine 用の完全なゲーム制作環境を設定するのに役立ちます。また、高性能の仮想ワークステーションと一元的なバージョン管理システムを介して他のマシンにオンデマンドで作業を分散することで、負荷の高いコンピューティングタスクを高速化します。サンプルコードは、チームでこのゲーム制作環境を設定する方法を示しています。
注意: [免責事項]
アーキテクチャ図
[アーキテクチャ図の説明]
ステップ 1
NICE DCV リモートクライアントが、インスタンスのパブリック IP アドレスと認証情報を提供することで、Amazon Elastic Compute Cloud (Amazon EC2) 上でホストされている仮想ワークステーションインスタンスに接続します。
ステップ 2
GPU ベースの仮想ワークステーションが NICE DCV サーバーをホストし、リモートクライアントと EC2 インスタンス間のエンドツーエンドのセキュリティを提供します。仮想ワークステーションは、Amazon Virtual Private Cloud (Amazon VPC) を介して Perforce Helix Core バージョン管理システムなどのプライベートリソースにアクセスできます。
ステップ 3
NAT ゲートウェイが、プライベートサブネット内のリソースがライセンスサービスや更新サービスなどのパブリックインターネット上のリソースにアクセスすることを許可します。
ステップ 4
ビルドタスクを分散する Unreal Engine Swarm Coordinator は、Amazon VPC 内のリソースのみが使用できるプライベートリソースです。Swarm Coordinator には独自の EC2 インスタンスがあり、他のインスタンスのダウンタイムから隔離され、マイクロサービス環境が作成されます。
ステップ 5
Unreal Engine Swarm Agent が、システムリソースを使用して Swarm Coordinator によって割り当てられたジョブを完了します。このエージェントをホストするインスタンスは、ワークロード需要の変化に応じて Swarm Agent を追加または削除できる Amazon EC2 Auto Scaling グループに配置されます。
ステップ 6
バージョン管理システム (Perforce) は独自のインスタンス内にあり、マイクロサービスパターンに従います。これにより、他のインスタンスのダウンタイムから隔離され、必要に応じて、より複雑なリポジトリ構造が効率化されます。
Well-Architected Pillars
AWS Well-Architected フレームワークは、クラウドでシステムを構築する際に行う決定の長所と短所を理解するのに役立ちます。フレームワークの 6 つの柱により、信頼性が高く、安全かつ効率的で、費用対効果が高く、持続可能なシステムを設計および運用するためのアーキテクチャのベストプラクティスを学ぶことができます。AWS マネジメントコンソールで無料で提供されている AWS Well-Architected Tool を使用し、各柱の一連の質問に回答することで、これらのベストプラクティスに照らしてワークロードを確認できます。
上記のアーキテクチャ図は、Well-Architected のベストプラクティスを念頭に置いて作成されたソリューションの例です。完全に Well-Architected であるためには、可能な限り多くの Well-Architected ベストプラクティスに従う必要があります。
-
オペレーショナルエクセレンス
AWS Cloud Development Kit (AWS CDK) を使用すると、開発環境要素の一貫した反復可能なデプロイが可能になります。これにより、デプロイ時のエラーの原因が排除されるとともに、セキュリティと信頼性が向上し、コストが削減されます。Amazon CloudWatch は、開発環境リソースの運用メトリクスとロギングを提供します。CloudWatch での AWS CDK ロギングによる一貫した反復可能な自動デプロイで、リソースの数がどれだけスケールアップしても、開発環境のアプリケーションコンポーネントのロギングを単一の場所で行えるようになります。このガイダンスにあるすべてのサービスにおいてデフォルトで有効化されている運用メトリクスとヘルスメトリクスもスケールされます。
-
セキュリティ
NICE DCV は、クライアントとサーバー間のエンドツーエンドの AES-256 暗号化を使用して、ピクセル入力とエンドユーザー入力の両方を保護します。接続を許可する前にクライアントからの認証も要求されます。ワークステーションはパブリックサブネット内にあるため、ワークステーションのリモートサービスとクライアント間の通信が安全であること、および認証情報のないクライアントがワークステーションにアクセスできないことが重要です。
Amazon VPC では懸念事項を分散できます。Amazon VPC の「デフォルトでプライベート」であるポリシーは、パブリックインターネットに公開する必要のないリソースにセキュリティを追加します。開発環境のリソースのほとんどはパブリックインターネットに公開する必要がないため、Amazon VPC 内の他のリソースのみがアクセスできる Amazon VPC のプライベートサブネットに配置されます。
-
信頼性
Amazon Elastic Block Store (Amazon EBS) は、ストレージをインスタンスから切り離します。Amazon EC2 では、AWS リージョン内の複数の独立したアベイラビリティーゾーンへのデプロイが可能なため、アプリケーションの可用性が最大化され、堅牢なディザスタリカバリを実行できます。Amazon EBS では、Workspace、Perforce、Unreal Swarm Coordinator の各インスタンスで障害が発生しても、データを保持し、バックアップ用のスナップショットを簡単に作成することができます。
-
パフォーマンス効率
Amazon EC2 Auto Scaling を使用すると、開発環境のビルドリソースをオンデマンドでスケールアウトできます。具体的には、大規模なビルドタスクや多数のビルドタスクがある場合に Unreal Engine Swarm と Incredibuild のエージェントをスケールアップできるため、ビルド時間が短縮され、イテレーション時間が長くなります。Amazon EC2 では、地理的にユーザーに近い AWS リージョンまたは AWS Local Zones へのデプロイが可能なため、ローカルクライアントとリモートサーバー間のレイテンシーを削減し、仮想ワークステーションの体験を最適化できます。NICE DCV は、クライアントとサーバー間で転送する必要のあるデータ量を最小限に抑えるように最適化されたプロトコルを提供するため、1 秒あたりのフレーム数が増加し、入力と表示の間のレイテンシーが少なくなります。
-
コストの最適化
Amazon EC2 では、さまざまなインスタンスタイプと支払いモデルから選択することで、特定のワークロードのコストを最適化できます。これにより、ワークロードをより低コストのオプションで実行できます。さらに、オンデマンドインスタンスを使用すれば、未使用のサーバーへの支払いを最小限に抑えることができます。
-
持続可能性
Amazon EC2 Auto Scaling と Amazon EC2 のインスタンスタイプは、ワークロードのニーズに合わせて必要最小限のリソースをプロビジョニングするのに役立ちます。スケーリングやインスタンスタイプの選択によってワークロードに合わせてリソースを最小限にすることで、環境に対するワークロードの影響を最小限に抑える効率的なサービスを構築できます。
関連コンテンツ
免責事項
サンプルコード、ソフトウェアライブラリ、コマンドラインツール、概念の実証、テンプレート、またはその他の関連技術 (私たちの担当者から提供される前述のものを含む) は、AWS カスタマーアグリーメント、またはお客様と AWS との間の関連文書契約 (いずれか該当する方) に基づき、AWS コンテンツとしてお客様に提供されるものです。お客様は、この AWS コンテンツを、お客様の本番アカウント、または本番データもしくはその他の重要なデータで使用すべきではありません。お客様は、サンプルコードなどの AWS コンテンツを、お客様固有の品質管理手法および基準に基づいて、本番グレードでの使用に適したテスト、セキュリティ確保、および最適化を行う責任を負います。AWS コンテンツのデプロイには、Amazon EC2 インスタンスの実行や Amazon S3 ストレージの使用など、AWS の課金対象リソースを作成または使用するための AWS 料金が発生する場合があります。
本ガイダンスにおける第三者のサービスまたは組織への言及は、Amazon または AWS と第三者との間の承認、後援、または提携を意味するものではありません。AWS からのガイダンスは技術的な出発点であり、アーキテクチャをデプロイするときにサードパーティのサービスとの統合をカスタマイズできます。