【日本語参考訳】Terraform の Atlas GitHub 連携

【日本語参考訳】Terraform の Atlas GitHub 連携

【日本語参考訳】Terraform の Atlas GitHub 連携 はてなブックマーク - 【日本語参考訳】Terraform の Atlas GitHub 連携


HashiCorp の Blog に “Terraform in Atlas:GitHub Integration” という記事が投稿されました。例によって、日本語の参考訳を作成しましたので、参考になればと思い公開します。

Terraform in Atlas: GitHub Integration – HashiCorp
https://www.hashicorp.com/blog/atlas-terraform-github.html

■ Terraform の Atlas GitHub 連携

私達は GitHub と Atlas の連携について発表できることを非常に嬉しく思います。GitHub レポジトリに Terraform の設定を保管し、管理しているインフラを自動的に処理します。この機能を使えば、運用チームがローカルに Terraform をインストールする必要がなくなります。

新しい GitHub 連携を使うことで、GitHub 上で変更された Terraform の設定は、Atlas を通して反映されるだけでなく、豊富な履歴や、監査能力、共同作業(コラボレーション)を提供します。

Terraform はインフラの開発と管理のための、HashiCorp によるオープンソースのプロジェクトです。AWS や Google Cloud、OpenStack、Docker といった多くのプロバイダをサポートしています。

Atlas はチームでインフラ変更のバージョン管理や共同で作業するための、HashiCorp による商用製品です。

GitHub と Terraform と Atlas を連携する使い方については、以下をお読みください。

■ GitHub で Terraform を管理する

Atlas は GitHub レポジトリで変更が起こると自動的に取得し、続いて適用できるかどうかの確認のため、Terraform plan を実行します。

Atlas 画面には変更に関する情報を表示するだけでなく、Terraform 「plan」や「apply」手順を実行した時の状態やログを表示します。Terraform の設定を反映するには、確認を必要とします。

 

atlas-terraform-01

■ プル・リクエスト

プル・リクエストとの連携によって、通常の GitHub における共同作業のように、変更に関するプレビューが行るようになります。この機能でインフラに対する変更の事前確認や承認だけでなく、これらの変更を行うかどうか決める過程も見えるようにします。

あらゆるプル・リクエストは Atlas で自動的に plan が実行され、Terraform plan の実行が成功すると、プル・リクエストをマージできる状態とマークします。もし plan が失敗すると、プルリクエストは accordingly としてマークします。

atlas-terraform-02

■ 始めるには?

Atlas + GitHub 連携をするには、双方向チュートリアルをご利用ください。
Atlas と GitHub 連携に関する手順については、以下をお読みください。

■ Terraform

Atlas はインフラの管理に Terraform を使います。つまり Atlas は Terraform が扱える AWS、Google、OpenStack、Docker 等を管理できることを意味します。Terraform はコミュニティによって改良が続けられており、そのお陰で Atlas と Terraform という、商用版とオープンソース版のいずれも進化しています。

Terraform は完全にオープンソースです。それがもたらす強力な利点とは、Terraform の設定や状態確認なり実行を、自分自身の Terraform プロジェクトによって手動で行る点です。

Atlas は Terraform 共同作業用のプラットフォームであり、チームによるインフラ構築を安全かつ楽しくします。アプリケーション・コードのバージョン管理によってアプリケーション変更のリスクを減らしたように、Atlas と Terraform を使うことで、インフラに変更を行う際のリスクを減らす助けとなります。

■ GitHub の認証

Atlas は GitHub の認証と連携に OAuth 認証を使います。使うには Atlas のユーザ設定ページを開き、“Connections” タブをクリックします。Atlas はレポジトリから設定を取得するための読み込み権限と、webhook を管理・設定するための書き込み権限を必要とします。

既存の Terraform 設定を GitHub と繋ぐには、environment にある integration タブを開きます。

atlas-terraform-03

認証情報は Vaultバックエンド (AES-GCM-256) を通して安全に暗号化されます。Vault との統合に関する詳細なブログを後日公開します。

■ 未来

インフラを管理する HashiCorp の製品群は、あらゆる方向から infrastructure as code (インフラのコード化)の重要性を強調するものです。このことにより、直感的なインフラのバージョン管理、監査能力、繰り返し、共同作業を実現しします。

数週間後には、私達は Atlas の Packer ビルドを含む、様々な GitHub 連係機能を発表します。これら連係機能は “Atlas 理念:インフラのバージョン化“を実現するための1つのステップであり、チームが Atlas を通して迅速にインフラの管理ができるようになるものです。

Atlas は HashiCorp の商用製品であり、現時点では技術プレビューです。間もなく価格を公開します。Atlas の価格が公開されたとしても、大部分の機能は無料(free tier)として利用できますので、Atlas に幾ら支払えば良いのか心配する必要はありません。実際、現時点の利用にクレジットカードは不要です。もし大きくスケールする環境での Atlas 利用を考えられているなら、私達の hello@hashicorp.com までメールをお送りください。私達は皆さんと会話できるのを楽しみにしています。