実践GCP ④:Google Compute Engineを使ってみよう
ウェブページが完成されたので、本格的にゲームをアップロードしたいと思います。
先ずはゲームサーバーを起動するため、Google Compute Engineを使います。
GCPについて前回の記事はこちら
実践GCP ①:プロジェクトを始めよう
実践GCP ②:Serviceアカウントを設定しよう
実践GCP ③:Google App Engineを使ってみよう
GCEのVMインスタンス作成
GCPダッシュボードに接続し(https://console.cloud.google.com/)、「Compute Engine → VMインスタンス」 を選択します。
「インスタンスを作成」 を選んでインスタンスを作ります。
地域は 「us-central1, us-east1, us-west1」 の中で選びます。他の地域は無料オプションがついてないので、ご注意ください。
マシンタイプは 「f1-micro」 を選びます。他のタイプは無料で使えません。
上の設定にすると、右上の予想費用に1ヶ月744時間無料メッセージが表示されます。
http、httpsトラフィックを許可をチェックして作成します。
インスタンス作られたら目録からIP情報が見れます。
これからSSHで接続が可能です。
では、サーバーを起動させるために 「node.js」 をインストールします。
nodeをインストールする方法はいるいるありますが、homebrewを使うと楽なので、まずhomebrewをインストールします。
homebrew公式サイトにインストールコマンドがあるので、コピーして実行します。
インストールが終わったら、node.jsをインストールします。
(僕はv12でサーバーを作ったので、v12を設置します。)
nodeがインストールされたらテストしてみましょう。下のテストコードを作成して、 「server.js」 の名前で保存します。
nodeを実行します。
ブラウザーで 「http://IPアドレス:8080」 に接続してみます。このまま接続するとエラーが出ることがわかります。理由は8080ポートについてファイアワォールがかかっているからです。8080ポートを許可するように規則を変えます。
Firewallルール追加
ダッシュボードの 「VPCネットワーク → ファイアウォール ルール」 に移動します。
「ファイアウォール ルールを作成」 選択
一応テストのために ip: 0.0.0.0/0、tcp port 8080 を設定して作成します。
作成後にブラウザーで接続してみると、正常に接続できます。
次回は実際のゲームでサーバーとの通信やりとりをテストしてみます。
先ずはゲームサーバーを起動するため、Google Compute Engineを使います。
GCPについて前回の記事はこちら
実践GCP ①:プロジェクトを始めよう
実践GCP ②:Serviceアカウントを設定しよう
実践GCP ③:Google App Engineを使ってみよう
「インスタンスを作成」 を選んでインスタンスを作ります。
地域は 「us-central1, us-east1, us-west1」 の中で選びます。他の地域は無料オプションがついてないので、ご注意ください。
赤線の地域が無料で使える所です。
マシンタイプは 「f1-micro」 を選びます。他のタイプは無料で使えません。
上の設定にすると、右上の予想費用に1ヶ月744時間無料メッセージが表示されます。
赤線のメッセージを確認しましょう
http、httpsトラフィックを許可をチェックして作成します。
インスタンス作られたら目録からIP情報が見れます。
外部IPは接続のために覚えておく必要です。
これからSSHで接続が可能です。
では、サーバーを起動させるために 「node.js」 をインストールします。
nodeをインストールする方法はいるいるありますが、homebrewを使うと楽なので、まずhomebrewをインストールします。
homebrew公式サイトにインストールコマンドがあるので、コピーして実行します。
インストールが終わったら、node.jsをインストールします。
(僕はv12でサーバーを作ったので、v12を設置します。)
> brew install node@12
nodeがインストールされたらテストしてみましょう。下のテストコードを作成して、 「server.js」 の名前で保存します。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!');
}).listen(8080);
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!');
}).listen(8080);
nodeを実行します。
> node server.js
ブラウザーで 「http://IPアドレス:8080」 に接続してみます。このまま接続するとエラーが出ることがわかります。理由は8080ポートについてファイアワォールがかかっているからです。8080ポートを許可するように規則を変えます。
「ファイアウォール ルールを作成」 選択
一応テストのために ip: 0.0.0.0/0、tcp port 8080 を設定して作成します。
両方のトラフィックについてFirewallを設定するには、各方向に対してルールを作成する必要があります。
作成後にブラウザーで接続してみると、正常に接続できます。
次回は実際のゲームでサーバーとの通信やりとりをテストしてみます。
※ 元ブログから移転された記事です。
コメント
コメントを投稿