BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース HashiCorpとContinoがTerraformの推奨プラクティスを公開

HashiCorpとContinoがTerraformの推奨プラクティスを公開

原文(投稿日:2018/01/11)へのリンク

あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。

HashiCorpはTerraform Recommend Practicesというガイドを公開した。これは、クラウド技術とInfrastructure as Code (IaC)を導入しようとしている企業を支援するためだ。典型的な推奨されるTerraformのワークフローが多数紹介され、"設定の成熟モデル"が示されている。また、現在のTerraformの使い方を進化させ、成熟度を上げる方法についてアドバイスしている。このガイドはTerraformPackerVaultというインフラツールの開発会社であるHashiCorpと、同社のパートナーであるContinoとの共同制作だ。

HashiCorpのこのガイドを発表したブログ記事で、クラウドベースのサービスを使うことで開発チームは、基底にある従来のインフラの制約からかなり独立して運用ができるようになる、と書いている。しかし、従来のプライベートなデータセンターでの物理的なインフラの"設定と準備"からSoftware Defined Everything (SDx)の作成と管理に移行することに関わる技術的かつ組織的な課題がある。プログラム可能なAPIやSDKを経由して計算リソースを管理することやSoftware Defined Networking (SDN)やSoftware Defined Storage (SDS)を使うことなどだ。

HashiCorp Terraformはエンジニアが宣言的なコードによってインフラを定義できるようにし、環境を"安全で予測可能な"方法で計画設定できるようにした。Terraformを使ったコードの構造化の方法については多くのレポートやベストプラクティスがすでに存在する。例えば、Charity Majors氏のブログ記事やYevgeniy Brikman氏のブログ記事だ。後者は最終的にはO'Reillyの"Terraform: Up and Running"という本になった。しかし、Terraformで推奨される使い方をする場合も気をつけなければならない。このツール自体が高速で進化しており、昨日の推奨事項がTerraformのワークフローそのものに組み込まれる場合もあり、Terraformに対する誤解を克服するための不要な回避策として認識される場合もある。

Terraformはオープンソースツールだが、商用のTerraform Enterpriseという製品もある。このガイドは企業がIaC(とTerraform Enterprise)を導入するにフォーカスしている。しかし、クラウドインフラをIaCで管理しようとしている組織にとって使い勝手の良いワークフローと推奨される方法は多くある。

このガイドは次の3つのパートで成り立っている。

最初のパートでは、組織にIaCを導入することに対する技術的、組織的な困難について説明し、インフラを管理するための4つのペルソナを紹介している。Central ITはインフラに対する共通の方法を定義しポリシーを強制する役割。Organisation Architectは、インフラ全体をどのように分割し、チームに移譲するのかを定義する役割。Workspace Ownerは、具体的なワークスペースを持ち、その領域のプロダクション環境の変更の承認者。Workspace Contributorは、IaCの構成を更新することで(プロダクション環境ではない)ワークスペースに変更を行う。

それぞれのペルソナに対して推奨されるやり方が提示されている。ワークスペースは、Terraformの構成や変数、状態データなどTerraform実行に必要なすべてのものを集めた概念であり、適切に制御するために使われる。

2番目のパートでは、IaCの"設定の成熟モデル"を紹介している。このモデルは次の4段階だ。手動、半自動化、Infrastructure as Code、協調的なInfrastructure as Codeの4つだ。また、自己評価をするための質問も提供する。パート3では、次の成熟度に進むために必要なステップを説明している。

例えば、"半自動化からInfrastructure as Code"へ移行する方法が書かれているセクションでは、バージョンコントロールのやり方、Terraformモジュール作成方法のリファレンス、組織上のガイドラインとポリシーを定義する方法が書かれている。これらのガイドラインはメジャーなクラウドベンダの設計ガイドと推奨される方法に基づいて作られている。

このガイドにはさらにいくつかの先進的なトピックについて推奨事項を書いている。TerraformPackerのようなイメージ作成ツールやChefのような構成管理フレームワークとの統合方法、カスタムのTerraform Providersの作り方CI/CDビルドパイプラインでTerraformを実行する方法Terraform Provider Development Programの目的などだ。

HashiCorpとContinoのTerraform Recommended Practices GuideはTerraformのサイトからダウンロードできる。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT