SEARCH

検索

閉じる

企業や組織のセキュリティ事故発生時はこちら

緊急対応窓口:サイバー救急センター®

ご相談は予約不要、24時間対応

電話で相談する
0120-362-119
メールで相談する
サイバー救急センター®のメールアドレス
自分で調べる
「FalconNest」について

HashiCorp製品

Terraform(テラフォーム)

Solutions & Products

Terraformによりクラウドインフラ構築における
生産性、セキュリティ、ガバナンス向上を実現

HashiCorp Terraformは、マルチクラウド環境でのインフラ構築において、コードによる設定変更作業や履歴管理ができ、さらに組織のポリシーに違反した設定を自動でチェックする機能を備えたソリューションです。

Terraformの強み

AWS、GCP、Azureなどのマルチクラウド環境を横断して構成管理が可能に

Terraformではクラウドインフラの状態をコードで記述し、GitHubなどのソースコード管理ツールを用いて作成・変更したコードのレビュー、バージョン管理などが可能になり再現や複製も容易になります。また、対象となるクラウドが数百台、数千台に及ぶ場合、GUIを通して1件1件手作業することなくインフラ環境の構築、変更を自動で行うことができ、人為的なミスを引き起こすことなく正確かつスピーディな対応が可能となります。

マルチクラウド環境のガバナンスを一手に引き受ける

  1. マルチクラウド環境での
    インフラ構築
    インフラの構築・運用に関わる作業をコード化、自動化するInfrastructure as Code(IaC)により、設定をコードで管理し、手作業によるミスを防ぎながら、設定変更を履歴として管理できます。
  2. チームやCI/CDでも安全に
    IaCの運用ができるTerraform
    複数の開発者がチームとして利用する場合やCI/CDの環境でも安全に運用可能です。構成状況を保持するStateファイルを集中管理し、複数の利用者でも変更内容を可視化できます。
  3. IaCソリューション
    「Terraform Enterprise」
    と「HCP Terraform」
    Terraformはインストール型のTerraform EnterpriseとSaaS型のHCP Terraformを提供しています。同等の機能を提供しているのでお客様の環境に応じて柔軟に選択できます。

マルチクラウド環境のインフラ構築における問題点

マルチクラウド環境でのインフラ構築

クラウドでは通常、クラウドサービスプロバイダーが用意したGUI画面から各サーバのインフラ設定を行います。このGUI画面での設定は直観的に操作することができ、システムに詳しくない人でも作業が可能になる一方で以下のような問題点があります。

  • サーバの数が多くなると設定が大変。作業の手数が多くなり、間違いが発生しやすい
  • クラウドサービスプロバイダーごとにGUI画面仕様が異なり、同じ手順で作業できない
  • 各サーバの設定内容の管理が大変
    知らぬ間に設定を変えられていて、何かあっても設定が戻せないこともある。
手動でのクラウドリソース管理のイメージ
手動でのクラウドリソース管理のイメージ

マルチクラウド等の構築に適する「Infrastructure as Code」とは

この問題を解決するためにインフラの構築・運用に関わる作業をコード化、自動化するアプローチとしてInfrastructure as Code(IaC)が普及してきました。設定をコードで管理することで、手作業による間違いを防ぎ、設定変更を履歴として管理することができます。そして設定変更作業を自動化することで、大量のサーバに迅速に設定変更を反映させることができます。

クラウドサービスプロバイダーであるAmazon Web ServiceやMicrosoft Azureは、独自にCloudFormation、Resource ManagerといったIaC機能を提供しています。

ところが、企業では異なるサービスベンダー間で複数のクラウドサービスを組み合わせたマルチクラウドや、クラウドとオンプレミス環境を組み合わせたハイブリッドクラウドが普及しています。異なるインフラの構築・運用を効率化し自動化するためのIaCが必要です。

そのためには特定のクラウドサービスに限定せず、マルチクラウド環境で利用可能なIaCソリューションを採用する必要があります。

IaCソリューション「HashiCorp Terraform」

HashiCorp Terraformは、ハイブリッドやマルチクラウド環境に向けて提供されるIaCソリューションです。ユーザはテキスト形式のファイル上に「どのクラウドサービスで」「どのようなスペックを持つ仮想マシンやリソースを使うのか」といったインフラの状態を、コードとして記述し各クラウドへ反映します。

HashiCorp Terraformではクラウドごとの構成機能の違いや記述形式の違いをプラグインで吸収し、どのクラウドに対しても共通のコンフィグレーション(構成)ファイルで記述することが可能です。

コード化したAWS構成例
コード化したAWS構成例

コードでインフラの状態を記述することにより、GitHubなどのソースコード管理ツールを用いて作成・変更したコードのレビュー、バージョン管理などが可能となり、再現や複製も容易になります。また対象となるクラウドが数百台、数千台に及ぶような場合、GUIを通して1件1件手作業することなくインフラ環境の構築、変更を自動で行うことができ、人為的なミスを引き起こすことなく正確かつスピーディな対応が可能となります。

Terraformのワークスペース管理画面
Terraformのワークスペース管理画面

※ Terraformが対応しているクラウド、ソフトウェア:
AWS、Microsoft Azure、Google Cloud Platform、Heroku、Oracle Public Cloud、IBM Cloudなどの主要なクラウド、VMware vSphere、OpenStack、Kubernetesなどのソフトウェア

Terraform構成イメージ
Terraform構成イメージ

HashiCorp Terraformの優れたガバナンス機能

IaCを使用するグループでは、メンバーが誤った設定やルールに基づかないプロビジョニングを行ってないか監視する必要があります。

  • 間違ったリージョンにプロビジョニングを行っていないか
  • 禁止されている時間帯に作業を行っていないか
  • 10インスタンス立ち上げのつもりが、誤って1000インスタンスを立ち上げてしまわないか
  • 多額の利用料がかかるインスタンスを勝手に立ち上げていないか
  • 国をまたいだ制約(GDPRなど)を意識しないでプロビジョニングを行っていないか

Terraform Enterpriseでは以下の機能により、メンバーの作成したコードへのマニュアル検証が不要となります。プロビジョニング実行前にこれらのポリシーチェックを行い、誤った設定が行われることを防ぎます。

(1)ポリシー管理機能「Sentinel(センチネル)」と「Open Policy Agent(OPA)」

HashiCorp Terraform全体にまたがるポリシーを設定することが可能です。例えば、アクセス権のないユーザが重要な構成変更をできなくしたり、決められた時間外の構成変更を保留したり、特定のクラウドリソースのプロビジョニングを不可能にするなど、操作ミス、作業ミスなどからインフラを破壊してしまう事故を防ぎます。さらにOPAを利用することで、すでに利用しているポリシーをTerraformに適用することができます。

「Sentinel」機能のポリシー設定画面
「Sentinel」機能のポリシー設定画面

(2)インフラ定義から自動的にクラウドの費用を見積もる「Cost Estimation(コスト エスティメーション)」

Terraform Enterpriseの「Cost Estimation」機能により、コンフィグレーションファイルの内容からプロビジョニング後にかかるクラウドの月額費用の見積もりを自動的に表示します。利用者がクラウドインフラの状態を変更した場合の費用を事前に試算することができ、適切なクラウドの利用を支援します。

また、あらかじめポリシーとしてコストの上限などを決めておき、ポリシーに違反する場合には自動的に承認プロセスへとエスカレーションすることも可能。これによりインフラに対するガバナンスの確立が可能となります。

「Cost Estimation」機能画面
「Cost Estimation」機能画面

(3)開発スピードの向上と品質の標準化「Private Module Registry」

利用頻度の高いサーバーやネットワーク構成をモジュール化し、Private Module Registryに登録することで「社内標準」として社内に限定して公開できます。

利用者は事前にレビューされたモジュールを選ぶだけで構成を作成でき、設計のばらつきやセキュリティリスクを抑えられます。

HCP Terraform

HCP Terraformは、Terraform Enterpriseと同等の機能をHashiCorp社がクラウドサービスとして提供します。

Terraform Enterpriseでは、自社のサーバにTerraform Enterpriseを構築し運用する必要がありましたが、HCP Terraformを利用することで、それらのリソースやコストを割く必要がなくなり、小規模からTerraformを活用することが可能となります。

HCP Terraformを選択するメリット

  • サーバやネットワークを用意する必要がない
  • 小規模から利用することが可能

しかし、HCP TerraformがTerraform Enterpriseに取って代わることはありません。Terraform Enterpriseでは以下のメリットがあります。

  • クローズドな環境でTerraformをホストしたい
  • プロビジョニング時のパフォーマンスを最適化したい
  • 日本以外のデータセンターのクラウドサービスを利用できない

Terraform Enterprise、HCP Terraform、それぞれのメリットを比較し最適なソリューションを選択することができます。

価格

お客様の環境によって異なりますので、個別にお見積りいたします。お気軽にお問い合わせください。

「HashiCorp Terraform(テラフォーム)」に関するお問い合わせ

page top