simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

TerraformでAWSのインスタンス管理

そういえばしばらく前にサーバー技術を学ぼうとしたんだっけ
simplestar-tech.hatenablog.com

AWS そういえば触ってたな(3か月前の作業だけど、もう忘れかけている)
simplestar-tech.hatenablog.com

AWS のコンソールページでポチポチクリックしてひな形(AMI)から Linux インスタンスを立ち上げるのもいいけど
会社とか組織で AWS サービスを使うとなるとセキュリティの設定とかについてインフラの人たちがうるさい(外からアクセスできるようにインスタンス作るとすぐ怒られる)
今回はその AWS を安全に立ち上げ、管理するツール Terraform を使ってインスタンス管理をしてみたいと思います。

ここから参考にする記事はこちら
dev.classmethod.jp

手を動かしながら不明点を書き留めていきます。

まず Windows 開発環境で Terraform を使うのでダウンロードしてパスを通します。
www.terraform.io
コマンドプロンプトを開いて terraform コマンドを打って

(base) C:\Users\simpl>terraform --version
Terraform v0.11.7

バージョンを確認できれば Terraform は問題なく機能しています。

あとは適当なワークフォルダを開いて terraform init コマンドを打てば、そのフォルダ内の .tf テキストファイルの中身を読んで処理を始めようとします。
細かい書式を追ってみましょう。

まずはイントロを読みます。
Introduction - Terraform by HashiCorp

基本は全部書いてありますね。
AWSとの連携、各種キーの作成方法まで親切に教えてくれました。以下を読むべし。
www.terraform.io

有効なステータスの access_key, secret_key を指定すれば resource タグで指定した ami と instance_type で私のAWSのEC2インスタンスリストに無名のインスタンスが作成されることを確認できました。
ami の id が無効ってエラーに会いましたが、UIからの新規作成時のリストの Linux の ami の id に書き換えることで無事エラーを解決できました。
ami-e99f4896 をこの日は使った。

terraform destroy で先ほど作ったインスタンスを削除できることも確認しひとまず、インスタンス作る、消すの操作を確認できました。
細かいセキュリティの設定などはおいおい調べていきましょう。

ドキュメントはこちら
www.terraform.io

環境変数にキー情報を埋め込んでもらい、チームで使えるツールにして共有していくのが基本的な使い方となることでしょう。