【トップゲート主催】ゲーム業界様向けGCP活用のポイント 〜Google App Engine編〜
- GAE(Google App Engine)
- GGG Study
- ゲーム
- 活用事例
トップゲートはGoogle Cloudのプレミアパートナーとして、Google Cloudに関する様々なセミナーを開催しています。
この記事では、ゲーム業界様向けにGCPの使い方を解説した「GGG Study」の内容についてご紹介します。
GGG Studyは全6回に分けてGCPの各スキルを習得していただくための勉強会です。第1回では、Google App Engineについて解説していきます。
目次
GCPの3つの特徴
まずはGCPについて簡単に特徴をご紹介します。
セキュリティ
GCPでは高い水準のセキュリティ品質を保つために、各レイヤーにおいて様々な対策が行われています。
ハードウェア
GCPでは非常に高い品質の基準を設けており、インフラとして利用するほとんどのハードウェアを、自社で製造しています。
監視チーム
700人以上のセキュリティスタッフが365日24時間、常時監視を行っています。
第三者認証
ISO27001/27002/27003やSOC1/2/3といった国際的なセキュリティ認証を取得しています。また、FISCやGDPRへの対応も可能です。
セキュリティ支援機能
GCPでは、各レイヤーにおいてユーザーが利用できるセキュリティ機能をサービスとして提供しています。アプリケーションやネットワークのセキュリティはもちろん、認証認可の仕組みや、Cloud Armorと呼ばれるオールインワンのセキュリティソリューションなど、複数のサービスを組み合わせて利用環境を安全に保つことが可能です。
ネットワーク&インフラ
GCPネットワークの特徴として、ネットワークインフラとして自社で海底ケーブルを敷設しており、Google独自のネットワーク網を利用可能であることがあげられます。日本には東京と大阪の2リージョンを展開しており、リージョン単位での高可用性設計を構築することができます。
ビッグデータ&機械学習
また、GCPの数あるサービスの中でも最もよく利用されているサービスの1つがBigQueryというデータ分析のサービスです。フルマネージドのサービスであり、非常に簡単にビッグデータの分析を実行することができます。また、自社の膨大なデータから学習した人工知能のAPIサービスを提供している点も大きな特徴の1つです。
Google App Engine(GAE)の概要
ここからはGAEの特徴と、その利用方法についてご紹介します。
Google App Engine(GAE)とは、フルマネージド型のサーバーレスアプリケーションプラットフォームです。インフラ部分はGCPが管理するため、開発者は開発に集中することができます。
また、GAEではアプリケーションの負荷に応じてオートスケールによりインスタンスが拡張されるため、需要予測をする必要はありません。スケールアウトの速度は非常に高速であるため、中長期的なユーザー数の変化だけでなく、日中の細かな負荷の変化にも対応可能です。従量課金制であり、利用した分だけ支払う形態となっています。
アプリケーション開発を支える機能
GAEでは下記のような機能を備えており、アプリケーションを開発、運用していく上で重要な要素をサービスとして実装可能です。
- 多数の開発言語をサポート(Java, Python, PHP, Go, Node.js, Ruby, C#等)
- Blue/Greenデプロイが簡単に実現可能
- モニタリング、ロギング、デバッグが容易に可能
- 強力なアプリケーション診断機能
- マネージドのSSL/TLS証明書も追加費用なしで利用可能
2種類の実行環境
GAEでは、2種類の環境からアプリケーションの環境を選択することができます。スタンダード環境(GAE SE)では、アプリケーションはGoogleが管理するコンテナインスタンスの上で動作します。そのため、非常に安全性、信頼性の高い基盤上でアプリケーションを稼働させることが可能です。
一方フレキシブル環境(GAE FE)ではアプリケーションはGoogle Compute Engine上のDockerコンテナで動作します。利用出来る言語ランタイムやリソースなどの自由度が高く、より柔軟に環境を設定することが可能です。
Google App Engine(GAE)における開発の流れ
GAEでアプリケーションを開発する手順をご紹介していきます。
1. プロジェクトの作成
まずはプロジェクトを作成します。プロジェクトとはGCP内でリソースの管理に使用する単位のことで、全てのリソースはプロジェクトと紐付けられ、プロジェクト単位でユーザー管理や課金が行われます。そのため、GAEでアプリケーションを作成する前に、そのリソースを紐付けるプロジェクトを作成する必要があります。
プロジェクト選択画面で「新しいプロジェクト」から作成することができます。
2. Google App Engine(GAE)の初回設定
GAEを初めて利用する場合には初期設定画面が表示されます。コンソールから「Google App Engine」をクリックすると、ウェルカムページが表示されます。「アプリケーションを作成」をクリックし、リージョンを選択します。また、ここで設定する言語は実行環境の設定ではなくチュートリアル表示用の設定です。
3. プログラムを書く
では実際にコードを記述していきます。ここではまずクラウドベースのインタラクティブシェル環境であるCloud Shellを利用して記述する方法をご紹介します。Cloud Shellでエディタを起動し、YAMLファイルとプログラムの本体を記述します。
YAMLファイルではアプリケーション自体の設定を指定します。ランタイムの定義や、インスタンスクラスの種類、環境変数、スケーリングタイプなどをYAML形式で記述して構成することができます。
4. デプロイ
コードが記述できたら環境をデプロイします。Cloud Shellのコンソールから下記コマンドを実行することでデプロイすることができます。
gcloud app deploy
gcloudはGCPを制御するためのCLIツールであるgcloud CLIにおけるコマンドです。
以上の4ステップでアプリケーションをデプロイすることができます。面倒なインフラの構築は必要なく、開発者はインフラを意識せずにアプリケーションの開発を開始することができるようになります。
ローカル環境からのデプロイ手順
上記の手順ではGCPのCloud Shellを利用してアプリケーションをデプロイするまでの手順をご紹介しました。GAEではCloud Shellだけでなく、使い慣れたローカル環境を活用してアプリケーション開発を実施することも可能です。
1. Cloud SDKの導入
GCPではローカル開発環境用のSDKを提供しています。Macの場合はターミナルから、Windowsの場合は専用のインストーラからSDKをインストールします。バージョンを確認し、最新のリリースに更新しておきます。
2. SDKの初期化
ターミナル(コマンドプロンプト)から以下のコマンドを実行して初期化を行います。
gcloud init
ブラウザが開き、Googleアカウントに対するアクセス権限の許可設定を求められます。許可を行い、初期設定は完了です。
3. プログラムを書く
ローカルの開発環境でコードを記述します。任意のエディターを利用して開発することが可能です。
4. デプロイ
最後にターミナル(コマンドプロンプト)で下記コマンドを入力し、アプリケーションのデプロイは完了です。
gcloud app deploy
Google App Engine(GAE)におけるバージョン管理
GAEではデプロイのバージョン管理を自動的に行なっており、バージョンごとにトラフィックの割合を設定することが可能です。コンソール上で簡単に設定することができ、Blue/Greenデプロイを容易に実装することが可能です。
コンソールから「バージョン」をクリックし、「トラフィックを分割」を選択します。どのバージョンにどの程度のトラフィックを割り振るかを指定するだけでデプロイ手法を柔軟に変更することができるため、アプリケーションのリリース時に大きなトラブルを回避することが可能です。
Google App Engine(GAE)の料金体系
最後に、GAEの料金体系についてご紹介します。
無料枠
GAEには無料枠が設定されており、小規模の環境であれば無料で使い始めることが可能です。Fインスタンスでは1日あたり28インスタンス時間、Bインスタンスにおいては1日あたり9インスタンス時間分が無料で使うことができます。例えばF1インスタンスクラスを2つ利用する場合、1日14時間までは無料で利用することができます。
モデルケース
東京リージョンでの各インスタンスにおける価格は下記表に一例を記載しています。
インスタンス クラス |
1インスタンスの 1時間当たりの費用 |
メモリ | CPU |
---|---|---|---|
B1 | $0.07 | 256 MB | 600 MHz |
B2 | $0.13 | 512 MB | 1.2 GHz |
B4 | $0.26 | 1024 MB | 2.4 GHz |
B4_1G | $0.39 | 2048 MB | 2.4 GHz |
B8 | $0.52 | 2408 MB | 4.8 GHz |
F1 | $0.07 | 256 MB | 600 MHz |
F2 | $0.13 | 512 MB | 1.2 GHz |
F4 | $0.26 | 1024 MB | 2.4 GHz |
F4_1G | $0.39 | 2048 MB | 2.4 GHz |
モデルケースとして、インスタンスクラス「F1」を使用している場合に、0:00 ~ 12:00はインスタンス数が平均1、12:00 ~ 24:00はインスタンス数が平均2だったケースを考慮してみます。
利用料金
= {1 インスタンス × 12 時間 + 2 インスタンス × 12 時間} × $ 0.07 - 無料枠
= {12 + 24} × $ 0.07 - 28 × $ 0.07
= $ 0.56 / 日
つまり、上記モデルケースにおいては月額$ 16.8で利用することが可能です。
まとめ
この記事では、Google App Engineにおける特徴と、その利用法についてご紹介しました。GAEはアプリケーション開発を迅速に開始し、運用負荷を軽減することのできるプラットフォームです。 小さな環境から、非常に大規模な環境まで拡張することのできるサービスとして本番環境での実績もありますので、ぜひ活用を検討してみてください。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
お問合せはこちら
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!
ゲーム業界様向けGCP活用のポイントの他の記事
ゲーム業界様向けにGCPの使い方を解説した「GGG Study」は、全6回に分けてGCPの各スキルを習得していただくための勉強会です。全6回の内容とスケジュールを公開しますので、ぜひお楽しみにしてください。
第2回目
【トップゲート主催】ゲーム業界様向けGCP活用のポイント〜GCP for Gaming編〜
第3回目
【トップゲート主催】ゲーム業界様向けGCP活用のポイント〜Google Kubernetes Engine編〜
第4回目
【トップゲート主催】ゲーム業界様向けGCP活用のポイント〜BigQuery編〜