BT

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

| 作者: Daniel Bryant フォローする 660 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2018年1月24日. 推定読書時間: 5 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT