自動化SaaSクラウド

【コストは抑えろ推しに積め】Terraformの"推し"ポイント!

みんなの"推し"はだぁれ?

みなさんは“推し活”してますか??
最近は推しの卒業ばかりで悲しい気持ちのつばさちゃん@令和最新版です。°(°´ω`°)°。
本日はHashiCorpの“推し”とTerraformの“推しポイント”について書いていきますっ!

“推し”の脱退

つばさちゃんの”推し”はやっぱり@apparentlymart氏です!
もちろんHashiCorp社を創業した@mitchellh氏やCTOの@armon氏も推せるんですけど、なんと言っても@apparentlymart氏ですよね!
 
HCL2(HashiCorp Configuration Language2)を事実上実装した方であり、現在のTerraformの基礎を作ったと言っても過言では無い、凄い人なんです!
@apparentlymart氏のHashiCorp社公式ブログはこちらなので、よかったら読んでみてくださいね!
 
そんな推しの@mitchellh氏は昨年12月にHashiCorp社を卒業(退社)、@apparentlymart氏も今年7月には卒業(退社)してしまったみたいです。(T_T) 
推しが次のステージへ行くことを応援していますが、推しロス辛い今日この頃です。

推しに積め!

んな”推せる”HashiCorpですが、やっぱり推しには課金してこそです!
昨今クラウドの登場により、企業はIT投資を推進し様々なコストを削減し易くなっているかと思いますが、削減できたIT投資は推しに積んでこそ尊いと思います。
HashiCorp道!を究めんとするアナタ!”推し”には課金してこそじゃないですか?
 
HashiCorp社のTerraform無償版”HCP Free”は無償利用できる範囲もありますが、課金してこそ得られるメリットもあります。詳細はHashiCorp社公式ページのTerraform Pricingや、当社営業からの説明に譲るとして、ここではTerraform有償版の”推しポイント”について紹介できればと思います。
 

Terraform有償版機能

Terraform有償版の”推しポイント”をお伝えする前に、まずはTerraform有償版機能についてご紹介できればと思います。
 

統合ワークフロー管理

まずは、Terraformを使った統合ワークフロー管理に関する3つの機能についてです。
Private Registryは組織内モジュールの管理と再利用を促進し、Test-Integrationは自動テストで品質向上を図ります。No-Code Provisioningは非技術者でもGUIを使ってインフラ構築が可能となり、効率的なプロビジョニングを支援します。
 

可視化と最適化

次に、Terraformの可視化と最適化に関連する4つの機能を説明についてです。
Audit Loggingは詳細なログ記録を行い、Drift Detectionはインフラ状態のずれを検出します。Continuous Validationはインフラ設定の継続的検証を行い、Ephemeral Workspacesは一時的な作業環境を自動で管理します。これらの機能はセキュリティ、コスト削減、効率向上に寄与します。
 

ポリシーとセキュリティ管理

最後に、Terraformを使ったポリシーとセキュリティ管理の3つの機能についてです。
Policy as Codeはポリシーをコード化して一貫した管理を実現し、Versioned Policy Setsはポリシーのバージョン管理を可能にします。Run tasksはカスタマイズしたタスクや外部ツールをTerraformのワークフローに組み込む機能で、セキュリティやコンプライアンスの強化に役立ちます。
 
 
・・・なんか沢山あってよく分からない、と思ったのではないでしょうか?
そういった方には推し機能がどれくらい有用か、具体的なユースケースを挙げて考えてみましょう!

Terraform”推し機能”とユースケースの紹介

それでは、これからユースケースに応じた推し機能の紹介をしていきます!

インフラの専門知識に乏しいジュニア層のメンバーの存在

新入社員の田中さんはクラウド/インフラの経験が浅く、田中さんがAWSで新しい環境を構築しようとしますが、設定ミスが多発してしまう、というケースを考えてみます。

上記のような課題が存在する場合に、推し機能を使うとどうなるのかというと・・・?

 
Policy as Code
ポリシー担当者によって、必須のタグやリソースの制限などのポリシーが予め定義されている
田中さんがTerraformの計画(plan)及び適用(apply)する際に自動的にポリシーに準拠しているか確認が行われ、誤った設定が行われることを防ぐ
 
No-Code Provisioning
モジュール開発者によって、No-Codeモジュールとして定義されたテンプレートが予め準備されている
田中さんはGUIからテンプレートに対し必要なパラメータを入力するだけで、学習/習熟にコスト/工数を割かずにミスなくインフラを構築可能
 
Continuous Validation
作成したインフラの金額が予算内であることを、定期的に自動で検証する
田中さんが作成したインフラのコストが決められた予算を超えた場合は、インフラチームに通知される

インフラが意図せず変更される、設定の競合が発生する

開発者の山田さんは、既存のインフラ構成を変更したが、その変更が他のチームに伝わっておらず、トラブルが発生してしまった、というケースを考えてみます。

上記のような課題が存在する場合に、推し機能を使うとどうなるのかというと・・・?

 
Drift Detection
インフラの構成が意図せず変更された場合に自動的に検出し、山田さんの変更が他のチームに伝わっていない場合でも、構成の変更をすばやく検知
定期的にTerraformの設定と実際のインフラ設定の差分検出を実行し、Driftが検出された場合、通知を行いアラートを送信
 
Continuous Validation
作成したインフラの金額が予算内であることを、定期的に自動で検証する
田中さんが作成したインフラのコストが決められた予算を超えた場合は、インフラチームに通知される
 
Ephemeral Workspaces
インフラに対する変更を暫定的なWorkspaceで検証し、他のチームに影響を与えないように変更内容を確認することが可能となる
変更内容が問題なく動作することを確認した後、正式なWorkspaceに適用、検証終了後にWorkspaceは自動的に削除されるため、コスト削減に寄与

セキュリティポリシーに反するインフラのデプロイ

情報システム部の鈴木さんが、自社のセキュリティポリシーに反する設定でインスタンスを構築してしまうことがある、というケースを考えてみます。

上記のような課題が存在する場合に、推し機能を使うとどうなるのかというと・・・?

 

Policy as Code
Sentinelなどのポリシーエンジンを使用し、セキュリティポリシーをコードとして事前に定義
定義したセキュリティポリシーをTerraformの計画(plan)及び適用(apply)する際に自動的にポリシーに準拠しているか確認、セキュリティ違反の設定を防ぐ
 
Audit Logging
インフラの変更履歴を定期的に監視し、セキュリティポリシーに違反する設定変更が無いかを確認
誰が、いつ、どのような変更を行ったのかを監視し、鈴木さん以外の担当者が変更を行った場合でも、どのような変更内容を行ったかを特定する
 
Run Tasks
セキュリティ部門の担当者と連携し、チェックツールやスクリプトをRun Taskとして設定、Terraformの計画(plan)及び適用(apply)前に自動実行
セキュリティチェックに失敗した場合はインフラへの設定適用(apply)を未然に防ぐ

推しがいっぱいあり過ぎて選べない・・?

ユースケースを3つほど挙げて、Terraformの”推し機能”について紹介してみました。
推し機能がいっぱいあり過ぎて選べない~!なんて方もいるのではないでしょうか?
そんなときは東京エレクトロンデバイス社でお客様に合った”推し”の紹介や、Terraformを用いたお客様に最適なワークフローについてもご提案させて頂ければと思いますので、是非こちらからお問合せ頂ければと思います!


いかがでしたか?

今回はHashiCorpの“推し”とTerraformの“推しポイント”について書いてみました。
”推し活”していると辛いことや悲しいことも忘れられて毎日頑張ろうって気持ちになるので、本当に”推し”は尊いですよね・・・!
みなさんも自分だけの”推し”を見つけてみてくださいねっ!・・・◝(⑅•ᴗ•⑅)◜..°♡
 

 

参考:DALL-Eの生成AIによる画像を使用