15分でできる!GCE上でGO言語を動作させるための手順

ご注意

この記事は 2016年5月19日 に書かれたものです。内容が古い可能性がありますのでご注意ください。

GCP上でGO言語を動かす場合、一番最初に思い浮かぶのはGAE/GOだと思いますが、中にはGCE上で一からGO言語の環境を設定したいという開発者もいるかと思います。今回はGoogle Compute Engine(以下GCE)上でGO言語を動作させるための手順について説明します(※1)。 ※1 GAE上でGOを動作させるための手順については以下をご参考ください。 「PaaS最前線!たったの15分でできるGAE/GO入門!」 https://apps-gcp-tokyo.appspot.com/gae-go-gettingstart-01/

GCPプロジェクトの作成

GCEを利用する場合、GCPプロジェクトの作成をおこなう必要があります。以下URLの「GCPプロジェクトの作成(1)~(3)」を参考にプロジェクトの作成をおこなってください。 -GCPプロジェクトの作成 https://apps-gcp-tokyo.appspot.com/bigquery-introduction/#GCP

GCEインスタンスの作成

GCEインスタンスの作成方法について説明します。以下の手順に従って、GCPの管理コンソールからVMインスタンスの作成をおこなってください(※2)。 ※2 VMインスタンスの作成は後述するGoogle Cloud SDKのgcloudコマンドでも作成可能ですが本記事ではGCP管理コンソール上での作成方法を説明します。
  1. GCP管理コンソールにアクセスしGoogleアカウントでログインします。 https://console.cloud.google.com/
  2. 画面左上のメニューアイコンをクリックし、メニューが開いたら「Compute Engine」を選択します。 image04
  3. VMインスタンスの管理画面に遷移後、「Create Instance」ボタンを押下します。 image00
  4. VMインスタンス作成画面に遷移したら、以下項目を入力します。
    • インスタンス名(Name) VMインスタンスの名称を入力します。任意の文字列を入力してください。
    • Zone VMインスタンスが作成されるZoneを選択します。例として「asia-east1-a」を選択します。
    • マシンタイプ VMインスタンスのマシンタイプを選択します。例として「n1-standard-1」(1vCPU/3.75GB memory)を選択します。 image06
  5. 「Boot disk」の「Change」ボタンを押下してOSの変更をおこないます。デフォルトでは「Debian GNU/Linux 8」となっています。 image02
  6. Boot diskに「CentOS 7」を選択し「Select」ボタンを押下します。 image01
  7. OSの選択が完了したら画面下にある「Create」ボタンを押下して、VMインスタンスの作成を実行してください(※3)。 ※3 追加ディスク・ネットワーク・SSHキー設定等、VMインスタンスの作成画面ではさまざまな設定をおこなうことができますが、本記事の内容では不要な設定のためデフォルト設定のままVMインスタンスの作成を実行します。 image03
  8. インスタンスの作成が完了すると、さきほど作成したVMインスタンスが一覧として表示されます。 image05
以上でVMインスタンスの作成は完了となります。

GCEインスタンスにSSH接続する

GCPユーザは、Google Cloud SDKのgcloudコマンドによってVMインスタンスに対するSSH接続を実行することができます。本章ではgcloudコマンドによるSSH接続の手順について説明します。
  1. Google Cloud SDKのインストール 以下のURLからSDKのダウンロードをおこなってください。SDKの対応OSは3種類ありますので、環境に合わせてダウンロードをおこなってください。
  2. SDKのインストールが完了したらターミナルを立ち上げ以下のコマンドを実行してください。
    $ gcloud auth login
  3. コマンドを実行すると、認証URLが発行されますので、ブラウザから認証URLにアクセスし、「許可」ボタンを押下してください。
    $ gcloud auth login Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&prompt=select_account&response_type=code&client_id=32555940559.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute&access_type=offline
  4. 認証の完了 「You are now logged in as [******@gmail.com].」というようなメッセージがコマンドライン上に出力されれば認証は成功となります。
    $ gcloud auth login Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&prompt=select_account&response_type=code&client_id=32555940559.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute&access_type=offline Saved Application Default Credentials. You are now logged in as [******@gmail.com].
  5. 次はgcloudコマンドで操作するプロジェクトを設定します。以下のコマンドを実行し、操作対象のプロジェクトを設定してください。<project>に指定するのは、あなたが作成したプロジェクトのIDとなります。
    $ gcloud config set project <project>
  6. 以下のコマンドを実行しVMインスタンスにSSH接続してください。「instance-1」はインスタンス名で、「asia-east1-a」は接続するVMインスタンスのZoneとなります。
    $ gcloud compute ssh instance-1 –zone asia-east1-a
以上でVMインスタンスへの接続手順は完了です。

GOのインストールと環境設定

CentOSにGOをインストール手順について説明します。以下の手順に従ってGOのインストールを完了させてください。
  1. 任意のインストール先フォルダに移動後、wgetコマンドでGO言語のダウンロードをおこないます。
    $ cd /usr/local/src $ sudo wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
  2. 以下のコマンドからダウンロードファイルの展開をおこないます。
    $ sudo tar -C /usr/local/ -xzf go1.6.2.linux-amd64.tar.gz
  3. 展開したら、PATHの設定をおこないます。
    $ export PATH=$PATH:/usr/local/go/bin
  4. 以下のコマンドを実行しGO言語のバージョンが表示されればインストールは完了です。
    $ $ go version go version go1.6.2 linux/amd64

GOを実行する

最後は実際にGOのプログラムを実行してみます。以下の手順に従ってGOの実行をおこなってみましょう。
  1. viコマンドで以下のサンプルファイルを作成します。
    package main import “fmt” func main() { ???fmt.Printf(“hello, world\n”)}
  2. runコマンドを実行して(1)のサンプルコードを実行します。
    $ go run hello.go
  3. 以下のように「hello, world」と表示されれば実行は成功となります。
    $ go run hello.go hello, world

まとめ

以上でGCE上でGO言語を動作させるための手順は完了となります。次回は応用編として、今回作成したGCEインスタンスとLINE BOT APIを連携するための手順について説明します。次回記事は予告なしにリリースされますので、ぜひapps-gcpを定期的にチェックしてください!!

Google のクラウドサービスについてもっと詳しく知りたい、直接話が聞いてみたいという方のために、クラウドエースでは無料相談会を実施しております。お申し込みは下記ボタンより承っておりますので、この機会にぜひ弊社をご利用いただければと思います。

無料相談会のお申込みはこちら