aws

はじめてのterraform インストールからAWSリソース作成まで

Macユーザー向けの記事です。

terraformのインストール

tfenvを使用してterraformのインストールを行います。 tfenvとは、terraformのバージョンを管理できるツールです。 複数のバージョンをインストールし、適宜バージョンを切り替えることができます。

インストール手順

Homebrewからtfenvをインストールします。

% brew install tfenv 
==> Fetching dependencies for tfenv: grep
==> Fetching grep
==> Downloading https://ghcr.io/v2/homebrew/core/grep/manifests/3.11
...

インストールされたことを確認します。

% which tfenv
/opt/homebrew/bin/tfenv

インストール可能なバージョンを確認します。

% tfenv list-remote
1.6.0-alpha20230802
1.6.0-alpha20230719
1.5.5
1.5.4
1.5.3
...

1.6.0-alphaは避けて最新バージョンをダウンロードします。

% tfenv install 1.5.5

使用するバージョンを設定します。

% tfenv use 1.5.5

念の為、使用されているバージョンを確認します。 *がついているものが現在使用されているバージョンです。

% tfenv list
* 1.5.5 (set by /opt/homebrew/Cellar/tfenv/3.0.0/version)

terraform用のiamユーザを作成する

awsのマネジメントコンソールからiamにアクセスします。 左側メニューから「ユーザー」を押下します。

「ユーザ作成」を押下します。

ユーザ名に自身のわかりやすい名前を入れ、「次へ」を押下します。 今回は、ユーザ名をterraformにしました。

「ポリシーを直接アタッチする」を選択し、「Administrator Access」にチェックを入れ、「作成」を押下します。

「ユーザを作成」を押下します。

ユーザ一覧から、先ほど作成したユーザを選択します。

「セキュリティ認証情報」タブを選択し、「アクセスキーの作成」を押下します。

アクセスキーを作成したら、アクセスキーとシークレットキーをメモしておきましょう。

リソース作成

私自身、terraformを触るのが初めてなので、簡単なリソース作成を試してみます。 今回はs3バケットの作成と、作成したs3バケットに対するputObjectのみをもったiamユーザを作成しようと思います。 作成したコードは、GitHubリポジトリに公開しました。 READMEに記載した手順通りに、実行すると、自身のリソースにs3バケットと、iamユーザの作成が確認できると思います。 s3バケット名等は、duplicateエラーが出ると思いますので、よしなに変更してください。

まとめ

terraformは、HCL(HashiCorp Configuration Language)という独特な文法で記述するため、慣れないうちは大変だなと思いましたが、 直感的に記述しやすく、学習コストの低さと、他人が作成したインフラ環境を簡単に作成できる点が良いなと思いました。 開発している会社は、Vagrant等を開発しているHashiCorp社とのことで、今後の成長に期待ができそうです。