初期セットアップ

アカウントのセットアップ

Terraformを使用してインフラストラクチャを管理するには、まずクラウドプロバイダーのアカウントと、必要に応じてTerraform Cloudのアカウントをセットアップする必要があります。
最終更新: 2026/2/3

アカウントのセットアップ

Terraformを使用してインフラストラクチャを管理するには、まずクラウドプロバイダーのアカウントと、必要に応じてTerraform Cloudのアカウントをセットアップする必要があります。

Terraformの利用形態

Terraformには主に2つの利用形態があります。

1. Terraform CLI(オープンソース版)

ローカル環境やCI/CDパイプラインでTerraform CLIを直接使用する方法です。

特徴:

  • 無料で利用可能
  • ローカルまたはセルフホストのバックエンドで状態管理
  • 小規模なプロジェクトや個人利用に適している

必要なもの:

  • Terraform CLIのインストール
  • クラウドプロバイダーのアカウント
  • 状態ファイルの保存場所(ローカルまたはリモートバックエンド)

2. Terraform Cloud / Terraform Enterprise

HashiCorpが提供するマネージドサービスです。

特徴:

  • チームでの協調作業に最適
  • リモート実行環境
  • 状態管理とロック機能
  • VCS(Version Control System)との統合
  • ポリシー管理(Sentinel)
  • プライベートレジストリ

料金プラン:

  • Free: 小規模チーム向け(最大5ユーザー)
  • Team: チーム向け有料プラン
  • Enterprise: 大規模組織向け
Terraform Cloudの詳細については、公式サイトをご参照ください。

クラウドプロバイダーのアカウント準備

Terraformでインフラを管理するには、対象となるクラウドプロバイダーのアカウントが必要です。

AWS (Amazon Web Services)

必要な準備:

  1. AWSアカウントの作成
  2. IAMユーザーの作成
  3. アクセスキーとシークレットキーの取得
  4. 適切な権限(IAMポリシー)の付与

推奨される権限設定:

  • 本番環境: 最小権限の原則に従い、必要な権限のみを付与
  • 開発環境: より広範な権限を付与(例: PowerUserAccess)
アクセスキーとシークレットキーは機密情報です。コードにハードコーディングせず、環境変数や認証情報ファイルを使用してください。

認証情報の設定方法:

# 環境変数を使用
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_DEFAULT_REGION="ap-northeast-1"

または、AWS CLIの設定ファイルを使用:

# AWS CLIの設定
aws configure

Azure (Microsoft Azure)

必要な準備:

  1. Azureアカウントの作成
  2. サービスプリンシパルの作成
  3. 認証情報の取得

認証情報の設定:

# Azure CLIでログイン
az login

# サービスプリンシパルの作成
az ad sp create-for-rbac --name "terraform" --role="Contributor"

Google Cloud Platform (GCP)

必要な準備:

  1. GCPアカウントの作成
  2. プロジェクトの作成
  3. サービスアカウントの作成
  4. サービスアカウントキー(JSON)の取得

認証情報の設定:

# 環境変数でサービスアカウントキーを指定
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"

Terraform Cloudのアカウント作成(オプション)

チームでの協調作業や、リモート実行環境を利用したい場合は、Terraform Cloudのアカウントを作成します。

アカウント作成手順

  1. Terraform Cloudにアクセス
  2. メールアドレスとパスワードを入力してアカウントを作成
  3. メール認証を完了
  4. 組織(Organization)を作成
  5. ワークスペースを作成

組織の作成

組織は、チームメンバーやワークスペースを管理する単位です。

組織名の選択:

  • 会社名やチーム名を使用
  • 一意である必要があります
  • 後から変更できません

ワークスペースの作成

ワークスペースは、Terraformの実行環境と状態を管理する単位です。

ワークスペースの種類:

  • VCS-driven workflow: GitHubなどのVCSと連携
  • CLI-driven workflow: ローカルのTerraform CLIから実行
  • API-driven workflow: APIを使用した自動化
# Terraform Cloudをバックエンドとして使用
terraform {
  cloud {
    organization = "my-organization"
    
    workspaces {
      name = "my-workspace"
    }
  }
}

認証情報の管理

ベストプラクティス

  1. 環境変数を使用: 認証情報をコードに含めない
  2. シークレット管理ツールの活用: AWS Secrets Manager、Azure Key Vault、HashiCorp Vaultなど
  3. 最小権限の原則: 必要最小限の権限のみを付与
  4. 定期的なローテーション: アクセスキーやシークレットを定期的に更新
  5. 監査ログの確認: 不正なアクセスがないか定期的に確認

Terraform Cloudでの変数管理

Terraform Cloudでは、ワークスペースごとに変数を管理できます。

変数の種類:

  • Terraform Variables: Terraformコード内で使用する変数
  • Environment Variables: 環境変数(認証情報など)

機密情報の扱い:

  • "Sensitive"フラグを有効にすることで、UIやログに表示されなくなります

次のステップ

アカウントの準備が完了したら、次はTerraform CLIのインストールに進みましょう。

参考リンク

© 2026 IBM Corporation. Licensed under CC BY 4.0.