しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure

Ignite 2024 で発表された App Service / Azure Functions / Container Apps のアップデート

今年はシアトルから変わってシカゴで開催されている Ignite ですが、例によってキーノート開始してすぐに各種サービスのアップデートが発表されましたね。今年も例によって AI 周りの発表が多いのですが、しっかり App Service / Azure Functions / Containe…

Azure Functions が .NET 9 に対応したのでアップグレードする

先週開催された .NET Conf 2024 で .NET 9 が正式リリースされましたが、同じタイミングで App Service と Azure Functions についても .NET 9 GA 版への対応が行われたため、現時点では Flex Consumption 以外で利用可能になっています。Azure Functions チ…

Prompty を C# で扱うライブラリがリリースされたので試した

今年の Microsoft Build で突然 Seth が発表した Prompty ですが、これまで扱いが悩ましかったシステムプロンプト周りを上手く外部ファイルとして扱えるのと、VS Code 拡張を使うとファイルを直接 OpenAI で実行できるのでプロンプトの開発段階から、アプリ…

Azure Functions の Consumption Plan を利用していると稀に 404 が返ってくる問題を直す

タイトルの通りですが、最近 Azure Functions の Consumption Plan を利用しているアプリケーションが、リロードを繰り返すと稀に 404 を返す現象に遭遇しました。この時の 404 はアプリケーションが返しているものではなく、App Service が存在しない場合に…

Microsoft.Extensions.AI のプレビューが公開されたので試した

昨夜 C# 向けの新しい拡張ライブラリとして Microsoft Extensions.AI のプレビューが公開されました。突然出てきた感が凄いですが、個人的には Microsoft.Extensions 名前空間に用意されたライブラリは有用なものが多いので気に入っています。今回は AI 向け…

Azure Cosmos DB for NoSQL の DiskANN Preview が使えるようになったので試した

以前に書いた Cosmos DB の Vector Search サポート検証の続きで、先日 Public Preview となった DiskANN を使った Vector Index を作成してみました。DiskANN は Microsoft Research が開発した、低レイテンシかつコスト効率よく Vector Search を実行する…

2024/10/31 に多くの Azure サービスで TLS 1.0 / TLS 1.1 サポートが廃止されるので対応する

以下で公開されているアドバイザリー通り、今月末の 10/31 に Azure では全体的に TLS 1.0 と TLS 1.1 のサポートが廃止され、11/01 からは各種 Azure サービスを利用するためには TLS 1.2 以上が必須となります。対象となるサービスが非常に多いため、影響…

Application Insights SDK でのパフォーマンスカウンターの収集をオフにする

最近は Log Analytics のコストが高いと言う相談をよく頂くので、本番環境のようにログが多くなるような環境向けにはログレベルの調整やサンプリング、そもそも送信するテレメトリをアプリケーションレベルで減らすと言う対応を提案するのですが、内部で使っ…

Terraform Provider for AzureRM を v4 系にアップグレードする

Terraform Provider for AzureRM のウォッチャーであれば v4 のリリースが近いことを知っていたと思いますが、v3 のリリースノートで v4 での変更点の Opt-in が紹介されてから意外に早くリリースされました。正直なところ目立った新機能とかはなく Provider…

Azure Cosmos DB SDK for .NET を使うと再起動後に常に HTTP Faulted エラーが出るのを回避する

App Service 上に C# と Cosmos DB を使って作ったアプリケーションをデプロイすることは非常に多いと思います。アプリケーションを暫く運用した後に Application Insights を確認すると、以下のような HTTP リクエストが常に Faulted エラーになっているこ…

Dependabot が作成した Pull Request でも Azure Static Web Apps のプレビュー環境が作成されるようにする

以前に書いた通り Static Web Apps と App Service を組み合わせたアプリケーション向けに、GitHub で Pull Request が作成された時にプレビュー用の環境を作るようにして運用しているのですが、これがかなり便利でレビュアーの負荷を下げるのに非常に強力で…

Azure Static Web Apps の公式 GitHub Action でも Federated Credentials を使ってデプロイしたい

Azure Portal から GitHub リポジトリを指定して Static Web Apps を作成すると自動的にワークフローが作成されますが、作成されたワークフローは Deployment Token を使うようになっています。この Deployment Token を使う方法は非常にシンプルで扱いやす…

Azure Container Apps が Key Vault 証明書のインポートをサポートしたので試した

Azure Container Apps がようやく Key Vault に保存されている証明書をインポートして、カスタムドメイン向けの証明書に利用できるようになったので試しました。App Service などではサポートされている機能で、ワイルドカード証明書などが必要な場合に使う…

Azure OpenAI Service Dev Day で LLM / SLM と Azure Functions を活用する話をしました

先週の話になりますが、大手町プレイスで開催された Azure OpenAI Service Dev Day にフロントエンドのスペシャリストである @nahoko_ushiro さんと共同で SLM と Azure Functions の活用について話をしました。コミュニティでの開催という規模ではないなと…

Azure App Service に追加された Unique Default Hostname (Preview) を Bicep / Terraform でも試した

ほぼ Build 2024 直後に公開された機能で、割と今更という感じはあるのですが App Service の Unique Default Hostname がプレビューとなったので試しました。挙動としては Container Apps や Front Door のホスト名に近く、ランダムな文字列 + リージョンが…

Azure Static Web Apps のデプロイに SWA CLI と Service Principal (Federated Credentials) を利用する

Static Web Apps へのデプロイを行う方法としては、公式で提供されている GitHub Action や Azure Pipelines Task を使う方法の他に Static Web Apps CLI を使う方法があります。最近ではビルドをカスタマイズしたいので、あえて Static Web Apps CLI を使っ…

Azure App Service / Azure Functions で Inbound IPv6 (Public Preview) がサポートされたので試した

タイトルの通りですが、少し前に App Service が Public Preview として Inbound IPv6 に対応しました。Build 2023 のタイミングで発表されていた内容なので、結構公開されるまでに時間がかかったという印象です。現時点の制約としてはマルチテナントの App …

Azure Static Web Apps のバックエンド API 側で実際にアクセスされているホスト名を取得する

Static Web Apps には組み込みの Azure Functions や独自の App Service や Azure Functions を /api 以下にリンクする機能があるので、同一ホスト名で SPA と API を動かすことが出来るのが大きな特徴です。同一ホスト上で動いているようにブラウザからは見…

Azure Container Apps で Event Hubs を利用した場合にスケールアウトし続ける問題を直す

タイトルの通りなのですが、Azure Container Apps で Event Hubs からデータを受信する処理を Dapr と KEDA を使って実装した場合に、何故か常に最大までスケールアウトし続けてしまう問題に遭遇しました。調べたところ Issue が上がっていて、同様の問題に…

Azure Cosmos DB for NoSQL でサポートされた Vector Search (Preview) を試した

Build 2024 で発表された Cosmos DB のアップデートの中でも注目度の高い Vector Search (Preview) について、実際に試して深堀しておきました。これまで Azure で Vector Search を実行するにはコストが高い割に SLA の低い AI Search を使う必要がありまし…

Microsoft Build 2024 で発表された Azure Cosmos DB for NoSQL のアップデート

Microsoft Build 2024 では Serverless Computing 領域で注目度の高いアップデートが多かったですが、Cosmos DB も Generative AI に対応したデータストアとして進化を続けています。昨今は Generative AI を意識したアップデートが Azure 全体的に多いので…

Microsoft Build 2024 で発表された App Service / Azure Functions / Container Apps のアップデート

先週開催された Microsoft Build 2024 は去年同様メイントピックは Generative AI でしたが、Azure Serverless 周りのアップデートが去年以上に発表されました。現地参加ではみたいセッションが被りすぎていてキャッチアップが遅れてしまうことが多いので、…

Azure OpenAI Service の GPT-4o Early Access を REST API と Azure SDK から無理やり使ってみた

昨夜の OpenAI の Spring Update で新しいフラグシップとなる GPT-4o が発表されましたね。かなり応答が高速になっているのに価格も下がっているという革新的なモデルとなっています。GPT-4 Turbo をアプリケーションで利用する上での大きな障害はその応答の…

Azure App Service に pnpm を利用した Node.js アプリケーションをデプロイする

最近は Node.js のアプリケーションを Azure App Service にデプロイする機会がかなり多いので、大体のユースケースには対応できると思っていたのですが、少し前に pnpm を使っているアプリケーションのデプロイが上手くいかないケースに遭遇したのでまとめ…

非推奨となった Terraform リソースからのマイグレーションを安全に行いたい

Azure Provider に限った話ではないと思うのですが、正直 Azure Provider はリソースの非推奨化が多い気がするので書いています。きっかけとしては直近の Azure Provider の更新で azurerm_static_site は非推奨になって azurerm_static_web_app が追加され…

Azure Functions の Node.js v4 に追加された HTTP Streaming サポートを深掘りする

Azure Functions の Node.js や Python といった言語ワーカーが動作するタイプでは、これまで HTTP のリクエストとレスポンスを Stream として扱うことが出来なかったので、大容量ファイルのダウンロードやアップロードが効率的に行えないという制約がありま…

独自のバックエンドとリンクした Azure Static Web Apps のプレビュー環境を自動で作成する

Azure Static Web Apps で何も考えずに GitHub で Pull Request を作成すると、標準で提供されているプレビュー環境が自動的に作成されるので便利です。Managed Functions も SWA とセットでデプロイされるので、フロントエンドだけではなくバックエンドも含…

Azure Static Web Apps のデプロイに Static Web Apps CLI を利用する

Azure Static Web Apps へアプリケーションをデプロイする際には GitHub Actions を使うことが多いはずですが、公式で用意されている Action はビルドまで行うように設計されているため、ビルドは自前で行ってデプロイだけを行いたいケースでは若干使いにく…

Azure Static Web Apps のプレビュー環境で Microsoft Entra ID 認証を有効化する

Azure Static Web Apps のプレビュー環境は、GitHub を利用した開発中に Pull Request を作成したタイミングで自動的にデプロイされるので、変更点の動作確認やレビューが行いやすくなる便利な機能なのですが、カスタム認証を使ったアプリケーションでは利用…

Azure Functions の Python V2 と Node.js V4 プログラミングモデルを利用する上での注意点

去年に GA してから時間が経過しましたが、Azure Functions の新しいプログラミングモデル Python V2 と Node.js V4 を使う機会が増えてきて、以前書いたエントリからの更新点も増えたので簡単にまとめます。プレビュー中に書いたエントリは以下になりますが…