*

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

公開日: : 投稿者: GCE, GCP, GO言語

GCP上でGO言語を動かす場合、一番最初に思い浮かぶのはGAE/GOだと思いますが、中にはGCE上で一からGO言語の環境を設定したいという開発者もいるかと思います。今回はGoogle Compute Engine(以下GCE)上でGO言語を動作させるための手順について説明します(※1)。

※1 GAE上でGOを動作させるための手順については以下をご参考ください。

「PaaS最前線!たったの15分でできるGAE/GO入門!」
http://www.apps-gcp.com/gae-go-gettingstart-01/

GCPプロジェクトの作成

GCEを利用する場合、GCPプロジェクトの作成をおこなう必要があります。以下URLの「GCPプロジェクトの作成(1)~(3)」を参考にプロジェクトの作成をおこなってください。

-GCPプロジェクトの作成
http://www.apps-gcp.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を定期的にチェックしてください!!

この記事を書いた人

tomorier
tomorier
普段はGCP専門のエンジニアをやっています。
最近は個人的な活動としてGOとswiftでアプリ作ってます。

関連記事

『Google Cloud Platform セッション- 最新技術と日本での展開について』速報メモ

本日、『Google Cloud Platform セッション- 最新技術と日本での展開について』と

記事を読む

GCEはどこまでディスクを拡張できるのか?手順は?

GCEではディスク容量を自由に設定することができますが、どこまで容量が増やすことができるのか

記事を読む

初心者のためのGCPプロジェクト始め方入門

GAE、GCE、BigQuery等のサービスを開始する場合、ユーザには共通でおこなわないといけない手

記事を読む

Google ロードバランサーのチートレベル性能検証:リージョンまたぎ編(デモあり)

6月に発表され、現在Limited PreviewされているGCPのL7ロードバランサの機能を紹介し

記事を読む

2014/11/20 GCE vs AWS ベンチマーク

さて、始まりました、待望のシリーズ! ワールドワイドなクラウドIaaS界の2大巨頭である2つの

記事を読む

2016/07/26 GCE vs AWS vs Azure ベンチマーク

2016/07/26 GCE vs EC2 vs Azureベンチマーク 本シリ

記事を読む

GCEの性能検証 〜WordPressへの負荷テスト〜

2.8万PV/時を捌けるGCE! GCEにWordPressを導入し、負荷検証を実施してみました。

記事を読む

S3からGCSへ簡単にファイル移行する方法

はじめに クラウドという言葉が当たり前になってきている現在、ファイルサーバは自前で持つ時代から、サ

記事を読む

GCEにPuttyから簡単接続する

年末ではありますが、先日ちょっとGCE(Google Compute Engine)を触る機会がまた

記事を読む

Prediction API入門(中編)

Prediction API入門実行編 みなさん、こんにちは。 前編では、Google Pr

記事を読む

PAGE TOP ↑