株式会社ラック

トップレベルのセキュリティ技術を駆使した
ITトータルソリューションで、未来をきり拓く

セキュリティ事故発生時はこちら
閉じる

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

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

セキュリティに係るお客様の緊急事態に際し迅速にお客様をご支援する緊急対応サービスです。
緊急事態が発生したら今すぐ「サイバー救急センター」にご相談ください。

電話で相談する

メールで相談する

サイバー救急センター®のメールアドレス

自分で調べる

DevSecOps製品

HashiCorp Terraform Enterprise

インフラ構築の自動化を行うInfrastructure as Codeソリューション

これまで主流であったシステム構築では、サーバやネットワーク機器などのインフラを構築するためにハードウェアを調達後、エンジニアによる膨大な作業が必要でした。たとえば、サーバを構築し、必要なパッケージを導入し、設定ファイルをシステムに最適なものに修正する、といった作業です。

HashiCorp Terraform Enterprise

この膨大な作業は、エンジニアが1台1台のサーバに対して手作業でプログラムコードを記述するという手法で作業手順書を作成し、さらに設定変更の履歴を管理するためのドキュメントも必要となります。

企業のデジタルトランスフォーメーションの加速に伴い、クラウド活用が進んできたことから、この手法は大きく変わってきています。例えばインターネット専業企業は「1日に何回も新機能をリリース」することで、ユーザに様々な常に新たな価値を届けています。短期間でシステムを構築しリリースしていかなければ、企業は勝ち残っていくことはできません。しかしながら、従来のシステム構築の手法ではその実現は困難です。

このようなクラウドのインフラ構築において、コードによる設定変更作業や履歴管理ができ、さらにマルチクラウドやハイブリッドクラウドの作業の自動化も管理画面から容易に行うことができるソリューション。それがInfrastructure as Codeソリューション「Terraformテラフォーム」です。

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

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

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

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

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

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

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

IaCソリューション「Terraform Enterprise」とは

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

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

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

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

「Terraform Enterprise」のワークスペース管理画面
「Terraform Enterprise」のワークスペース管理画面

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

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

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

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

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

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

(1)ポリシー管理機能「Sentinelセンチネル

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

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

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

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

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

「Cost Estimation」機能のワークフロー承認画面
「Cost Estimation」機能のワークフロー承認画面
お問い合わせ

HashiCorp
Terraform Enterprise
に関するお問い合わせ

サイバーセキュリティに関する
様々な情報をお届けします

メルマガでは、より厳選した情報を
配信しています
詳しくはこちら

page top