LoginSignup
4
4

More than 5 years have passed since last update.

terraform をバージョンアップする

Last updated at Posted at 2015-07-07

手元の mac に brew でインストールした terraform ですが、

brew upgrade でなかなか降ってこないので手動でバージョンアップしてみます。
手動バージョンアップと言ってもシンボリックリンクの書き換えしただけなので、メモとして残します。

私の環境では terraform は以下の様にインストールされています。

$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x  1 hoge  hage  39 Apr 27 14:21 /usr/local/bin/terraform -> ../Cellar/terraform/0.4.2/bin/terraform
lrwxr-xr-x  1 hoge  hage  54 Apr 27 14:21 /usr/local/bin/terraform-provider-atlas -> ../Cellar/terraform/0.4.2/bin/terraform-provider-atlas
lrwxr-xr-x  1 hoge  hage  52 Apr 27 14:21 /usr/local/bin/terraform-provider-aws -> ../Cellar/terraform/0.4.2/bin/terraform-provider-aws
lrwxr-xr-x  1 hoge  hage  59 Apr 27 14:21 /usr/local/bin/terraform-provider-cloudflare -> ../Cellar/terraform/0.4.2/bin/terraform-provider-cloudflare
以下略

あまり詳しくないのですが、/usr/local/bin 配下はシンボリックリンクが多いのですね。

最新版の terraform を公式からダウンロードします。今回は 0.5.3 です。

[https://dl.bintray.com/mitchellh/terraform/terraform_0.5.3_darwin_amd64.zip]

zip を解凍するとバイナリが詰まっています。

~/Downloads$  ll terraform*
-rwxr-xr-x@ 1 hoge  hage  15202736 Jun  2 03:36 terraform
-rwxr-xr-x@ 1 hoge  hage  10354576 Jun  2 03:36 terraform-provider-atlas
-rwxr-xr-x@ 1 hoge  hage  19750112 Jun  2 03:36 terraform-provider-aws
-rwxr-xr-x@ 1 hoge  hage  10258784 Jun  2 03:36 terraform-provider-cloudflare
以下略

これらを移動します。

~/Downloads$ mkdir -p /usr/local/Cellar/terraform/0.5.3/bin
~/Downloads$ cp terraform* /usr/local/Cellar/terraform/0.5.3/bin

シンボリックリンクを張り替えます。

#!/bin/bash

cd /usr/local/bin
ls -l terraform* | while read i
do
    bin=`echo $i | awk {'print $9'}`
    new_link=`echo $i | awk {'print $11'} | sed 's/0.4.2/0.5.3/'` 
    ln -sf ${new_link} ${bin}
done

0.4.2 から 0.5.3 に変わりました。

$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x  1 hoge  hage     39 Jun 29 16:45 terraform -> ../Cellar/terraform/0.5.3/bin/terraform
lrwxr-xr-x  1 hoge  hage     54 Jun 29 16:45 terraform-provider-atlas -> ../Cellar/terraform/0.5.3/bin/terraform-provider-atlas
lrwxr-xr-x  1 hoge  hage     52 Jun 29 16:45 terraform-provider-aws -> ../Cellar/terraform/0.5.3/bin/terraform-provider-aws
lrwxr-xr-x  1 hoge  hage     59 Jun 29 16:45 terraform-provider-cloudflare -> ../Cellar/terraform/0.5.3/bin/terraform-provider-cloudflare
以下略

以上でバージョンアップ完了です。

その後 plan apply destroy や、バージョンアップによって新規追加されたリソースも問題なく動作しています。
というか、そもそも実行環境を vagrant とか docker とかを使えばいいのではと思いますが、手が回らず。。

route53 の private hosted zone と、elb の connection draining がサポートされたのがとても嬉しいです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4