今回のテーマ
皆さん、こんにちは。Microsoft 担当の津久井です。
2019年を迎えてMicrosoft 関連の投稿第1回目は、Azure上で利用できるTerraformを利用して
Windows Server 2019 の仮想マシン展開までの一連の流れを試してみたいと思います。
まず本題に入る前にまずはTerraformに関する概要をご説明します。
Terraformとは
Terraformは単一のテンプレート形式言語 (HashiCorp 構成言語 (HCL)) によるコーディングに
よってインフラストラクチャー全体を構築するツールとなります。
Azureにおいてはリソースグループ、ネットワーク、ストレージなどインフラストラクチャ全体を
コードとして定義し、その内容に沿って展開できる自動化ツールとなります。
インフラ管理者は構成したいインフラの情報を記載した定義ファイルを作成します。
この設定ファイルによって作成された環境は、容易に破壊する事も出来るようになっていますので
開発や検証に必要な環境をわずかなステップで準備出来ます。
今回紹介する作業の流れ
作業の流れとしては以下となります。
・Azure Cloud Shellを利用してGithubからTerraformのサンプルファイルをダウンロード。
・サンプルの定義ファイルを元に、Windows Server2019の展開用に定義ファイルを編集。
・Terraformを実行し、仮想マシンが作成されている事を確認
作業手順
Azure 管理ポータルにサインインし、画面右上のAzure Cloud Shell を起動します。
操作がしやすいよう全画面表示に変更します。
Github サイトの Terraform レポジトリにアクセスし、Clone&DownloadをクリックしてURLをコピーします。
以下のコマンドを実行しダウンロードします。
git clone https://github.com/terraform-providers/terraform-provider-azurerm.git
ダウンロード完了したらサンプルファイルが保存されているディレクトリに移動します。
今回利用するテンプレートは、[vm-joined-to-active-directory]です。
既にテンプレート化されたファイルですので、編集せずにそのまま実行出来るのですが、今回は
Azureリージョンを「West Europe→East US」とOSバージョンを「2016→2019」に変更する
ために以下の3つのファイルを編集していきます。
今回は Cloud Shell エディターを利用してファイルを編集します。
編集の行うのは以下の3つのファイル(黄色ハイライト)となります。
エディタを利用しして、該当箇所を編集していきます。
main.tf ファイル内の location を「East US」に変更します。
2-virtual-machine.tf ファイル内の sku を「2019 Datacenter」に変更します。
編集が終わったら、「terrafom init」コマンドを実行します。
これにより Azure でテンプレートをビルドするための条件が Terraform に与えられます。
続いて、[terraform plan]を実行します。これにより定義ファイルのエラーチェックならびに期待通りの結果が得られるかどうかを確認する事ができます。
今回のテンプレートでは、展開に必要な以下の3つの変数を入力します。
・admin_password:管理者パスワード
・admin_username:仮想マシンのローカルおよびADの管理者ID
・var.prefex:リソースグループ名など Azure の各リソース名のプレフィックス値となる文字列
処理を実行して良いかの確認で「yes」を入力します。
Planで問題ない事が確認出来たら、「terraform apply」コマンドを実行します。
これにより実際に処理が行われますので、あとは待つのみです。
テンプレートのREADME通り、展開には20分程で完了しました。
画面ショットだけではわかりにくいかもしれませんので実際にコマンドを実行した様子を動画に
まとめていますのでこちらも併せてご覧ください。
動作確認
処理完了後、Azure Portalを確認してみると想定通り2台の仮想マシンが作成されました。
Azure ポータルからリモートデスクトップで接続してみると、ドメイン参加済みのサーバー1台と、Active Directoryドメインコントローラーが正しく構成されておりました。
まとめ
今回は2台のWindows Server 2019 の仮想マシンを作成し、Active Directoryが稼働する
テンプレートをご紹介しました。
TerraformではAzure に限らず他社のクラウドやオンプレミス向けにも豊富なテンプレートが
用意されています。
Terraformを利用してシステムの一貫性を保ちつつ複数台を一気に展開する事も可能かと思います。
Azureでは今回ご紹介したTerrafom以外にも下記に紹介されているような自動化を支援する
ツールが利用可能となっていますのでお客様のニーズにマッチしたツールをご利用頂ければと
思います。
Azure の仮想マシンでインフラストラクチャ自動化ツールを使用する
今回も最後まで読んで下さりありがとうございました!
記事担当者:津久井