はじめに
初めましての人も、そうでない人もこんにちは!
私は 2026年度からインフラエンジニアとしてキャリアをスタート することになりました!
大学生活ではハッカソンなどで React を中心とした Web 開発 をメインにやってきました。
そんな私がなぜインフラを希望したのか?理由はいろいろありますが――
「就活中にインフラ志望の学生少なくね?」
「若いうちからインフラを実務で学べたら将来的にも強みになるはず!」
……という、ちょっと戦略的(笑)な理由があります。
(これ、半分ネタです。)
もう少し真面目な理由を挙げると、
- 個人で学ぶ難易度はインフラの方が高い(個人の感想)
- 過去に触った AWS が面白かった
- 学生レベルではあるが一旦Web開発以外のスキルを伸ばしておきたい
などの思いがありました。
本題
そんなわけでインフラにやる気はあるものの、インフラ経験はまだ乏しい私……。
そこで、入社後にお世話になるインフラの先輩に「今のうちに何を学んでおくべきですか?」と聞いてみました。
すると、
「Terraform の基礎を触ってみるといいかもね〜」
というアドバイスが!
正直、私の知識は
「AWS とかをコードで自動構築できるやつ」
くらいのもの。
Terraform ほぼ初心者の状態ですが、今回は 実際に手を動かしながら Terraform を使った構築を学んでいきたい と思います!
私の環境
今回は以下の環境で進めていきます!
- OS:MacBook Pro Version26.1
- チップ:M1
準備
まずはTerraformを使えるようにHomebrewを使いインストールしたいと思います!
以下のコマンドをターミナルで実行してください!
brew install terraform
そして念の為インストールされているか確認してみます!
terraform -version
無事にインストールされたみたいです!
実行結果例:
Terraform v1.5.7
on darwin_arm64
次に適当なterraform実行用のフォルダを作成します!
mkdir terraform-github-tutorial
cd terraform-github-tutorial
今回は terraform-github-tutorial というフォルダ名で進めます!
やっていこう!
ファイル作成
それでは準備も整ったので実際にファイルを作成して実行できるようにしていきます!
まずは先ほど作ったフォルダの中に main.tf というファイルを作成します!
拡張子は「.tf」です!
中身
main.tfは以下のようになります!
terraform {
required_providers {
github = {
source = "integrations/github"
version = "~> 6.0"
}
}
}
provider "github" {
## ここは後でトークンを入れる
}
順番に説明していきますね!
terraform {
required_providers { ...
こちらは terraformを使って…のサービスを使いますよ、と宣言 しています!
github = {
source = "integrations/github"
version = "~> 6.0"
}
こちらは Githubを使いますよ。
source は Terraform で GitHub を操作するためのプラグインをどこからダウンロードするかの指定です!
組織名/プロバイダー名 の形式になっていて、今回は integrations/github を使います!
トークン発行
それではGithubを操作するために必要な鍵を発行します!
まずは以下にアクセスして次の手順を実行してください。
https://github.com/settings/personal-access-tokens
-
Generate new token を押す
-
Repository Access: All repositories を選ぶ(自動作成したいから)
-
Permissions を設定
-
Administration : Read and Write
リポジトリ作成、設定変更に必要 -
Contents : Read and Write
初期ファイルを push する場合に必要
-
Administration : Read and Write
この手順が終わったら Generate token を押して作成します!
発行後の設定
発行したら main.tf に戻り以下に注目してください!
provider "github" {
## ここは後でトークンを入れる
}
この後は 2つの方法 を使ってトークンを設定していきます!
方法1(一般的)
ターミナルを開きます。
export GITHUB_TOKEN="ここに発行したtoken"
main.tf
provider "github" {
token = var.github_token
}
variable "github_token" {
type = string
sensitive = true
}
terraform.tfvars
github_token = env("GITHUB_TOKEN")
普通はこの書き方になると思います!
方法2(非推奨)
provider "github" {
token = "あなたのGitHubトークン"
owner = "あなたのGitHubユーザー名"
}
こちらは方法1よりシンプルではありますが、
直接コードに埋め込むのはセキュリティリスクが非常に高い ので非推奨です。
「セキュリティなんて関係ない!楽な方法で行くぜ!」という人向けですが、責任は持ちません。
実行
以上のどちらかの方法でトークン設定ができたら、以下を実行してください!
terraform init
これはまだ操作できる準備が整っただけです!
ここからリポジトリを作ったりしていきましょう!
リポジトリを一個作る!
それでは main.tf に以下のコードを追加してください!
resource "github_repository" "sample_repo" {
name = "terraform_sample_repo"
description = "サンプルです"
visibility = "private"
}
こちらは
- resource "github_repository":Terraform に対して GitHub にリポジトリを作れという命令
- "sample_repo":Terraform の中で使う名前
- description:説明文
- visibility:公開/非公開の設定
ということになります!
リポジトリを作ろう!
設定が終わったら、まず以下を実行します!
terraform plan
大量の文字が出てきて焦るとは思いますが、
落ち着いてみてみると「このコードを実行した時に起こること」が表示されているだけです!
そして確認したら次を実行します。
terraform apply
Do you want to perform these actions? と出るので yes と入力し、Enter!
しばらくすると…
無事に作成できました!
実際リポジトリの中をみると、皆さんが見知った画面が表示されます!
おわりに
今回の記事はいかがだったでしょうか?
もし皆さんがハッカソンに参加したら
「インフラは Terraform を使って自動化してます(キリッ)」
と言えたら、ちょっとカッコよく聞こえますよね!
もっと使いこなせるように頑張っていきたいです!
皆さんもぜひ一度は経験として使ってみてはいかがでしょうか?
またどこかの記事でお会いしましょう!

