Terraformはクラウドインフラストラクチャの定義、プレビュー、そしてデプロイメントを可能にします。 Terraform を使用する際は、HCL 構文を使って構成ファイルを作成します。 HCL 構文を使用すると、クラウド プロバイダー (Azure など) とクラウド インフラストラクチャを構成する要素を指定できます。 あなたの設定ファイルを作成した後、実行計画を作成します。これにより、インフラストラクチャの変更をデプロイする前にプレビューすることができます。 変更を確認したら、実行プランを適用してインフラストラクチャをデプロイします。
この記事では、Terraform で使用するために Azure に対して認証するオプションについて説明します。
この記事では、次の方法について説明します。
- Cloud Shell の構成
- 現在の Azure アカウントを表示する
- Terraform と Azure の一般的な認証シナリオについて理解する
- Cloud Shell から Microsoft アカウントを使用して認証する (Bash または PowerShell を使用)
- Windows から Microsoft アカウントを使用して認証する (Bash または PowerShell を使用)
- Azure CLI を使用してサービス プリンシパルを作成する
- Azure PowerShell を使用してサービス プリンシパルを作成する
- 環境変数でサービス プリンシパルの資格情報を指定する
- Terraform プロバイダー ブロックでサービス プリンシパルの資格情報を指定する
1. 環境を構成する
- Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
2. Cloud Shell を開く
既に Cloud Shell セッションを開いている場合は、次のセクションに進むことができます。
Azure portal を参照します
必要に応じて、Azure サブスクリプションにログインし、Azure ディレクトリを変更します。
Cloud Shell を開きます。
Cloud Shell をまだ使用していない場合は、環境とストレージの設定を構成します。
コマンド ライン環境を選択します。
3. Azure Cloud Shell に最新バージョンの Terraform をインストールする
Cloud Shell は、Terraform の最新バージョンに自動的に更新されます。 ただし、更新プログラムはリリースから数週間以内に行われます。 この記事では、Terraform の現在のバージョンをダウンロードしてインストールする方法について説明します。
Cloud Shell で使用されている Terraform のバージョンを決定します。
terraform version
Cloud Shell にインストールされている Terraform バージョンが最新バージョンでない場合は、Terraform のバージョンが古くなっていることを示すメッセージが表示されます。
指定されたバージョンを正常に操作する場合は、次のセクションに進んでください。 それ以外の場合は、次の手順に進みます。
Terraform のダウンロード ページを参照します。
Linux のダウンロード リンクまで下にスクロールします。
64 ビット リンクの上にマウスを移動します。 このリンクは、Cloud Shell に適した最新の 64 ビット Linux AMD バージョン用です。
URL をコピーします。
curl
実行し、プレースホルダーを前の手順の URL に置き換えます。curl -O <terraform_download_url>
ファイルを解凍します。
unzip <zip_file_downloaded_in_previous_step>
ディレクトリが存在しない場合は、
bin
という名前のディレクトリを作成します。mkdir bin
terraform
ファイルをbin
ディレクトリに移動します。mv terraform bin/
Cloud Shell を閉じて再起動します。
ダウンロードしたバージョンの Terraform がパスの最初にあることを確認します。
terraform version
4. 既定の Azure サブスクリプションを確認する
Microsoft アカウントを使用して Azure portal にログインすると、そのアカウントの既定の Azure サブスクリプションが使用されます。
Terraform は、既定の Azure サブスクリプションの情報を使用して自動的に認証します。
az account show を実行して、現在の Microsoft アカウントと Azure サブスクリプションを確認します。
az account show
Terraform を使用して行った変更は、表示される Azure サブスクリプション上にあります。 これが必要な場合は、この記事の残りの部分をスキップしてください。
Azure での Terraform のトラブルシューティング
Azure で Terraform を使用する際の一般的な問題をトラブルシュートする