LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

技術者でない人のためのTerraform入門

HashiCorp社が提供するTerraformは、大量のコンピュータやネットワーク機器の構築を自動化するツール(プロビジョニングツール)として、エンジニアにとても人気があります。しかし、そのメリットや必要性を技術者でない上司にうまく説明するのはなかなか難しいものです。そこで今回は、「技術者でない人のためのTerraform入門」と題した記事を日本語訳してお届けします。

著者のSean CarolanはHashiCorpのテクノロジー・スペシャリストで、技術者だけでなくビジネスサイドにも技術をわかりやすく説明することを得意としています。とても参考になりますので、ぜひご一読ください。

※ プロビジョニング:「準備、提供、設備」の意味。一般には、コンピュータやネットワーク機器などが利用可能なように準備しておくこと。


HashiCorp Terraformロゴ

Terraformは、皆さんの身近にあるWebサイトやアプリケーションの多くで構築に使われているツールです。
では、Terraformっていったいどういうもので、どのように動作するのでしょうか?技術者ではない上司に対してどのように説明すればTerraformを理解してもらえるでしょうか。

まず、Webサイトに例えて考えてみましょう。スマートフォンやパソコンを使っていれば、Webサイトが何かはわかるでしょう。ブラウザを立ち上げてURLを入力すれば、指定したWebサイトが表示されます。おそらくほとんどの人は、Webサイトが裏でどのように動作しているかなんて意識していないでしょう。

銀行のWebサイトを例に考えてみましょう。サイトの裏側では、数十から数百のコンピュータが様々な形で相互接続されています。全ての機器やアプリケーションが正しく機能することで、私たちはいつでも利用明細を確認したり、送金処理をしたりできるわけです。

図1 銀行のWebサイトの裏側で動いているのは?
図1 銀行のWebサイトの裏側で動いているのは?

Webサイトが動作するために必要な機器はすべて、誰かの手によって設定、構築されています。新しいノートパソコンを購入した場合はOS(基本ソフト)が搭載されていますが、それ以外に必要なアプリケーションは自分でインストールする必要がありますね。インターネット上にあるWebサーバもそれと一緒です。サーバを構築し設定する人は「システム管理者」と呼ばれ、数百から数千に及ぶ機器の設定と管理に責任を負っています。自動化ツールを使うと、管理できる機器の数はもっと多くなり、1人のシステム管理者が2万台以上のサーバを管理する事例もあります。

図2 データセンターの内部
図2 データセンターの内部
(こんなに整然としたものは少ないかもしれないですが・・・)

こうしたコンピュータはいったいどこにあるかというと、データセンターという巨大な建物の中に積み上げられています。データセンターというのはアウトレットの倉庫みたいなものですが、中にあるのは食品や消耗品ではなくサーバです。床から天井までサーバが積み重ねられているのです。Webサーバもあればネットワーク機器もありますし、Webサーバにストレージを供給するための大量のハードディスク装置もあります。

データセンターでは大量のコンピュータの冷却ファンが稼働しているため、内部は相当な騒音です。1万台を超えるコンピュータが稼働しているデータセンターもざらにあります。自社でデータセンターを保有している企業もありますが、多くは料金を支払って他のデータセンターを借りています。このサービスを提供しているのがいわゆるクラウドプロバイダーです。

AmazonMicrosoftGoogleなどは、「クラウドコンピューティング」と呼ばれるサービスを提供しています。こうしたプロバイダーは莫大な購買力と技術力によって巨大なデータセンターを構築し、顧客がオンデマンドでサーバを利用できるようにしています。企業は大量のハードウエアを自ら構築し管理する代わりに、クラウドプロバイダーからコンピュータやストレージを時間単位でレンタルするだけでいいのです。クラウドを使ったWebサイトやアプリケーションの構築は信じられないくらい速く、費用もとてもお手頃です。

そして、システム管理者がクラウド上で数百のサーバを構築する際には、自動化ツールが必要になります。会社や自宅のパソコンにソフトウエアをいくつかインストールするのにかかる時間を想像してみてください。それの数百倍の時間がかかるとしたら・・・何が問題かわかるでしょう。システム管理者は、シェルスクリプトやプロビジョニングツールなどを利用して多数のサーバを素早く構築します。そのプロビジョニングツールとしてTerraformは世界で最も利用されているのです。

Terraformはコンピュータやネットワーク機器のプロビジョニングツールです。オープンソースソフトウエア(OSS)であり、無料でダウンロードして利用できます。プログラムソースが公開されていますから、必要に応じてカスタマイズすることもできます。Terraformを使えば数百ものサーバやアプリケーションのプロビジョニングが簡単に実行できるので、システム管理者や開発者の間でとても人気があります。

図3 Terraformのコード例
図3 Terraformのコード例

Terraformによるプロビジョニングでは、Hashicorp Config Language(HCL)という独自の言語を使います。HCLを使うと人間にも読みやすく、機械処理もしやすい形でインフラの状態を表現することができます。「コンピュータで実行可能なドキュメント」のようなものだと考えてください。Terraformによる設定は、学習が簡単で、読みやすく、トラブルシューティングも簡単です。技術者でない人でも数時間以内に基礎が学べます。Terraformは主要なクラウドプロバイダーほぼ全てで動作しますし、VMWareOpenShiftなどを使ったオンプレミス環境でも動作します。つまり、オンプレミスであれクラウドであれ、すべての機器をTerraformでプロビジョニングできるのです。Terraformはマルチクラウド対応ツールですから、Azure、GCP、AWSやVMwareなどあらゆる環境で同一の言語とフレームワークを用いることができます。

Terraformを使う理由─Terraformの利点は以下の通りです。

  • プロビジョニングにかかる時間を短縮する
  • 設定のエラーや矛盾を減らす
  • プロビジョニングに伴う技術的なリスクを減らす
  • システムの設定変更を安全にテストすることができる
  • 複数のクラウドプラットフォームをサポートする

まとめ:
Terraformはマルチクラウドに対応するプロビジョニングツールです。Terraformを使えば、クラウドであろうとオンプレミスであろうと、あらゆるネットワーク機器やアプリケーションのインフラを構築できます。

Terraformについてもっと学びたい方は、HashiCorpのCTOであるArmon Dadgarによるこちらの入門動画をぜひご覧ください。

Introduction to HashiCorp Terraform with Armon Dadgar

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • Vaultの動的シークレットでTerraformのセキュリティレベルを向上させるには

  • 地球上でもっとも洗練された開発環境を目指す。HashiCorp社の主催する開発者の祭典HashiConf'19に参加

  • HashiCorp Vaultの最新バージョン1.4がリリース、ラックが注目する2つの新機能とは?