株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

Azure 上に Terraform を使って Windows Server 2019 を展開してみる

今回のテーマ

皆さん、こんにちは。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 を起動します。

f:id:networld-blog-post:20200930161415p:plain

 

操作がしやすいよう全画面表示に変更します。

108

 

Github サイトの Terraform レポジトリにアクセスし、Clone&DownloadをクリックしてURLをコピーします。

 

以下のコマンドを実行しダウンロードします。

git clone  https://github.com/terraform-providers/terraform-provider-azurerm.git

480

 

ダウンロード完了したらサンプルファイルが保存されているディレクトリに移動します。

今回利用するテンプレートは、[vm-joined-to-active-directory]です。

684

 

既にテンプレート化されたファイルですので、編集せずにそのまま実行出来るのですが、今回は

Azureリージョンを「West Europe→East US」とOSバージョンを「2016→2019」に変更する

ために以下の3つのファイルを編集していきます。

 

今回は Cloud Shell エディターを利用してファイルを編集します。

816_2

 

編集の行うのは以下の3つのファイル(黄色ハイライト)となります。

Editfiles

 

エディタを利用しして、該当箇所を編集していきます。

main.tf ファイル内の location を「East US」に変更します。

1068

 

2-virtual-machine.tf ファイル内の sku を「2019 Datacenter」に変更します。

1260

 

編集が終わったら、「terrafom init」コマンドを実行します。

これにより Azure でテンプレートをビルドするための条件が Terraform に与えられます。

Init

 

続いて、[terraform plan]を実行します。これにより定義ファイルのエラーチェックならびに期待通りの結果が得られるかどうかを確認する事ができます。

今回のテンプレートでは、展開に必要な以下の3つの変数を入力します。

・admin_password:管理者パスワード
・admin_username:仮想マシンのローカルおよびADの管理者ID
・var.prefex:リソースグループ名など Azure の各リソース名のプレフィックス値となる文字列

 

Plan

 

処理を実行して良いかの確認で「yes」を入力します。

2424

 

Planで問題ない事が確認出来たら、「terraform apply」コマンドを実行します。

これにより実際に処理が行われますので、あとは待つのみです。

テンプレートのREADME通り、展開には20分程で完了しました。

2844

 

画面ショットだけではわかりにくいかもしれませんので実際にコマンドを実行した様子を動画に

まとめていますのでこちらも併せてご覧ください。

 terraform 実行デモ動画   

動作確認

処理完了後、Azure Portalを確認してみると想定通り2台の仮想マシンが作成されました。 

Azure ポータルからリモートデスクトップで接続してみると、ドメイン参加済みのサーバー1台と、Active Directoryドメインコントローラーが正しく構成されておりました。

Image003

まとめ

今回は2台のWindows Server 2019 の仮想マシンを作成し、Active Directoryが稼働する

テンプレートをご紹介しました。

 

TerraformではAzure に限らず他社のクラウドやオンプレミス向けにも豊富なテンプレートが

用意されています。

 

Terraformを利用してシステムの一貫性を保ちつつ複数台を一気に展開する事も可能かと思います。

 

Azureでは今回ご紹介したTerrafom以外にも下記に紹介されているような自動化を支援する

ツールが利用可能となっていますのでお客様のニーズにマッチしたツールをご利用頂ければと

思います。

 

Azure の仮想マシンでインフラストラクチャ自動化ツールを使用する

 

今回も最後まで読んで下さりありがとうございました!

 

記事担当者:津久井