February 26, 2020
AWS上でのバージョン管理システム活用方法
By Chuck Gehman
*本記事はPerforce Software社の以下のブログ記事(2020年2月26日時点)の参考訳です。
ブログの内容は更新されている可能性があります。また、記事内のリンク先は別途記載がない限りは英語ページになります。
How to Leverage AWS Version Control
AWSを活用することで、開発のスピードや柔軟性の向上、コストの削減が期待できます。そのため、バージョン管理システムをAWSにデプロイしようと考えている開発チームは少なくありません。
AWSがバージョン管理システムのプラットフォームとして適している理由とは?
AWSは優れた伸縮性(elasticity)を備えていることから、バージョン管理システムのプラットフォームとして非常に適していると言えます。AWS上にバージョン管理システムを移すことで、様々な制限から解放されるのです。
伸縮性のレベルは、作業負荷に応じてどの程度まで自動的にリソースの管理が
できるかで決まってきます。つまり、その時々に応じて、必要なリソースを確実に
用意できるかどうかで判断されるのです。
また、バージョン管理をAWS上で行うようにすることで、セキュリティの向上、高可用性の確保、グローバルな分散開発環境への対応が可能になるというメリットもあります。結果、開発ライフサイクルの高速化にも役立ちます。次のヒット作を少しでも早く世に出したいと考えるゲーム開発の現場においては特に、「高速な開発サイクル」は不可欠な要素になるはずです。
もちろん、バージョン管理をAWS上で行おうと考えるなら、まずはAWSについて知る必要があります。例えば、AWS CloudFormation for Infrastructure as Codeは、リソースを適切に管理する上で役立ちます。また、AWS認証を事前に取得しておけば、その後のプロセスをスムーズに進めることができるでしょう。
ここで注意していただきたいのが、どのバージョン管理ツールを使っても同じメリットを受けられるわけではないという点です。ゲーム業界においては、非常に多くの開発チームがHelix Core を使ってバージョン管理を行っています。Helix Core に関して言えば、AWS 上で使用することで、オンプレミスのゲームサーバー上で使用した場合よりも大きなメリットが得られることが分かっています。
Helix CoreをAWSにデプロイするべき理由とは?
Helix Core をAWSにデプロイすることで「Helix Coreのパフォーマンス」と「AWSサーバーのデプロイのしやすさ」という2つのメリットを最大限に享受することができます。
Helix CoreとAWSは、お互いの足りない部分を補い合うことのできる、まさに理想的な組み合わせです。だからこそ、非常に多くのHelix Core ユーザーがAWSへのデプロイを決めているのです。
デプロイのしやすさ
ゲーム開発用のコードやバイナリファイルがどんどん増えて、管理のためにいくつものバージョン管理システムが必要になる。そして、そのデプロイの仕組みに常に頭を悩ませる。Helix Core とAWSの組み合わせであれば、そんな苦労はありません。簡単操作で必要なだけ、サーバーを用意できるようになります。
Helix CoreをAWSにデプロイすると、どんな感じになるのかイメージが沸かないという方は、Perforce Software社のテクニカルガイド:Best Practices for Deploying Helix Core on AWS(参考訳あり『Helix CoreをAWSにデプロイする方法』)をご参照ください。テクニカルガイドでは、AWS単体型のデプロイメントやAWSとオンプレミスを組み合わせたハイブリッド型のデプロイメントのトポロジーの例をそれぞれ説明しています。
Helix Core は5ユーザー、20ワークスペースまで無料でお使いいただけます。また、12ヵ月間無料で利用可能なAWSアカウントもあります。Helix Coreをダウンロードして、AWSアカウントを作成し、デプロイメントを試してみませんか。体験してみる >>
柔軟性
AWSを活用することで、手持ちのゲームサーバー機だけで、後どの程度のアセット管理に耐えられるか、心配する必要が無くなります。システム構成を最適化して、ベストなパフォーマンスを実現できるようになるのです。つまり、メモリを瞬時に増やしたり、CPUを追加したり、ネットワークシステム設定を調整したりすることが可能になります。
AWSにデプロイした場合のHelix Coreパフォーマンスについては、何社かのゲーム会社が既に評価をしてくれています。AWSにHelix Coreを移したときに、パフォーマンスにどのような影響があるかを調査する目的での評価でした。評価の結果、どの会社も、オンプレミスにサーバーを置いていた時より、AWS上にデプロイした時の方がパフォーマンスが改善するとの結論に至っています。
[本件に関連するオンラインセミナー:How to Deploy Helix Core on AWS]
セキュリティ
セキュリティの管理もHelix CoreをAWS上に置いた方が簡単になります。昔ながらのファイアウォールが必要なくなる(つまりは、ファイアウォールを開けるためのチケット発行が不要になる)のです。
上述のテクニカルガイドでは、Helix Coreでどのようにセキュリティグループを設定するのが良いかのアドバイスもしています。また、全てのバージョン管理システムノード間のセキュリティをより一層強化するために、Helix CoreはTLS暗号化処理も行うことができます。
連携のしやすさ
Helix CoreをAWSにデプロイすることで、他のツールとの連携も今以上に簡単になります。例えば、Jenkinsを使って新しいビルドサーバーや追加のビルドサーバーを立ち上げたいと考えたとします。これも、ASW上であれば、オンプレミスサーバーで準備するよりもずっと早くに実現することができます。
Helix Core自体、他ツールとの連携のしやすさが高く評価されており、Unreal EngineやUnity、Lumberyardなどのゲームエンジンともシームレスに連携します。この点も、多くのゲーム開発会社から選ばれている理由と言えるでしょう。
AWS活用のメリットは上記以外にも・・・
Helix CoreをAWSにデプロイするメリットは多岐にわたります。
しかし、事前に検討すべきことも沢山あります。例えば、サーバートポロジー、ストレージ構成、インスタンス、アベイラビリティーゾーン、セキュリティグループ構成などです。
もし、Helix CoreをAWSへデプロイしてみようかとお考えでしたら、ぜひPerforce Software社が用意したテクニカルガイド:Best Practices for Deploying Helix Core on AWS(日本語版ダウンロード『Helix CoreをAWSにデプロイする方法』)を参考にしてみてください。
AWS上でのゲーム開発向けワークフローの実装方法や最適化方法についてのアドバイスを掲載しています。Helix CoreのAWSへのデプロイを成功させるのに必要な情報がきっと見つかるはずです。
AWS + バージョン管理ツールを試してみませんか
Helix Core バージョン管理ツールをAWSにデプロイしてみたくなりましたか?
もしそうなら、ぜひPerforce Helix Core Studio Pack for AWSをご利用ください。Helix Coreは5ユーザー、20ワークスペースまで無料でご利用いただけますし、今なら、12カ月間無料のAWS利用枠も付いてきます。