Azure Static Web Apps を Terraform Cloud で管理する

はじめに 本ブログは Azure の Azure Static Web Apps という PaaS でホスティングしています。 今までは Azure Portal で画面ポチポチしながら設定変更していましたが、なにかあったときに備えてリソースを Terraform で管理するようにします。 いわゆる Infrastructure as Code です。 今回は Azure Static Web Apps の既存リソースを Terraform 構成ファイルに落とし込んで、Terraform 自体を Terraform Cloud に管理してもらう形にします。 どちらかと言うと Terraform Cloud を使う方便だったり。 Azure Static Web Apps 既存リソースの Terraform 化 まず、Azure Static Web Apps のリソースを Terraform で管理できるように構成ファイルを作成します。 事前にプロバイダの設定ファイルを作成してから terraform init しておきます。 terraform { required_version = ">= 0.12" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.0" } } } provider "azurerm" { features {} } そして、staticsite.tf ファイルにリソースの箱だけ用意しておきます。 Azure Static Web Apps のリソースはサイト本体を管理する [azurerm_static_site] と、サイトアクセスに利用するカスタムドメインを管理する [azurerm_static_site_custom_domain] の2種類です。 ...

January 18, 2023 · 3 min · @nnstt1

Terraform で AKS と AGW をデプロイする

前回の投稿で、Terraform を使って AKS で AGIC を動かす際のハマりポイントを紹介しました。 その際はマネージド ID の権限周りの設定がうまくできていなかったのですが、解決方法がわかったので改めて Terrafrom で AKS と AGW をデプロイする書き方を整理します。 デプロイパターン まず、AGIC から使う前提の AGW を Terraform でデプロイするパターンとしては以下の 2 つが考えられます。 AKS と AGW を個別にデプロイ AKS デプロイ時に AGW も作成 それぞれについて、Terraform の書き方とデメリットについて説明します。 前提条件として、以下のリソースは既に存在しているものとします。 リソースグループ VNet AKS 用 サブネット AGW 用 サブネット AKS と AGW を個別にデプロイ PIP AKS と AGW を個別にデプロイするパターンでは、Public IP も作成する必要があります。 resource "azurerm_public_ip" "pip" { name = local.pip_name resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location allocation_method = "Static" sku = "Standard" } AGW 次に、PIP に依存する形で AGW を作成します。 今回作成する AGW では、HTTP で受けたリクエストを HTTPS へリダイレクトさせます。 redirect_configuration ブロックでリダイレクト先の HTTPS リスナーを指定し、request_routing_rule ブロックの HTTP ルーティング規則 でリダイレクト設定を指定します。 ...

November 2, 2022 · 5 min · @nnstt1

Terraform で AGIC を使おうとしてハマった

Terraform を使って Azure Kubernetes Service (AKS) で AGIC を動かす機会があったので、ハマりポイントを記録しておきます。 AGIC とは Application Gateway Ingress Controller (AGIC) は、Azure ネイティブの L7 ロードバランサ Application Gateway を利用した AKS で動作する Ingress Controller です。 AGIC を使うことで、AKS で Application Gateway の機能(URL ルーティングや TLS 終端)を使うことができます。 また、AKS クラスタ外の Application Gateway がオートスケールするため、トラフィックの増減に対してクラスタでのリソース消費がありません。 この機能を使うためには、Azure に AKS と Application Gateway、そして Public IP のリソースをデプロイする必要があります。 Terraform から Application Gateway を作成する方法として 2 パターンあります。 Application Gateway と Public IP のリソースタイプを指定する AKS のリソースタイプで Application Gateway を指定する ちなみに、利用した Terraform のバージョンは以下になります(バージョン古いと怒られていますね…)。 ...

October 25, 2022 · 2 min · @nnstt1

AZ-900 を自宅からオンライン受験してみた

Azure の認定資格 Azure Fundamentals を取得するため、AZ-900 という試験を自宅から オンライン受験 をしました。受験結果は 900/1000 で合格でした。 「AZ-900 に向けてやったこと」と「オンライン受験はどうだったか」を記録するためのポストです。 AZ-900 に向けてやったこと 無料受験のためのバウチャー獲得 通常、 AZ-900 の受験料は \12,500 となっています(2020/8時点)。 ところが、Microsoft が開催しているウェビナーに AZ-900 受験用のバウチャー付きのものがあります (こちら など)。 今回は 4 月に開催されたウェビナーに参加してバウチャーを手に入れました。 勉強 試験に向けた勉強は以下を実施しました。 ウェビナー ウェビナーは先のバウチャー付きのもので、自分が受講したものは 1 日間の日程でした。 バウチャー目的だったため業務片手間で聞いており、内容はあまり頭に入ってこなかったです。 ウェビナーもしっかり聞いておいたほうが理解度が上がった気がします。 Microsoft Learn Microsoft Learn に AZ-900 向けのラーニングパスがあります。 今回はラーニングパスを 1 巡しました。 ほとんどが読み物だったのですが、一部パートで実際に Azure を使ったものがあり理解しやすい内容でした。 ただ、文章は機械翻訳のようで読むのに少し疲れました。 参考書 参考書は Amazon で「合格対策Microsoft認定AZ-900:Microsoft Azure Fundamentalsテキスト&問題集」の Kindle 版を購入しました。 当初は参考書は買うつもりはなく、Learn だけで受験する予定でした。 Learn にはセッション毎に確認問題もあるのですが数が少なく、本番の出題形式ともあっていないようだったので不安がありました。 そこで問題集を探したのですが、そもそも AZ-900 向けの日本語書籍が当該参考書しか見つかりませんでした。 問題集として見た場合は問題数が少ないのですが、不安を取り除くためには十分な内容でした。 また、試験直前の再確認として見返すにはちょうどよい分量でした。 オンライン受験はどうだったか 結論から言うと、「自宅からのオンライン受験は快適」です。 当初心配していた 英語監督 の受験でも特に気にする必要がないことが分かりました。 また、オンライン受験特有の事前確認がありましたが、そちらも気にするほどでは無いことが分かりました。 ...

August 15, 2020 · 1 min · @nnstt1