7月も終わってしまいそう。
つぶやき
Azure Update (2022.07.21)
Inspireですなぁ。(今年のInspireはBook of Newsがないようです)
Microsoft Inspire 2022 Day 1 Keynote
TerraformでWeb Appsにカスタムドメイン名を設定したい
TerraformでAzure App ServiceのWeb Appsにカスタムドメイン名(特にネイキッドドメイン)を設定したい場合、AレコードにIPアドレスを設定する必要がありますが、App Serviceの受信IPアドレスを簡単にとれません。
Azure Resource Manager(ARM)上は一応 inbound_ip_address があるんですけどTerraform上で扱えないんですよね。以前は無理やりoutbound_ip_address (送信IPアドレス)の最初の要素を使ったりしてましたが(受信IPアドレスが最初に入ってた)不確かで実際最近はそんなことはないのでうまく設定できない状況でした。
で、どうしたものか悩んでたら ‘web apps名’.azurewebsites.net を正引きしてIPアドレスを取得すれば確実、ということらしく hashicorp/dns で取得したIPアドレスを使えばいいようです。
resource "azurerm_linux_web_app" "example" { name = "example" resource_group_name = azurerm_resource_group.example.name location = azurerm_service_plan.example.location service_plan_id = azurerm_service_plan.example.id site_config {} } data "dns_a_record_set" "app_ip_address" { host = azurerm_linux_web_app.example.default_hostname } resource "azurerm_dns_a_record" "dns_a" { # ... target_resource_id = data.dns_a_record_set.app_ip_address.addrs[0] }
他にはTraffic ManagerのAzureリソースのエンドポイントでApp Serviceが使えたらそもそもこんな苦労しなくていいのに、とか思いますけど。。
たまにTerraform触るたびにいろいろ嵌りますね。
追記
しばやん氏からのタレコミによるとそもそもAzure REST API Specからしてinbound IP addressは欠落してるぽい。(resource Explorerとかで見るとちゃんとあるのでSpec側のミス)
- Missing readonly `inboundIpAddress` property from Microsoft.Web/sites type definitions · Issue #12974 · Azure/azure-rest-api-specs (github.com)
- azure-rest-api-specs/WebApps.json at main · Azure/azure-rest-api-specs (github.com)
APIの実装って大変ですね
Azure Updates (2022.07.14)
なんだかいろいろ不安な空気ですね。
Azure Updates (2022.07.07)
七夕ですね。
Microsoft MVP for Microsoft Azure
みなさまのおかげで2022年も受賞できました。通算12年目らしいです。
Microsoft Regional Directory のほうは更新時期がよくわからなくなってきた…
Azure Updates (2022.06.30)
半年が終わってしまいますね。
Azure Updates (2022.06.23)
Embedded World 2022がらみの話題が多いかも。
Azure Updates (2022.06.16)
雨時々曇り。