Japan
サイト内の現在位置を表示しています。
HashiCorp製品 - HashiCorp Terraform
IaCのデファクトスタンダード概要
Terraformは、IaC (Infrastructure as Code) により様々なITインフラストラクチャの構築を自動化するIT構築自動化ソリューションです。
マルチクラウド環境では、クラウドサービスやシステムごとに管理方法や設定のインターフェイスが異なるため、膨大な作業の発生と長いリードタイム、手作業による人為的ミスの削減が課題となります。
Terraformは、オンプレミスやマルチクラウド上のコンピューターやストレージ、ネットワークなどの構成をコード化することで、ITインフラストラクチャにおける構築運用の自動化や標準化を促進し、ミスや作業にかかる工数を改善します。
導入効果
チームの生産性向上と属人性排除
作業者のノウハウに基づく手作業だったインフラストラクチャの払い出し業務を、冪等性、再利用性のあるコードを用いて自動化することで、属人性や人為的ミスを排除し、リードタイムを格段に短縮します。
また、チーム内でコードの共有、管理を行う仕組みや、きめ細かなアクセス制御、監査ログなどのチーム管理のための仕組みを提供することにより、複数チームが安心して並行作業を行うことができる環境を提供します。
企業ガバナンスを確保したクラウドサービス利用
クラウドサービスにおける不要なリソースの払い出しを未然に防止するなどサービス利用コストの管理をサポートします。
また、インフラストラクチャの払い出しの自動化だけではなく、企業ルールに照らし合わせたセキュリティ設定の抜け漏れ防止やコンプライアンス確保に関するチェックも自動化することができ、安心・安全なクラウドサービス利用をサポートします。
既存ワークフローを利用した自動化
例えば、ServiceNow をすでに利用している場合は、そのサービスカタログからプロビジョニングを実行する構成をとることができます。また、その他のシステムに対しても Terraform が提供する API を用いて連携することができるため、現在、利用しているワークフローを変えることなく、IaC基盤 を導入することができます。
関連ソリューション
特長
シンプルな宣言型コードを用いた IaC (Infrastructure as Code) 基盤
HCL (HashiCorp Configuration Language) という1つのコード体系で、様々なITインフラストラクチャの構成を定義することができ、コードの学習コストを低減することができます。また、HCL は、ITインフラストラクチャの理想的な構成を宣言するシンプルな形式となっており、システム間の依存関係を意識する必要がありません。そのため、チーム内でのレビュー、再利用が行いやすいという特長を持っています。
GitHubなどのVCS (バージョン管理システム) と連携構成をとることで、チーム内でのコード共有もスムーズに行え、属人性を排除したITインフラストラクチャの構成管理が実現できます。
参考URL(HashiCorpサイト)
ポリシーによるガードレール運用
プロビジョニングの実行前に、ポリシーによるコードチェックを行い、ITインフラストラクチャの構築に関するセキュリティ、コンプライアンスを確保します。また、クラウドサービスの利用に対するコスト予測を行い、コスト上限を超えるプロビジョニングをポリシーにより事前に防止することもできます。このような、事前のポリシーによるチェックにより、企業ガバナンスを効かせたITインフラストラクチャ構築の自動化を実現します。
ベンダーロックインを排除したプロビジョニング
クラウドサービスやネットワークなど、ITインフラストラクチャを提供する様々な企業との連携やコミュニティ活動により、2500以上 ※1 のリソースに対するプロビジョニングをサポートしています。また、コード作成に便利なモジュールやポリシーライブラリも多数提供しており、効率的なIaC運用をサポートします。
※1 2022年10月時点でのプロバイダー対応数を示しています。
機能
機能 | Terraform Community | HCP Terraform Plus | Terraform Enterprise |
---|---|---|---|
Infrastructure as Code: インフラの構築とプロビジョニング |
△ (ステートファイルは利用者が管理) |
〇 | 〇 |
共同作業: チームによるインフラストラクチャの管理 |
ー | 〇 | 〇 |
ガバナンスとポリシー: コードによるポリシーでの管理 |
ー | 〇 | 〇 |
セルフサービス化: インフラストラクチャの利用者による構築 |
ー | 〇 | 〇 |
パフォーマンス: 同時実行数 | 1 | 10 | 制限なし |
運用 | ローカル環境 | HashiCorp社によるSaaS | ローカル環境 |
サポート | コミュニティ | NECによる日本語サポート | NECによる日本語サポート |
Infrastructure as Code
HCL (HashiCorp Configuration Language) を用いて、ITインフラストラクチャの理想的な構成をコードとして定義し、プロビジョニング(ITインフラストラクチャ環境の構築作業)を自動化します。
ITインフラストラクチャの構成をコードとして管理することで、変更管理(バージョニング)が容易となり、また、冪等性、再利用性が高いコードによる自動化で、作業工数や人為的ミスを大きく削減することができます。
Terraformは、ハイブリッドやマルチクラウド環境に向けて提供されている IaCソリューション であるため、AWS、Microsoft Azure、Google Cloud Platform、Oracle Cloud Infrastructure、VMware vSphere / NSX-T、Kubernetes、Cisco Systems製品 など様々なITインフラストラクチャに対応しています。各ITインフラストラクチャの構成機能の違いや固有の依存関係は、プロバイターと呼ばれるプラグインで吸収されるため、共通のコード体系でプロビジョニング運用を行うことができます。
共同作業
Terraformでは、作業内容ごとにワークスペースを作成し、プロビジョニングに必要なコード(構成ファイル)や変数、プロビジョニングの実行状態(ステートファイル)をワークスペースごとに管理します。ワークスペースには、チームや作業者に対するアクセスコントロールが設定でき、チームごとに個別のワークスペースを利用することにより、複数チームが独立して、安全にプロビジョニング作業にあたることができます。また、構成ファイルの複雑化の回避や再利用性を高めるために作成したモジュールをプライベートレジストリで管理し、チーム間で共有して活用していくことができます。
Terraformは、様々なシステムと連携して活用していくことができます。例えば、SAML (Security Assertion Markup Language) 2.0 を利用したシングルサインオンでのユーザー認証やVCS (バージョン管理システム) へのコミットを契機とした処理の実行、Terraformが提供するAPIを介したシステム連携が可能です。
ガバナンスとポリシー
Terraformでは、プロビジョニングの計画(plan)とプロビジョニングの実行(apply)との処理の間において、事前に設定したポリシーに従い、計画したプロビジョニングの内容が適切かを自動チェックする Sentinel (センチネル) 機能を提供しています。これにより、例えば、権限が不足している作業者による重要な構成変更をガードしたり、必要なセキュリティ設定が含まれているかをチェックしたりなど、操作ミス、作業ミスによるインフラストラクチャの破壊等の事故を未然に防止します。
また、Terraformでは、構成ファイルの内容をもとに、プロビジョニング後に発生するクラウドサービスの月額費用を推定することができ、適切なクラウドサービスの利用をサポートします。あらかじめ、ポリシーとして、クラウドサービスの利用に関するコスト上限を設定しておくことで、上限を超えるプロビジョニングの計画に対し、自動的に承認プロセスへとエスカレーションする運用を行うことができます。
Terraformで行った操作は、監査ログとして記録しています。そのため、万が一、何らかのセキュリティインシデントが発生した場合であっても、監査ログを用いて調査することができます。
セルフサービス化
ServiceNow と連携することで、インフラストラクチャの利用者自らが、ServiceNowのサービスカタログからプロビジョニングを実行する運用とすることができます。
また、構成ファイルのコード生成を支援するエディタである Configuration Designer の提供も行っており、様々なひとが、Terraformを介したインフラストラクチャのプロビジョニングを利用できるような環境提供を行っています。
製品体系・価格
Terraformは、SaaS版とインストール版による提供になります。
- HCP Terraform Plus(SaaS版)
HashiCorp社が管理・提供するクラウドサービスとして利用することが可能です。 - Terraform Enterprise(インストール版)
任意のサーバー、仮想マシンにインストールして利用することが可能なライセンスです。
価格は、お問い合わせください。
サポートサービス
HashiCorp社との協業を基盤にした充実のサポートを提供します。
認定技術者によるサポート
HashiCorp社の認定技術者によるサポートを提供いたします。
NECは、Terraformのサポート、SIのケイパビリティを評価されてSpecialized Partnerの認定を取得しました。
Specialized Partner:
HashiCorp社製品のサポートやソリューションのデリバリに関する所定の条件をクリアした会社だけが取得できる認証です。
日本語サポート
NEC×HashiCorp Japan社との協業による、安心の日本語サポート(メーカーサポートは英語のみ)。