Terraform
Terraform Provider for AzureRM のウォッチャーであれば v4 のリリースが近いことを知っていたと思いますが、v3 のリリースノートで v4 での変更点の Opt-in が紹介されてから意外に早くリリースされました。正直なところ目立った新機能とかはなく Provider…
ほぼ Build 2024 直後に公開された機能で、割と今更という感じはあるのですが App Service の Unique Default Hostname がプレビューとなったので試しました。挙動としては Container Apps や Front Door のホスト名に近く、ランダムな文字列 + リージョンが…
Azure Provider に限った話ではないと思うのですが、正直 Azure Provider はリソースの非推奨化が多い気がするので書いています。きっかけとしては直近の Azure Provider の更新で azurerm_static_site は非推奨になって azurerm_static_web_app が追加され…
Azure Front Door は Azure DNS のような Alias record set に対応したサービスと組み合わせると、Apex ドメインを割り当てて利用することが可能です。もちろん Managed Certificate として必要な証明書も自動で発行されるので HTTPS を無料で有効化できます…
今朝に発表された Terraform Cloud のアップデートで OpenID Connect を利用した認証情報の取得に対応したようです。Dynamic Provider Credentials という名前で紹介されています。GitHub Actions ではほぼ OIDC のみを使うようになりましたが、一番強い権限…
App Service と Azure AD B2C というように Azure AD テナントが分かれている場合には、いつも通りの Service Principal を使った方法だと、当然ながらどちらかのテナントしか操作できません。以前書いたように Azure AD B2C 側のアプリケーションを管理しつ…
激しく今更ですが、GitHub Actions の OpenID Connect 対応を利用して Azure リソースや Azure AD 自身へのアクセスを Client Secret 無しで行ってみます。ぶっちゃけ全ては watahani さんのブログを読んでもらえれば良いのですが、少し時間が経過したことも…
最近の Azure AD B2C は組み込みユーザーフローの機能がかなり増えているので、ある程度のことなら Azure Portal からの設定で実現できますが、結局は IEF を使ったカスタムポリシーが必要になるケースも多いです。Azure AD B2C のカスタムポリシーは触った…
未だ個人的な Terraform Provider for Azure AD ブームが続いているので、今回は Azure AD B2C の管理を目的に利用してみます。Azure サブスクリプションが紐づく Azure AD テナントとは異なり、サブスクリプションは持たず独立したテナントとなるので、扱い…
Azure AD 認証と App Service Authentication を組み合わせて、Web App へのログインを行いつつ同時に発行されるアクセストークンを利用して、別に用意された API を実行したいというシナリオが存在します。Microsoft Graph API を呼び出す場合はアプリケー…
Azure AD にアプリケーションや Service Principal を作成すると大体必要になる Client Secret ですが、有効期限を持っているので期限が切れる前に新しい Client Secret を生成する必要があります。昔は無期限で作成することも出来ましたが、今はセキュリテ…
前回は Terraform Provider for Azure AD を使って Azure AD アプリケーションの登録を行って、App Service Authentication への設定まで全て自動化してみましたが、今回は App Service で有効化された Managed Identity に対して特定の API アクセス権を追…
個人的に App Service / Azure Functions で頻繁に使う機能 1,2 位を争うのが App Service Authentication で、Azure サブスクリプションが紐づいている Azure AD テナントのユーザーのみアクセス許可したい場合には、コードの修正なしで Azure Portal から…
Azure 環境での IaC には Terraform をメインで使っていますが、ARM Template や Bicep と異なり Terraform は ARM REST API ベースで構築されているので、新しい機能の場合は Azure SDK を更新しつつ Provider に機能を追加というステップを踏む必要があり…
先日ついに Terraform が 1.0 に到達して GA したというニュースが飛び込んできましたね。個人的には Terraform は 1.0 にならない系のプロダクトだと思っていましたが違っていたようです。Today we are announcing the GA release of #Terraform 1.0. This …
今後も Terraform を使っていくことが多そうですが、状態ファイルの意識した CI / CD パイプラインの作成は地味に手間です。その辺りを簡単にするために Terraform Cloud を試してみました。正直 GitHub Actions や Azure Pipelines で良いと思っていました…
Terraform 定義を書く量が増えてきたので、快適な環境のために Terraform 定義の入力補完が動くように整えることにしました。激しく今更感がありますが、これまで真面目にセットアップせずに使っていました。ARM Template の DSL である Bicep が微妙に注目…
最近は Azure Pipelines だけを使っている GitHub 上のプロジェクトを、徐々に GItHub Actions に移行しています。Azure Pipelines は Approvals や Gates などが便利ですが、OSS で一人開発しているような場合は GitHub Actions に寄せておいた方が都合が良…
Azure の Subscription は割と気軽に作れるので、メータリングを分ける目的などで Subscription を複数使っているケースもあると思います。そういった時には Multiple Provider を使うといい感じに解決できます。公式のサンプルだと AWS のリージョン毎に Pr…
今日 Azure Resource Manager 向けの Terraform Provider の新バージョンがリリースされていたので、リリースノートを眺めていたら Service Tags を取るための Data Source が追加されていました。Service Tags を取るには巨大な JSON を読み取るしかないと…
少し前に Terraform Provider for Azure を 2.0 へアップグレードしようとして、軽い気持ちでバージョンを上げたらいきなりエラーが出たり、terraform plan で予期しない変更が大量に出て心が折れました。即オチ 2 コマみたいなツイートをしてしまうぐらいで…
以前に Terraform と Azure Pipelines を使ってシンプルに App Service を作るのを試しましたが、現実的にはあんな単純な定義で済むはずはなく、開発環境や本番環境といった複数の環境への対応が必要になってきます。実際に Terraform でインフラ周りの管理…
最初から Terraform を使って Azure のリソースを作成できれば問題ないですが、多かれ少なかれ既に手動で作成済みのリソースがあって、それを Terraform 管理下に入れたいケースが多いと思います。既に Azure と Azure Pipelines での Terraform の利用につ…
ぼちぼち ARM Template を JSON で書くのが限界と思い始めてきたので、Terraform を使って Azure リソースの管理をやっていこうという気持ちになりました。Terraform で使われている HCL は JSON で書く ARM Template よりも読み書きがしやすいのと、CI/CD …