Help us understand the problem. What is going on with this article?

Terraform Cloud 無料枠での利用を考える

Terraform Cloud 5名まで無料で使用可能 / どのような利用が可能か

HashiConf'19 で以下の発表が行われました。

Terraform Cloud は「5名まで無料利用が可能」ということで、この枠内でどのような利用が可能か考えてみました。

まずは、無料版はどのようなことができるのかをみてみます。

無料版と有償版との違い(HashiCorp ページ記載内容から)

https://www.hashicorp.com/products/terraform/pricing
上記ページを転記しています。

Func Cloud(Free) Cloud(Team) Cloud(Team & Governance) Self-Hosted(Enterprise)
Price $0 $20 User/Month $70 User/Month Contact
VCS / Remote Runs
Workspace Management
Secure Variable Storage
Remote Runs & Applies
Full API Coverage
Private Module Registry
Roles / Team Management
Sentinel
Cost Estimation
SAML / SSO
Clustering
Private DC Installation
Private Network Connectivity
Single Tenant
Audit Logs

Enterprise 版とCloud 版の違い

Enterprise 版は、自身が用意した仮想マシン上に導入して利用します。上記の差分の Clustering から Single Tenant までは、自身でインフラ管理まで実施する特性になるので、Cloud版との差異にはならないと思います。

Enterprise 版との大きな差異は以下の2点です。

  • SAML/SSO
  • Audit Logs

Cloud 無料版とCloud 有償版の違い

  • 無料版は5人まで
    • 無料で利用できるユーザ数が5ユーザまで
    • 追加ユーザはエディションごとに月額価格が異なる
  • ロールとチーム管理
    • ユーザのロールやグループ管理を行う機能
  • Sentinel 連携(Team & Governanceのみ)
    • SentinelはPolicy as Code という考え方で、例えばTerraform によって組織として許可していないような操作(TCPポートをすべて解放しているとか)をしようとした際に検知を行うといったようなもの(Web記事などの受け売りです。実際に動作確認は出来ていません)
    • AWS Config Rules と同じようなもの、という記事もあります
  • Cost Estimation(Team & Governanceのみ)

(補足)OSS版とCloud 版の違い

OSS版とCloud版の差異は、以下になります。

  • GUIの有無
  • OpenSource プロジェクトの動きにあわせたアップデートをしなければいけない

(参考)OSS版からみたEnterprise 版の意義の書かれているBlog
* Why Consider Terraform Enterprise Over Open Source?

ここまで、Terraform Cloud の提供機能差異をみてみました。

Cloud版の基本構成、アクター

ここからは、Cloud版についてシステム構成やアクターを考えてみます。

システム構成図

スクリーンショット 2019-09-15 23.01.46.png

すべてクラウドサービスを利用できるため、エンジニアはクライアント端末があれば、Terraform を活用したインフラ管理が可能となります。

アクター

Terraform のWebページには、アクターが記載されたワークフローが掲載されています。
Cloud 版のワークフロー図 (https://www.hashicorp.com/products/terraform) に筆者が赤字で追記しています。

スクリーンショット 2019-09-16 14.35.53.png

公式ページには、アクターは以下のロールで書かれています。

  • IaCコードの設計・開発
  • プライベートモジュールの開発・登録
  • Terraform を使ってシステムプロビジョニング実施

今回は、これらの対応を SREs が行うと定義します。

対象とするプロセスと対象リソース

スクリーンショット 2019-09-16 8.20.44.png

上記図のベースは、「【図解】フルスタックエンジニアとは?」 から引用しています。
赤点線枠で囲った部分が、Terraform Cloud で対応する範囲(上述アクターで使ったワークフロー)と定義します。

ここまで、Cloud版の基本的な考え方をみてみました。

Terraform Cloud 無料版での運用(ユースケース)

Terraform Cloud 無料版のユースケースを考えてみます。

① Terraform 自体を試す

Terraform をシステム運用で使用するかどうか決めていない時点で、その試用に利用できます。

  • 上長への進言、提言用の調査
  • GUIの試用(これまでTerraformのGUIを使う場合、Enterprise版を借用する必要があった)
  • ToBeを見据えた、SREsとしての実験、実証

② OSS版からの乗り換え

OSS版で実現できることは、Cloud版でもすべてできるようです。OSS版運用でのデメリットを解消するためにCloud版への移行が考えられると思います。

  • GUI を利用できる
  • Terraform 自体のメンテナンスを行う必要がない

③ 提供機能の範囲で使いこなす

有償版との差異は、チーム・組織やユーザ数およびコスト見積もり・集計が大きな差異となっています。これらの機能を使う必要があるのは、組織として体系立てて(統制を取りながら)利用する際に必要になっています。ですので、ある程度の規模の組織では基本的には有償版を使用することになると思います。

制約があることを理解した上で無料版を使う場合:

  • ユーザ数の制約やチーム・組織の定義
    • 開発環境、テスト環境、本番環境ごとにTerraform Cloudのアカウントを作成する
  • Cost Estimation
    • 各クラウドが提供するコスト情報を直接見る(なんの解決策でもありませんが。。)

まとめ

Cloud版 とEnterprise版で大きな機能差がある点として、SSO/SAML 連携ができないことになります。利用者としては、この機能差を改善してもらいたいと思います。
その他、Cloud版には保守サポートサービスが付いているのか不明です。今後確認していきたいと思います。 2019/10/2 に開催されたTerraform meetup tokyo#2で、保守サポートが必要な場合は、Enterprise版を使ってください、という話がありました。

これまでGUIを使うためには、Enterprise版が必要でした。Enterprise版は、それなりのお値段であるので利用するのに躊躇していましたが、今回のサービス提供で一気に敷居が下がったと思います。

インフラ管理をSaaSのみで実現できるようになって、SREsは本当にやりたいことに集中できるようになってきていると思います。ここでは記載できていない、GitHub Actionsとの連携やServiceNowとの連携を行うことで「楽」することができることが増えると思います。

おまけ

Terraform Gift Package というものHashiCorp さんから頂きました。
hashicorpgifts.jpg

リンク

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした