Google Cloud Platform

App Engine 向けの Go 1.11 ランタイムをベータ リリース

gae-go1kizr.PNG

※この投稿は米国時間 2018 年 10 月 17 日に Google Cloud blog に投稿されたものの抄訳です。

2011 年以降、Go デベロッパーは Google App Engine を、スケーラブルかつフルマネージドで使った分だけの料金で済むソリューションとして、ウェブ サイトや API のホスティングに使用してきました。ただし、これまでは制限もあり、イディオマティックにならないようにコードを構成したり、アプリケーション起動やネットワーク接続、データ格納のために特別な SDK を使ったりする必要がありました。

私たち Google はこのほど、App Engine スタンダード環境向けの Go 1.11 ランタイムをベータ リリースしました。数週間前にリリースされたばかりの最新バージョンの言語へのアップデートのほか、従来の App Engine スタンダード環境ランタイムに存在した制限を取り除いています。Go 1.11 ランタイムでは次のことが可能になりました。

  • Go アプリケーションのイディオマティックな構成 : 依存関係を vendor フォルダに追加し、main パッケージを使用
  • 任意の Go パッケージのインポート
  • Gin などの Go ウェブ フレームワークの利用
  • Google Cloud Client Libraries for Go の利用

Go モジュールのサポート

Go 1.11 では実験的なオプトイン機能としてバージョン付きモジュールを新たに導入しました。バージョン付きモジュールは go.mod ファイルで定義され、バージョンを加味したモジュールの依存関係を記述できます。App Engine もこの実験的な Go モジュールをサポートします。GOPATH の外部からアプリケーションをデプロイするときに go.mod ファイルが含まれていれば、クラウドでアプリケーションをビルドする前に依存関係が自動的にダウンロードされます。

App Engine スタンダード環境で Go アプリを実行するメリット

App Engine スタンダード環境にクラウド アプリケーションをデプロイして実行すると、次のような特別なメリットが得られます。
  • 自動スケーリングと、使った分だけの料金 : App Engine スタンダード環境にデプロイされた Go アプリケーションは、送られてくる HTTP リクエストに基づいて自動的にスケーリングされます。App Engine は急速なスケールアップに対応できるとともに、インスタンスが不要になればゼロまでスケールダウン可能です。お客様は使用した分の料金を支払うだけで済み、インフラストラクチャについて何か考慮する必要はありません。
  • 強力なセキュリティ : App Engine 上では最初から HTTPS URL が使用でき、カスタム ドメインの証明書をシングルクリックで生成できますが、App Engine のセキュリティ機能はそれにとどまりません。セキュリティ フィックスを含む Go 1.11 の最新リリースに常にアップデートされるほか、Ubuntu OS も自動アップデートされます。また、DDoS 攻撃からも保護されます。
  • GCP との統合 : Go アプリケーションのデータは、サービス アカウントを気にすることなく Cloud FirestoreCloud SQL に簡単に格納できます。OpenCensus Libraries for Go を使用してアプリケーションをトレースしたり、Stackdriver で自動的にログとエラーを表示したりすることも可能です。

今すぐ Go 1.11 をお試しください

App Engine の準備は整っており、いつでも Go アプリケーションをホスティングできます。
  • Go 1.9 ランタイムから Go 1.11 ランタイムへの移行の方法については、こちらのガイドをご覧ください(Go 1.11 ランタイムでも古い App Engine API を使用できます)。

新規に利用される方は App Engine の無料枠を使って Go 1.11 を試用できます。アプリケーションのデプロイ方法についてはこちらのチュートリアルに従うか、以下の短い動画をご覧ください。

app_engine_gophernecq.PNG

App Engine gopher(Renee French 作、Creative Commons 表示 3.0)

- By Steren Giannini, Product Manager