Terraform

TerraformのRKEプロバイダーをRancher Labsに移管しました

はじめに Rancher Labsが提供するRKE(Rancher Kubernetes Engine)をTerraformから扱えるようにするRKEプロバイダーを私の個人リポジトリからRancher Labs配下へ移管しました。 github.com 移管によりこれまで以上にRKE本体との連携も進むでしょうし、今後は…

Terraformからウェブアクセラレータの証明書を管理する

Terraformからウェブアクセラレータを参照/一部の操作ができるように Terraformのさくらのクラウドプロバイダー v1.18.1からウェブアクセラレータ向けのリソースが追加されました。 sakuracloud_webaccel: サイト情報を参照するためのデータソース sakuraclo…

GitHub ActionsでTerraformを実行する時にTerraform Cloudをバックエンドに指定する

某所で「GitHub ActionsからTerraform Cloudを使おうとしたが上手くいかなかった」という投稿を拝見しました。 うまいこと設定すればちゃんと動かせますのでその方法などについてまとめておきます。 TL; DR Terraform CloudでのExecution Modeはデフォルトで…

さくらのクラウド対応版Terraformerがv0.8系になりました

先月リリースしたさくらのクラウド対応版Terraformerが本家のバージョンアップに追随してv0.8系になりました。 sacloud/v0.8.1のリリースページ: github.com 以前のsacloud/terraformerについての記事: febc-yamamoto.hatenablog.jp sacloud/terraformer v0.…

Terraformerで既存のさくらのクラウド環境からリバースTerraformする

既に存在するリソースの情報からTerraformのコード(tfファイル + tfstateファイル)を生成できるterraformerというツールがあります。 github.com このTerraformerをフォークしてさくらのクラウド対応を行ったものをリリースしました。 github.com これを使え…

Terraform Cloud + さくらのクラウド プロバイダーを動かしてみる

Terraform Cloudがリリースされましたね!! www.publickey1.jp 早速さくらのクラウドプロバイダーをTerraform Cloud上で動かしてみました。 Terraform Cloud事始め 通常のプロバイダーを使う手順はこちらに記事がありました。 dev.classmethod.jp ワークス…

【小ネタ】Terraformで子リソースに分割されたリソース定義をdynamic blockを使って書き直す例

GitHubで質問もらったやつが例として手頃だったのでブログ書いておきました。 github.com やりたいこと Terraform v0.11以前までの親リソース/子リソースに分けて定義していたリソースをv0.12で導入されたdynamic blockに書き直す v0.11以前 ここではrke_clu…

TerraformでさくらのクラウドのエンハンスドロードバランサのLet's Encrypt設定を行う

Terraform for さくらのクラウド v1.13.0リリース 本日リリースのTerraformさくらのクラウド向けプロバイダー v1.13.0にてエンハンスドロードバランサ関連の機能拡充が行われました。 100/500CPSプランのサポート HTTPSへのリダイレクト機能 HTTP/2のサポー…

ConftestでOpenPolicyAgent/Regoを使いTerraformのコードにポリシーを適用してみる

今日はConftestを用いてTerraformでのインフラコードにポリシーを適用してみます。 TerraformでのインフラコードのUnitTest terraform validateでの構文チェック Terraformではtfファイルの構文チェックを行ってくれるterraform validateコマンドが提供され…

TerraformでのプロビジョニングにVNCを使う

TerraformでVNCでのプロビジョニングを行えるようにするプラグインterraform-provisioner-vncを公開しました。 github.com Terraformでのプロビジョニング Terraformではリソースの初期設定や削除時のクリーンアップ処理などを行えるようにプロビジョナーと…

Terraform for さくらのクラウド 最新情報(2018年10月版)

本日Terraform for さくらのクラウド v1.7をリリースしました。 github.com Terraform for さくらのクラウドはこまめなバージョンアップを行なっており、最新情報を追いきれていない方もいらっしゃるかと思います。 そこで今回は最近追加された機能のサマリ…

Terraform Provider実装 入門(4): スキーマ定義 後編

目次(未確定) 第1回: Terraform Custom Provider 基礎 第2回: リソース実装 基礎 - schema.Resourceでのリソース実装の基礎 第3回: スキーマ定義 前編- schema.Schemaでのスキーマ定義 第4回: スキーマ定義 後編- schema.Schemaでのスキーマ定義 (当記事) 第…

Terraform Provider実装 入門(3): スキーマ定義 前編

目次(未確定) 第1回: Terraform Custom Provider 基礎 第2回: リソース実装 基礎 - schema.Resourceでのリソース実装の基礎 第3回: スキーマ定義 前編- schema.Schemaでのスキーマ定義 (当記事) 第4回: スキーマ定義 後編- schema.Schemaでのスキーマ定義 第…

Terraform Provider実装 入門(2): リソース実装 基礎

目次(未確定) 第1回: Terraform Custom Provider 基礎 第2回: リソース実装 基礎 - schema.Resourceでのリソース実装の基礎 (当記事) 第3回: スキーマ定義 前編- schema.Schemaでのスキーマ定義 第4回: スキーマ定義 後編- schema.Schemaでのスキーマ定義 第…

Terraform Provider実装 入門(1): Custom Providerの基礎

今回はTerraformから提供されているprovider frameworkを利用した独自のプロバイダーの実装について扱います。 カスタムプロバイダーについての基本的な知識〜実装上の注意点などをサンプル実装を通じて見ていきます。 注:この記事はTerraform v0.11に対応し…

「terraform-bundle」 Terraformとプロバイダーの実行ファイルのパッケージングツール

今日は使い道は限定されますが意外と便利なツールterraform-bundleの紹介です。 github.com terraform-bundleって? Terraformではコア部分とAWS/GCP/Azureといった各プラットフォーム固有の処理を担当する部分(プロバイダー)とで実行ファイルが分かれていま…

TerraformのArukasプロバイダー再始動!!

TerraformのArukasプロバイダーのArukas正式サービス版に対応したバージョン v1.0.0をリリースしました。

Terraform + RKEでKubernetesクラスタ構築 - TerraformのRKEプロバイダー

2018/5/18に東京で開催されたRancher2.0リリースパーティで以下のLTをさせていただきました。 このLTで発表したTerraformのRKEプロバイダーについてご紹介いたします。 その前に: RKE(Rancher Kubernetes Engine)とは? RKEとは、一言で言うと「Kubernetesク…

Terraform公式のモジュールレジストリ「Terraform Registry」でモジュールを公開する方法

Terraformの公式モジュールレジストリである「Terraform Registry」への登録方法を紹介します。

【さくらのクラウド】Kubernetesクラスタ構築用のモジュールをTerraform Registryに公開しました

Terraform RegistryにさくらのクラウドでKubernetesクラスタを簡単に構築するためのモジュールを公開しました。

【さくらのクラウド】TerraformでWindowsの展開を自動化する

はじめに 今回はTerraform for さくらのクラウドを用いてWindows Serverの展開を自動化する方法をご紹介します。 さくらのクラウドではWindows Serverのセットアップを行うにはコントロールパネルからコンソール接続を行う必要がありましたが、 この方法を使…

【モダンTerraform】意外と便利!? Miscプロバイダーたち(Templateプロバイダー編)

モダンTerraformシリーズです。 今回は前回の続きとしてMiscプロバイダーの中からTemplateプロバイダーについて扱います。 Templateプロバイダーとは その名の通りテンプレート機能を提供してくれるプロバイダーです。 以下のリソースとデータソースが含まれ…

【モダンTerraform】意外と便利!? Miscプロバイダーたち(概要編&Nullプロバイダー編)

モダンTerraformシリーズです。 今回はTerraformのプロバイダーのうち、最近充実してきているMiscプロバイダーについてご紹介します。 Miscプロバイダーってなに? 最近Terraformのプロダイバーが増えてきたため、ドキュメント上プロダイバーの分類が行われ…

【モダンTerraform】v0.11以降でdynamicとfor_eachが実装されるかも

モダンTerraformシリーズです。 今回は最近のhashicorp/terraformでの開発状況から、現時点での最新版であるv0.11.3で未実装な機能の中で個人的にかなり期待している機能について紹介します。 countパラメータとその限界 全てのリソースにはMeta-parameters…

【モダンTerraform】ベストプラクティスはTerraform Module Registryを参照しよう

今回は小ネタです。 Terraformでのベストプラクティス? Terraformでのベストプラクティスは従来GitHubにて専用のリポジトリで公開されていました。 GitHub: hashicorp/best-practices が、このリポジトリ、すでに「 Deprecated 」です。 じゃあどこ見ればい…

【モダンTerraform】VariableとLocal Valuesの使い分けについて

はじめに ナウでイケてるヤングな皆様におかれましてはTerraformを使うのはもはや当たり前ですよね? このTerraformですが日々バージョンが上がっており、ネット上で公開されているtfファイルの書き方が若干古いものもちょいちょい見受けられます。 特にTerr…