コード書き苦手なおっさんが始めるTerraform + Azure【Global Azure2025版】

1.1K Views

May 10, 25

スライド概要

2025/5/10開催のGlobal Azure 2025 Tokyoのショートセッションでお話しした内容になります。
コード書きを苦手で避けていたアラフィフおっさんがTerraformでAzure Bastionを作ってみたお話です。

※作り始めたら20分ぐらいの枠が必要になってきたので10分のショートセッション枠に収まるように各所削ってます。
オリジナルのロングカット版は別途アップロードしてあります。

profile-image

Microsoft系プロダクトの技術者から始まり、最近はMicrosoft Azure(特にAVD)をメインの取り扱いにしているおじさんSE。 AzureのユーザーグループであるJAZUG主催イベントに比較的よく出没 ※SlideShareから移行して現在はこちら(ドクセル)がプライマリになっています。 Azureのお話以外にも仕事のやり方進め方なども書いていく予定です。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Global Azure 2025 ショートセッション版 ~ コード書き苦手なおっさんが 始めるTerraform + Azure ~ パーソルクロステクノロジー(株) 岩井 大祐(いわい だいすけ) X(Twitter):@iwai_d Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved.

2.

作成者自己紹介と 簡単な会社紹介 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved. 2

3.

作成者自己紹介 • 自己紹介 – 岩井 大祐(いわい だいすけ)/ X(Twitter):@iwai_d – パーソルクロステクノロジー(株)で主にMS系プロダクト、最近は AVDをメインディッシュにAzureを取り扱うおじさんインフラ技術者 – JAZUG関連イベントに割とよく出没、ちょくちょく登壇しております 【https://www.docswell.com/user/dai-peugeot306】 (Slideshareからドクセルに変更してます。Slideshare側は残してありますが未更新) • 好きなもの – ウッドストック (小さきことは美しい……) Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 3

4.

簡単な会社紹介 • パーソルクロステクノロジー(株) – パーソルグループでもの作りに携わるパーソルR&D株式会社、 パーソルテクノロジースタッフ株式会社、パーソルプロフェッショナ ルアウトソーシング株式会社が合併して2023年1月に発足 2024年7月にパーソルプロセス&テクノロジーの一部部門と合併 – 自動車や航空機関連、医療機器やアナログ回路などのモノづくり、 IoTやクラウド、セキュリティなど幅広く、さらに大きな案件にも 対応できる力を持ち、AI系の新規分野なども積極的にやっています ご縁がありましたらよろしくお願いいたします m(_ _)m Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 4

5.

毎度懲りずに【宣伝】…… • FSLogixのGPO設定項目アンチョコ資料、作ってます – MSのlearnとかの日本語資料が少ないので、元々自分や関わっている メンバーがサクッと組める・説明できるようにと作ったシロモノです – Tipsも含めて逐次更新していますのでぜひご活用くださいませ 【https://github.com/Dai-Peugeot306/FSLogix-GPO】 見て下さる方がいるので 3年以上継続中……感謝です Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 5

6.

本日のお題目 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved. 6

7.

今さらながらのネタではありますが…… • 【コード書き苦手なおっさんが始めるTerraform + Azure】と いうことで、今まで極力避けてきたInfrastructure as Code (IaC)の世界に足を踏み入れたので、そこに至る経緯と体験談を お話しします • 内容そのものは多くの方々にとって今さら感あふれるものばかり なので、目新しい技術の話はありません • IaCの世界に踏み込むきっかけの一つや誰かの背中を押すための 材料にしていただければと Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 7

8.

裏事情として…… 今回、5/10(土)のGlobal Azure 2025ショート セッション用のネタとして作り始めたのですが、 思った以上のボリュームになってしまいました こちらの【Global Azure 2025ショートセッション版】 は10分用にざっくり削り込んだバージョンとなります ※フルのロングカット版はドクセルにアップしておきます 【https://www.docswell.com/user/dai-peugeot306】 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 8

9.

今回のきっかけ • TerraformなどIaCでの構築は身の回りで行われていてメリットは 十分承知していたが、現実的問題として中途半端に経験値のある オッサンの場合だと手作業の方が早く、何だかんだカバー できてしまっていたこともあり、優先順位としてはまぁ低かった • お仕事の都合で超特急でのAVD構築を行う必要があり、チームの 1人がTerraformを扱い慣れていて作業一式をコード化してくれ、 Terraformを使って環境構築を行ったがこれが非常に 便利で確実、メリットが大きかった これを機会に自分のモノにしようと改めて思い立つw Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 9

10.

とは言え • コード書きは元々苦手科目で避けていた – 一応、学生時代に授業でC言語とかを触っていたのでコード自体を 読んで何をやっているのかはわかる – 他人様の組んだモノのモディファイ程度ならコードを見て対応できる 子供の頃にBASICで遊んだりとか 雑誌のサンプルプログラムとか写経して動かしたり、変数いじって 遊んではいたので触った経験自体は一応それなりにある……。 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 10

11.

意を決していざ始める。で、何を作りたいのか……? ズバリ、都度再作成できるAzure Bastion環境 • 昨年のJAZUG 14周年記念のやらかし体験談にてAzure Bastionで 無駄遣いをした話をしたが、パブリックIPのBASIC SKUも リタイアになるのでローコストで安全な踏み台環境を作りたい • とは言え、Azure Bastionを毎回作って捨てるのは面倒…… • Terraformの練習を兼ねて作ることに (実用的にもローコストでAzure Bastion運用ができるように) Azureやらかし体験談の話は↓にて https://www.docswell.com/s/dai-peugeot306/K9VG2Y-2024-10-05-170859/1 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 11

12.

いざ実践編 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved. 12

13.

作業用マシンに導入が必要なもの(Windowsの場合) • Azure CLI • Terraformの実行ファイル – 32bit版と64bit版があるが、64bit版の方がトラブルが少なくお勧め あった方が良いお勧めのもの • Visual Studio Code • Visual Studio Code Terraform用拡張機能(HashiCorp純正) – 変数の設定や内容が良くない場合も教えてくれるので 今回のTerraform作成では結構助けてもらった Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 13

14.

写経で動くことを確認し、本命の作成にかかるが…… • 案の定エラー出まくり – 出たエラーを読み解きつつソースを整理していくが、VSCodeの Terraform拡張機能に結構助けられた • 並行してM365 CopilotにAzure Bastionを作成するための Terraformソースをお願いしてみた – 入力したプロンプトにもよるがソースが読めるレベルの人なら結構 助けてもらえるなと思った – 結果としてそのままでは使えなかったが入力するオプション項目など の設定をソースに反映してくれるのはありがたい Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 14

15.

動作するソース構成を作り上げていく • M365 Copilotの出力してくれたソースや他の方の書いたソースも 参考にしつつ改めて整理し、以下のファイルに分けてみた – 【terraform.tfvars】:サブスクIDやリソースグループのコア定義 – 【variables.tf】:作成済み仮想ネットワークなどの定義 – 【main.tf】:作りたいリソースの詳細(今回は以下の3つ) • Azure Bastionの専用サブネット • Azure Bastion用のパブリックIP • Azure Bastion本体 • • 【terraform.tfvars】や【variables.tf】で設定した変数は【main.tf】では【var.<呼び出したいモノ>】で呼び出す Terraformのazurermモジュールを使って呼び出したいものは【azurerm_<呼び出したいもの>】で呼び出す ※ここでもVSCodeのTerraformモジュールがあると呼び出しができるものは 色を変えてくれたり候補を読み出してくれるので非常に助かる Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 15

16.

最終的に…… こんなソースを組んで【Terraform apply】が無事成功 Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 16

17.

実際に作成してみて • 作成/削除およびAzure Bastionも正しく動作した Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 17

18.

実際に作成してみて(2) • Azure Bastionのコストも使った分だけで済み、確実にローコスト 運用ができるようになって無事目的を果たせた やらかし体験談でも書いたが、 このAzureは完全私物の従量課金 環境なので金額が増えると 奥様に怒られる Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 18

19.

実際に使ってみた感想と今後の課題 • Terraform applyを実行して10分程度待っていれば作成/削除が できるのでお気軽にAzure Bastionを作れるようになり、今後他の Azureリソースにも応用ができると少し自信がついた • 色々参考にしながらとは言え、自分の手を汚してTerraformで リソースの作成/削除ができるようになったのは純粋にうれしい • 課題としてはソースが整理し切れていない とりあえず動作するかという観点なので余計な変数やmain.tfに 記述したものも変数化できるかという観点での見直しは必要かなと Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 19

20.

最後に軽くまとめ的なもの • Terraformを使ってAzure Bastionを作成/削除してみました • このテのものになかなか手を出せない方もちょっとしたところから 始め、半日ぐらい格闘してみると意外と何とかなりました • Copilotなどの生成AIの知恵や先人の知恵などチャンスがあれば 教えてもらうだけでもハードルはグンと下がります • 少しでもとっかかりができてわかるようになると他の方のソース 確認など実業務でやれることも増えてくるのではないかと思います Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 20

21.

謝辞 ~ いつもお世話になってる あんなサイトやこんなサイト ~ Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved. 21

22.

いつもいつもお世話になっております • くらう道【 https://www.cloudou.net/ 】 – • ブチザッキ【 https://buchizo.wordpress.com/ 】 – • おなじみコンテナ神宇田さんのブログ。Azureネットワークの聖典 焦げlog(kogelog)【 https://kogelog.com/ 】 – • Azureの更新確認など本家を見る前にざっくりチェックできて感謝 各種WebやX(Twitter) でも情報をいただける 方々のおかげです 改めて感謝! m(_ _)m Made in container【 http://www.syuheiuda.com/ 】 – • AVDに関する情報を探すならまずはココ。完全にAVDの聖典状態 MCPの資格情報、各種ツール類のアップデート情報などがチェックできて感謝 JAZUG【 https://www.facebook.com/groups/jazug/ 】 – 中の人や参加されている皆さまには本当にお世話になっております Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. A ll Rights Reserved. 22

23.

ご清聴 ありがとうございました m(_ _)m Copyright © PERSO L CROSS TECHNOLO GY C O., LTD. All Rights Reserved.