Windows 11 pro に Terraform をインストールする @2025/7/15

記事タイトルとURLをコピーする

こんにちは😸
カスタマーサクセス部の山本です。

Windows 11 pro に Terraform をインストールした際のメモです。

前提

「コンピュータのプロパティ」から以下を確認しました。

  • OS バージョンは Windows 11 pro
  • CPU は AMD

ダウンロード

CPU は AMD なので、右側の AMD を選択します。

Install | Terraform | HashiCorp Developer

展開

解凍したフォルダを適当な場所に配置します。

Powershell を起動し、該当のフォルダに移動して、 terraform と実行するとエラーになりました。

terraform.exe と実行すると実行できます。

cmd /c terraform は実行可能です。

つまり、エイリアスを利用するには cmd に切り替える必要がありそうです。
切り替えると terraform と実行できました。

AWS 認証情報の設定

色々方法がありますが、terraform.tfvars にアクセスキー・シークレットキー情報を格納しました。

aws_access_key_id = AKIAXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = hfhaodfhadkfjhajkdfhladhfldajhfalsdhjfadlf

AWS Provider を使用して東京リージョンに VPC を作成します。

AWS Provider

main.tf

variable "aws_access_key_id" {}
variable "aws_secret_access_key" {}

# AWS プロバイダの設定
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 6.0"
    }
  }
}

provider "aws" {
  region = "ap-northeast-1"
  access_key = var.aws_access_key_id
  secret_key = var.aws_secret_access_key
}

# Create a VPC
resource "aws_vpc" "example" {
  cidr_block = "10.0.0.0/16"
}

terraform apply を実行してみます。

リソースができました。

terraform.tfstate や、.terraform.lock.hcl が作成されています。

  • terraform.tfstate の中身
{
  "version": 4,
  "terraform_version": "1.12.2",
  "serial": 3,
  "lineage": "f352b4ab-99c5-57c4-6647-4c20b012a97d",
  "outputs": {},
  "resources": [
    {
      "mode": "managed",
      "type": "aws_vpc",
      "name": "example",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "arn": "arn:aws:ec2:ap-northeast-1:112233445566:vpc/vpc-00b9b1f2c2e214a62",
            "assign_generated_ipv6_cidr_block": false,
            "cidr_block": "10.0.0.0/16",
            "default_network_acl_id": "acl-08c982ecc5cd0d2c1",
            "default_route_table_id": "rtb-0a4cbccdae00660aa",
            "default_security_group_id": "sg-041e9d0e2d22e1536",
            "dhcp_options_id": "dopt-0ac1e6b7d6816830f",
            "enable_dns_hostnames": false,
            "enable_dns_support": true,
            "enable_network_address_usage_metrics": false,
            "id": "vpc-00b9b1f2c2e214a62",
            "instance_tenancy": "default",
            "ipv4_ipam_pool_id": null,
            "ipv4_netmask_length": null,
            "ipv6_association_id": "",
            "ipv6_cidr_block": "",
            "ipv6_cidr_block_network_border_group": "",
            "ipv6_ipam_pool_id": "",
            "ipv6_netmask_length": 0,
            "main_route_table_id": "rtb-0a4cbccdae00660aa",
            "owner_id": "112233445566",
            "region": "ap-northeast-1",
            "tags": null,
            "tags_all": {}
          },
          "sensitive_attributes": [],
          "identity_schema_version": 0,
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
        }
      ]
    }
  ],
  "check_results": null
}
  • .terraform.lock.hcl の中身
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.

provider "registry.terraform.io/hashicorp/aws" {
  version     = "6.3.0"
  constraints = "~> 6.0"
  hashes = [
    "h1:yaA7q6gSIJaFEtUcrGrjuI8z2wzwBxIyJeCocYiKD2A=",
    "zh:0502dc1889cca94c89bfc00b214970bffa2d81a2cdb55e05ab6192484ddb1532",
    "zh:0a009c6f643410dc29fe2c07aee57e726ac86335fad84788fc7412abbd3a55be",
    "zh:0ddd577e5f23dc0be23b87d62dff1f5694b88b1fbc01bdd3046b4b51cc18a00c",
    "zh:1b2754cb01fa2c1a6a59c4195212f6bd4b3d1602e3f4ffb94ab609e01f2ea11a",
    "zh:2bc0edb35a1411670d74e827db58ef32a07e11757fdaa17934dce5451511e55a",
    "zh:703415b5c58d9232bdb686816e90525dfe96b0a374062bd8e27bec553cac5538",
    "zh:8c4f1f41722aacb4b128dfb269f5b3f0aa1239a5742f22abb012f87095b2244c",
    "zh:9815c0cc480acfef7c9b6b31505070bb0247a0982d98b4b6e51b1923b3a65f7e",
    "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
    "zh:b3563ce1e4c40fa139c045a1db06c3308fcf8aa9722c0a586a18bfbcedc111b5",
    "zh:bbcf01aa5188416cb0f31425c2dfc3a4df41248d4dce9ebab709d416177a3011",
    "zh:bc49559699e6a03ff57675172fc367db9993df74a502e0c6f273127af82990a9",
    "zh:c89bbeee5db6bbe80ce152481b85a4d44b733d7c1e1a37924f36c9cde0b7ce2d",
    "zh:d26793472e127a98dfa5d32a71adc4c960b573afc427604c9815bae9cda31a72",
    "zh:eb8db004ccbf52b3ed8b15189c59560c233abd2c2f5ac5ee68768841c3c8e206",
  ]
}

参考リンク

余談

登山に行こうと思って寝坊したので、近所をランニングしました。
9 km のコースを 5 周したら、まあまあ良い運動になりました。夏は長い距離走るのは大変なので、やるならゆっくり走ろうと思いました。

山本 哲也 (記事一覧)

カスタマーサクセス部のインフラエンジニア。

山を走るのが趣味です。