はじめに
前回の「
Terraformのど基本 - その2」ではTerraformを使用していくにあたってのよく使う基本のコマンドそしてそのコマンドを利用した大きな流れを確認した。
今回は早速Terraformを使ってサンプルでデモと行きたい所だが、まずはその為の下準備をここで行っておきたい。
ちなみにここではAWSを使用してサンプルを作成していく予定である。
準備
まずは何はともあれTerraformのインストールから行っていく。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ brew install terraform | |
# 下記の様にバージョンが表示されればTerraformのインストールはOK | |
$ terraform -v | |
Terraform v0.15.3 | |
on darwin_amd64 | |
+ provider registry.terraform.io/hashicorp/aws v2.70.0 | |
Your version of Terraform is out of date! The latest version | |
is 0.15.4. You can update by downloading from https://www.terraform.io/downloads.html |
続いてはAWS CLIを使える状態にしていく。ここで簡単にAWS CLIについて説明しておきたい。
AWS CLIとは?
一言で言い表すとコマンドでAWSの各サービスを扱う為のツール群である。AWS CLIを用いることによって、GUI上から操作していたものをコマンドに置き換えることが可能となるので、IaC化, DevOpsの流れとも相まってよく使われる様になっている。
AWS CLIのインストール
それではAWS CLIをインストールしていく。AWS CLIにはバージョンが1と2とが存在するが、基本的にはバージョン2をインストールすればOK。
AWS公式のダウンロードページより最新のパッケージのダウンロードを行い、インストーラーを起動しAWS CLIをダウンロードしていこう。リンクはmacOSのものだが、同ページには他のOSに関しても記載があるので都度参照されればと思う。
インストールが完了したら次はインストールの検証を行い、AWS CLIが意図通りインストールされているか、パスとバージョンを確認していく。下記の様なパスとバージョンが表示されればインストールは完了となる。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ which aws | |
/usr/local/bin/aws | |
$ aws --version | |
aws-cli/2.2.3 Python/3.8.8 Darwin/20.5.0 exe/x86_64 prompt/off |
IAMユーザーの作成
既にAWSが使用出来ている時点でrootユーザーのアカウントは作成されているかと思うが、実運用ではrootユーザーを使用するのはベストプラクティスではない為、新規でIAMユーザーを作成してAWSのリソースを扱っていく。
それでは早速新規でIAMユーザーを作成していこう。特に迷う点は無いと思われるが、ユーザー名を入力した後はアクセスの種類を選択する際に
プログラムによるアクセスと
AWSマネジメントコンソールへのアクセスにチェックを入れるのを忘れない様にしよう。
次に
アクセス許可の設定(ポリシーの設定)を行っていく。本来であればグループをまず作成しグループに対してアクセス許可つまりはポリシーの設定を行うことでユーザーを管理しやすくすることが出来る(グループにユーザーを追加していくだけでポリシーが設定されることになる為、IAMユーザーを作成する度にポリシーをバインドするという手間が必要が無くなる)のだがここでは本筋とは少々ズレてしまうので割愛させて頂ければと思う。
運用方法によって変わるところではあると思うが、ここでは一先ず管理者権限である
AdministratorAccess Policyをバインドしておこう。
タグに関しては特にここでは設定する必要が無いので、そのまま確認画面にて設定内容の確認を行いIAMユーザーの作成は完了となる。
ここで1点忘れずに注意しておきたいのが、作成直後に
シークレットキーの情報が記載されたCSVファイルを必ずダウンロードする様にしておこう。(作成直後にしかダウンロードすることは出来ない仕様となっている)ここに記載されているシークレット情報がこの後CLIの設定を行うときにも必要となるからである。
もし万が一ここでダウンロードを忘れた場合は新規でアクセスキーを作成すれば良いだけの話なのでそこまで心配することも無いとは思う。
AWS CLIの設定
それではAWS CLIの設定を行う為の下準備が整ったので、AWS CLIをローカルから設定を行い上記で作成した認証情報を元にAWSのリソースをコマンドライン上から扱えるようにしていく。
aws configureコマンドを用いてAWS CLIをセットアップしていく。デフォルトではAWS CLIは
defaultプロファイルを使用するが、ここでは
--profileオプションを用いて
aws-testという名前を割り当てる。この様に名前を割り当てることで、複数の認証情報と設定を使い分けることが可能となる。
最後に上記で作成した名前付きプロファイルを使用する為、環境変数
AWS_PROFILEを設定しておこう。この設定によりコマンドを叩く際にプロファイルの指定が不要となる。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 参考: https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html | |
$ aws configure --profile aws-test | |
# 表示に従って取得したIAMユーザーの情報を入力 | |
AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE | |
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY | |
Default region name [None]: us-east-1 | |
Default output format [None]: (指定しない場合はデフォルトでjsonが使用される) | |
# 参考: https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-profiles.html | |
$ export AWS_PROFILE=aws-test |
それではget-caller-identityを用いて設定が上手く出来たことを確認する為に承認テストを行って終わりとしたいと思う。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# IAMユーザアクセス権があることを確認 | |
$ aws sts get-caller-identity | |
# 下記の様な認証情報が返却されればOK | |
{ | |
"UserId": "ABCDEFGHIJKLMN", | |
"Account": "123456789", | |
"Arn": "arn:aws:iam::123456789:user/aws-test" | |
} |
まとめ
今回はterraformを使っていく準備段階としてのAWS CLIの設定が主な内容であったが、最初慣れるまではAWS特有の概念などで戸惑うこともあると思うが、大まかな下記の流れを掴んでおくことが重要となる。
- AWS CLIのインストール
- IAMユーザーの作成(ポリシー周りの設定を含む)
- AWS CLIの設定
- 承認テスト
上記の点をざっくりと押さえておけば、後の細かいところはAWSのドキュメントにて詳細を参照していくことで更に理解が深まるハズ。
少々準備に時間を要したが次回はいよいよterraformを使ってサンプルのデモを行っていく。
P. S.
この記事に関する内容の誤りや改善提案などございましたら随時お待ちしております。
コメント
コメントを投稿