TerraformでGCPのPub/Subを作成する①-Terraformをインストール
はじめに
今まで GCP のリソースをシェルスクリプトで作成していましたが、いい加減クラウド環境構築のデファクトスタンダードである Terraform に移行しようと思っていました。
時間ができたので、ようやく重い腰をあげました。
とはいえ、想定外に時間がかかってしまったので、今日は Terraform を自分の MacBookPro にインストールするところまでにしておきます。
検証環境
Terraform ってなに?
Terraform by HashiCorp から抜粋します ( 2021-03-10 現在 )。
Terraform is an open-source infrastructure as code software tool
that provides a consistent CLI workflow to manage hundreds of cloud services.
Terraform codifies cloud APIs into declarative configuration files.
苦手な英語を頑張って読んだ限り クラウドサービス環境を構築する際には CLI(command line interface)を順番に呼び出して構築するけど、そんな「手順型のスクリプト」みたいな方法ではなく、「宣言型の設定ファイル」を作ったらそれに合わせて環境つくれる というツールのようです。
(間違っていたらごしてください。)
イメージは Kubernetes の各種リソースのマニフェストファイルみたいなもの、と見ました。
Terraform のメリットは?
IaC ( Infrastructure as Code )
インフラ設定をコード化できます。
以下のようなメリットが生まれます。
- インフラ設定をバージョン管理できる
- 同じインフラ設定を使って、本番環境、ステージング環境、開発環境など複数環境を容易に作成できる
- なにかのサービスを構築する際に利用した設定ファイルを新しく別サービスを作る際に再利用できる
インフラそのもののバージョン管理
インフラ設定ファイルをバージョン管理できるだけでなく、 インフラ設定ファイルを適用済みの環境をを 1 つ前の状態に戻す といったこともできます。
実行プラン機能
「受け取った設定ファイルだと、こんな環境を作るよ。実行していいよね?」という、適用直前の状態まで準備してくれます。
そのタイミングで「実際に計画通りに実行させる」か、「やっぱり実行をやめる」かはユーザがそのタイミングで判断を下せるようです。
kubectl diff
のようなイメージでしょうか。
設定情報の反映は自動
「賽は投げられた」ら、後は完了を待つだけの手軽さ。
Terraform のインストール
では早速 Terraform のインストールに進みます。
Homebrew を使ってインストールしていきます。
まずは、 HashiCorp から提供されている tap をインストールします。
これで、 Homebrew を使って Terraform をインストールできます。
思ったよりも時間がかかります 。気長に待ちましょう 。
ちなみに、2021-03-10 現在、僕の MacBookPro では上記コマンド実行でエラーが発生しました。解決の仕方は後述します。
アップグレードしたい場合は以下のコマンドを実行します。
以下のコマンドが正常に動作すれば、インストール成功です。
( ハイフンが 1 つなので注意! )
(注意) brew install hashicorp/tap/terraform
でエラーが発生してしまった場合
僕の環境では、 brew install hashicorp/tap/terraform
で以下のようなエラーが出てしまいました。最近 macOS のアップグレードが行われた ので、そのためかもしれません。
(解決までなかなか長い道のりでした。一連の操作が完了するまで数時間かかったので、のんびり行きましょう!)
メッセージにある通り、 コマンドラインツールをアップグレードしないと利用できない ということなので、アップグレードします。
再度実行しても、以下のようにエラーが出ました。 gcc がとのこと。
では、 gcc をインストールしてみる、ということで実行したところ、 ソースコードからビルドしてください とのことでした。
ソースコードからビルドしてみると、 Xcode で使っているコマンドラインツールのパスが変更されているので、見つかりません。正しいところにパスを貼り直してね というメッセージ。
たらい回し 。
以下のコマンドを実行して、 Xcode のコマンドラインツールのパスを最新版に更新 。
今度は手応えがありそうです。 gcc のインストールに戻ります。
ビルド中は MacBookPro のファンが元気に回っていました。
ようやくもともとやりたかった、 Terraform のインストールまで戻ってきました。
以下のコマンドを実行します。
Terraform のオートコンプリート(補完)機能を有効化
Bash や Zsh を利用している場合は、Tab キーを押したときにオートコンプリートで候補が表示されるようにしておくと便利です。
実行後は、ターミナルのセッションを一度立ち上げ直しましょう。
ひとこと
次回は Terraform を使って GCP に環境を構築してみます。
ディスカッション
コメント一覧
まだ、コメントがありません