Azure
.NET 8 の GA が 2 カ月後に迫ってきたこのタイミングで、Azure Functions での .NET 8 向けアップデートが本格的に発表され始めました。そろそろ .NET 6/7 で Isolated を利用しているケースではアップデートを検討しても良いでしょう。.NET 6 の In-Proces…
今年の 11 月にリリース予定の .NET 8 と同時に .NET 向け Azure Functions は、これまでの In-Process モデルから Isolated Worker Process というモデルに統一されるのですが、正直なところ完成度が低いのと In-Process からの移行を全く考慮していない SD…
少し前から Application Insights の Performance を開くと、上部に Code Optimizations というボタンが表示されるようになっています。隣にある Profiler は以前からある機能ですが、Code Optimizations はひっそりと追加された新しい機能となります。あま…
App Service Authentication (Easy Auth) は非常に便利な機能なのですが、Web API をホストしている場合には他のアプリケーションから Service Principal を利用してアクセスしたいことがあります。直近では自分が開発している Key Vault Acmebot というアプ…
Azure Front Door は Azure DNS のような Alias record set に対応したサービスと組み合わせると、Apex ドメインを割り当てて利用することが可能です。もちろん Managed Certificate として必要な証明書も自動で発行されるので HTTPS を無料で有効化できます…
少し前から Azure OpenAI Service に Content filters (Preview) が追加されたからなのか、たまに Chat Completion を使っていると以下のようなメッセージが返ってくることがあります。メッセージ内容から Content filters に引っかかっていることは一発でわ…
ASP.NET (.NET Framework) を利用したアプリケーションで必要になることが多い Session State Provider ですが、今年になってから大規模なアップデートが多いので一通り確認しておきました。現状 ASP.NET 向け Session State Provider は Cosmos DB / SQL Se…
Azure AD B2C を使ってローカルアカウントのサインアップを実装するのが非常に簡単なのですが、用意されているユーザーフローでは登録時に使用したメールアドレスを変更出来ないという問題が出てきます。プロフィールの編集やパスワードのリセット機能はあり…
App Service などに実装されている Easy Auth (Authentication) はアプリケーション側の修正をすることなく、Azure AD や任意の OpenID Connect に対応した IdP を使ったログインを追加できる非常に便利な機能です。各 PaaS / Serverless 系サービスに実装さ…
Build 2023 では珍しく App Service のアップデートもいくつか発表されました。これまでは Build のようなイベントと関係ないタイミングでアップデートが発表されることが多かったので意外でした。とはいえ Build 前に発表されたものが半分ぐらいと、新規の…
先日開催された Microsoft Build 2023 では Azure Cosmos DB の新機能が数多く公開されました。ぶっちゃけかなり大規模な機能追加となっているので、気になる機能は個別に検証しつつまずは全体として NoSQL API に関連するアップデートをまとめることにしま…
先日 Azure App Service の Premium V3 に新しいインスタンスサイズが追加されたことが発表されました。Premium V3 は Premium V2 よりも大きいインスタンスサイズ設定となっていましたが、サイズが拡充されたことでコストパフォーマンスと使い勝手が向上し…
前までは最近は Azure VM を使うことがほぼ無くなっていたのですが、最近は GPU インスタンスが必要なケースで VMSS の利用を検討することが多くなってきたので、VM Image のカスタマイズを自動化する際に役立つ HashiCorp Packer を触っておきました。Azure…
ここ数日の間に App Service の Disaster Recovery Mode が 2025/3/31 で廃止されるというメールが大量に届いていると思います。こういうメールが届くと少し身構えてしまうものですが、そもそも App Service の Disaster Recovery Mode ってなんやねんという…
去年の Build で発表されていた Cosmos DB の Burst Capacity ですが、当時は Private Preview に近い形だったのでサインアップが必要で検証をしていなかったのですが、最近何となくドキュメントを確認するとサインアップの記述が消えていたので試しました。…
App Service で個人的に一番重要な機能は Regional VNET Integration だと考えていて、この機能の追加によってマルチテナントの App Service でもセキュアなアプリケーション構成が組めるようになりました。Regional VNET Integration については既に何回も…
今朝に発表された Terraform Cloud のアップデートで OpenID Connect を利用した認証情報の取得に対応したようです。Dynamic Provider Credentials という名前で紹介されています。GitHub Actions ではほぼ OIDC のみを使うようになりましたが、一番強い権限…
昔にデプロイした Azure App Service の実行基盤はトラディショナルな Cloud Services で構築されているのですが、少し前に Cloud Services ベースで動いていた App Service が VMSS ベースに切り替わっていることに気が付きました。いつかは移行されると思…
Cosmos DB には組み込みで RDB のようにシーケンス番号を生成する機能は用意されていないので、基本的には GUID / UUID を使うことになるのですが、稀にシーケンス番号が欲しくなることがあります。RDB というか SQL Server の場合は以下のようにシンプルに…
何時から実装されていたのかは分からないのですが、Azure Container Apps の Container Apps Environment 単位でワイルドカードドメインを割り当てることで、Container Apps 単位でカスタムドメインが一括で利用できる機能が追加されています。App Service E…
2022 年も仕事で Cosmos DB と Change Feed を無限に使ってきたので、2022 年最後の日のブログはそれに相応しい Cosmos DB の話題で締めたいと思います。*1何気なく仕事で Cosmos DB と Change Feed を使っていると、時々 Change Feed は変更履歴を別で持っ…
App Service Authentication と ASP.NET を組み合わせて使うと、自動的に Thread.CurrentPrincipal に App Service Authentication で認証したユーザー情報を格納してくれるので、アプリケーション側では Request.IsAuthenticated や User.Identity でログイ…
Preview が公開されてから 1 年以上が経過しましたが、ようやく Azure Functions の Cosmos DB Extension v4 が正式リリースされました。信頼性とパフォーマンスが大幅に改善、更に機能が追加された Cosmos DB SDK v3 ベースになっているので、現在 Extensio…
しばらく前から Azure Functions で Event Hub Trigger と Timer Trigger 以外で Retry Policy を設定している場合に、以下のような警告が起動時に出るようになりました。 [2022-11-19T08:19:24.241Z] Soon retries will not be supported for function 'Fun…
Azure Functions の特徴として各サービスとのバインディングとトリガーの存在があります。Function の実装ではどのバインディングやトリガーを使っているかという情報を Function Host やスケーリングを担うサービスに伝える必要があり、そのためのメタデー…
既に Ignite 2022 が終わってしばらく経ってしまいましたが、App Service 周りで興味深いアップデートがひっそりと行われているので、Ignite の前後に発表された内容を含めて個人的に気になったものだけまとめます。Ignite 2022 に合わせて発表された App Se…
Cosmos DB を正しく利用する上で一番重要となるのがパーティションキーの設計ですが、Cosmos DB には一言でパーティションと言っても論理パーティションと物理パーティションの 2 種類が存在しています。この辺りの話は公式ドキュメントでも軽く触れられてい…
以前に Azurite と Cosmos DB Emulator を使って GitHub Actions / Azure Pipelines でテストを実行する方法を書きましたが、Ubuntu Runner と Service Containers を利用した方法だったので Windows Runner では実質的には使えない方法でした。理由としては…
最近は移行絡みで Azure に ASP.NET アプリケーションを Session State 付きでデプロイすることが多いので、Azure 上で Session State を使う際のベストプラクティスを確認しておきました。この記事で触れるのは .NET Framework の ASP.NET であって、.NET 6…
アプリケーション開発で地味に難しい認証周りですが、Azure の Web Apps / Static Web Apps / Container Apps には認証機能が組み込まれているため、コードを修正することなく追加できるので非常に便利です。既に何回もブログで扱っているので、基本的な使い…