BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AWS Elastic BeanstalkにGo用の構成済Dockerコンテナが追加

AWS Elastic BeanstalkにGo用の構成済Dockerコンテナが追加

原文(投稿日:2015/03/31)へのリンク

2014年11月,サポート対象プラットフォームの新たなカテゴリとして“Preconfigured Docker”を導入し,Java/GlassFishとPython 3.4コンテナを始めてサポートしたAmazon Web Service(AWS)は先日,新たなアプローチに基づく最初の追加言語として,Goバージョン1.3と1.4を,同社のAWS Elastic Beanstalkを提供するプラットフォーム・アズ・ア/サービスに加えた

[0}バージョン1.4リリースの直後にGoのサポートを追加したことは,“追加の言語/フレームワークプラットフォームの最新バージョンを迅速に提供”するという目標を達成するものだ。特筆すべきなのは,新しいAmazon EC2 Container Service AgentもGoで開発されていること,直後の実験的なAWS SDK for GOのような発表が今後も期待できることだ。

事前設定されたDockerプラットフォームは,Docker Hub Registryにある言語スタックの公式リポジトリをベースとしている。既にリリースされているJava/GlassFishとPython 3.4用のカスタム構成済Dockerイメージと同じように,GoイメージにもDockerの公式な言語スタックが利用されている。

# Use the Go 1.4 Docker Image
FROM golang:1.4.1-onbuild

Go向けに事前設定されたDocker コンテナの使用を開始する”と題された手順説明では,Dockerを使用した開発ワークフローが,一般的な‘Hello World’プログラムを使って説明されている。

package main

import "github.com/go-martini/martini"

func main() {
    m := martini.Classic()
    m.Get("/", func() string {
    return "Hello world!"
    })
    m.Run()
}

コンテナの実行には,‘main’という名称のパッケージと‘main()’関数の両方が必要だ。Elastic BeanstalkはGOPATHを‘/go’にセットした上で,コンテナのデプロイ中に,‘go-martini’など,インポートされている依存関係を自動的にダウンロードする。

アプリケーションのローカル環境での開発とテストが完了すれば,アプリケーションソースバンドルを作成して,新しいアプリケーションの生成の間にそれを送信すれば,Elastic Beanstalkにデプロイすることができる。アプリケーションソースバンドルは,プロビジョンされたElastic Beanstalk環境をカスタマイズする構成ファイルに含むことも可能だ。

Go用の構成済Dockerコンテナの発表と同時に,先日導入されたC4インスタンスタイプのElastic Beanstalkサポートや,周期動作するワーカタスクや環境のクローニングといった小規模な改良も発表された。

Elastic Beanstalkの資料には,開発者ガイドAPIリファレンスが含まれている。サポート対象である構成済Dockerコンテナタイプのリストも公開されている。サポートはAWS Elastic Beanstalkフォーラムを通じて行われる。

この記事に星をつける

おすすめ度
スタイル

BT