はじめに
AWSを社内研修で一通り学んで、アウトプットしたく書き始めてます。
Terraformって何か流行ってるみたいだし触ってみようかな、と思いUdemyの講座を参考に勉強していこうと思っています。
Terraformってそもそも何?
インフラ構成をソースコードとして管理できる機能。(infrastructur as Code)
インフラのセットアップが自動化できる。
AWS以外にもGCPやAzureにも対応してる。
Terraformを使って何するか
- EC2を立ち上げ
- セキュリティグループの設定
- ユーザーデータを使ってnginxを自動インストール
- デフォルトVPCにつなぐ
プロバイダの設定
TerraformはGCPやAzure等AWSでも使えるので、使うプラットフォームのプロバイダを使用する。
今回はAWSを使うのでAWSプロバイダを使用。
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
上記の公式ドキュメントからプロバイダの書き方の例を引っ張ってきて自分の環境に合わせてコードを書き換える。
インスタンスリソースを記述
resourceは何かを作り出すための構文。
一行目はaws_instanceを作るよ的なこと。
main.tfを作り下記の項目を埋める。
resource "aws_instance" "this" {
ami = ""←ここにAMIのイメージIDを入力
instance_type = "t2.micro"←インスタンスのスッペク
tags = {
Name = ""←インスタンスの名前
}
}
Terraformの基本コマンドを行う
- terraform init(Terraformを使う準備)
- terraform plan(構築するインフラの確認)
- terraform validate(構文の確認)
- terraform apply(インフラ構築)
- terraform destroy(構築したインフラの削除)
上記のコマンドの実行をインスタンスリソースをファイル(main.tf)に記述し行った。ここではEC2インスタンスを立ち上げた。
基本的にはコードを公式ドキュメントから引っ張ってきて、コマンドで実装の流れだったので下記の項目は割愛します。
- セキュリティグループの設定
- ユーザーデータを使ってnginxを自動インストール
- デフォルトVPCにつなぐ
まとめ
Terraformを使用してのインフラの構築は出来たので、まだまだ勉強しないといけないこともありますがいったんまとめとします。
知識が浅くまとまりがないですがご了承ください。
参考にした講座はこちらです。