ピックアップ
Terraformを試した件
Terraform
「テラフォーム」
を使ってみることで、
インフラ構成をコード化するものが、
実際にどのようなものか、
まずは試してみようと思いました。
あくまで、
個人的な備忘録なので、
ChatGPT等に聞きながら、
自分なりに見返したいところだけ、
この記事にメモしてる。
要素メモ
Terraformを使っていく中で、
Provider(プロバイダー)
というのが用語として出てきたので、
そちらについてメモ。
プロバイダーについては、
- Terraformが操作できる外部サービスのこと
- 例:AWS, GCP
- APIを通してリソースを作成・変更・削除する
という認識。
terraform {
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = "~> 2.0"
}
}
}
provider "digitalocean" {
token = var.do_token
}Resource(リソース)
リソースに関しては、
- 作成・管理する対象のこと
- 例:Droplet, VPC, Firewall, Volume
- 宣言的に「こういう状態にしたい」と書く
という認識。
resource "digitalocean_droplet" "web" {
name = "web-1"
image = "ubuntu-22-04-x64"
region = "nyc2"
size = "s-1vcpu-1gb"
}Variable(変数)
変数に関しては、
- 外部から値を渡すための仕組み
- APIトークンやSSH鍵パスなどを安全に設定可能
という認識。
variable "do_token" {}
variable "pvt_key" {}になるが、
実際の鍵情報のファイル名を使うという認識。
Data Source(データソース)
データソースに関しては、
- 既存リソースの情報を取得するための仕組み
- 例:既にDigitalOceanにあるSSHキーを取得してDropletに設定
という認識。
data "digitalocean_ssh_key" "terraform" {
name = "terraform_id_rsa"
}作成した鍵情報のファイル名を使う。
コマンドメモ
プロバイダーの初期化
terraform init作成/変更/削除のプラン確認
terraform plan実際に反映
terraform applyリソース削除
terraform destroy実行時めも
var.do_token
Enter a value: ここにはプロバイダーのトークン(基本プロバイダーのAPIトークン)
var.pvt_key
Enter a value: ここは、秘密鍵情報のパス(~/.ssh/id_rsa)Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: 本当にすべてのリソースを削除しますか?
Terraform は上記に示されているすべての管理対象インフラを削除します。
この操作は元に戻せません。
“yes” と入力したときだけ実行されます。
おすすめ書籍
コメント一覧
コメントはまだありません。




コメントを残す