しばやん雑記

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

App Service

Azure Functions (Windows / Linux) へのデプロイを行う方法と挙動の違いをまとめた

最近は Visual Studio 2022 + C# 以外で Azure Functions を作成することが増えてきました。その場合は主に Visual Studio Code を使ってプロジェクト作成からデプロイまで行うのですが、Azure Functions を実行する OS とデプロイに利用する方法で若干挙動…

Azure App Service の Regional VNET Integration が Basic SKU でも利用可能に

これまで実質的に Premium V2 / V3 が必要だった Regional VNET Integration が Basic でも利用可能になりましたが、例によって使えるかどうかはデプロイされている Scale unit に依存するので簡単にまとめます。正確には Regional VNET Integration と Priv…

Azure Cloud Services (Classic) のリタイア予定と PaaS のインフラが VMSS へ移行されている話

PDC 2008 で Azure が発表された時から存在していた純粋な PaaS と言える Cloud Services (Web Role / Worker Role) ですが、ついにリタイアの日程が 2024/8/31 に決まったようです。今では Cloud Services を直接利用しているケースはかなり少ないと思いま…

App Service Authentication と Azure AD B2C の組み合わせでログアウトを正しく実装する

少し前に App Service Authentication が OpenID Connect に対応したので、様々な IdP を利用することが出来るようになりました。Azure AD B2C も OIDC 対応によって正式利用が可能になった IdP の一つです。 ログアウト後のリダイレクト先を指定する App Se…

Azure AD と App Service Authentication を使って Web App と Web API を保護する

Azure AD 認証と App Service Authentication を組み合わせて、Web App へのログインを行いつつ同時に発行されるアクセストークンを利用して、別に用意された API を実行したいというシナリオが存在します。Microsoft Graph API を呼び出す場合はアプリケー…

Managed Identity への Microsoft Graph アクセス権の付与を Terraform Azure AD Provider で行う

前回は Terraform Provider for Azure AD を使って Azure AD アプリケーションの登録を行って、App Service Authentication への設定まで全て自動化してみましたが、今回は App Service で有効化された Managed Identity に対して特定の API アクセス権を追…

Terraform Azure AD Provider を使って App Service の作成と同時に Azure AD 認証を有効化する

個人的に App Service / Azure Functions で頻繁に使う機能 1,2 位を争うのが App Service Authentication で、Azure サブスクリプションが紐づいている Azure AD テナントのユーザーのみアクセス許可したい場合には、コードの修正なしで Azure Portal から…

Ignite 2021 で発表された Azure App Service のアップデート

App Service は Build や Ignite に合わせてアップデートを発表することは少なく、むしろずれて発表することの方が多い傾向にあるのですが、今回はアップデートのまとめブログが公開されていました。先日も Availability Zones 対応が発表されましたが、イベ…

Static Web Apps に追加されたカスタムロールの割り当て機能を試した

Static Web Apps には全てのプランで使える組み込み認証 + ロール管理機能と、Standard 以上で使えるカスタム認証機能がありますが、Azure AD B2C や OpenID Connect Provider を使ったカスタム認証の場合は、ロールは認証済みしか使えなかったので高度なア…

Hack Azure! #7 - 次世代 Serverless アプリケーションアーキテクチャ!フォローアップ

App Service / Azure Functions の Availability Zones 対応が GA となり、今後のアーキテクチャ設計への大きな変化となることは確信していたので、この辺り話したいな思っていたら話すことになったのが今回です。要するに PaaS / Serverless で Availabilit…

Azure Static Web Apps と Front Door の組み合わせが正式にサポートされたので試した

少し前に App Service Authentication と Front Door や Application Gateway を組み合わせた時の問題と解決法を書きましたが、ほぼ同じアーキテクチャの Static Web Apps では当時は回避方法が無く利用困難でした。Static Web Apps はグローバルに分散され…

Azure Front Door や Application Gateway と App Service Authentication を組み合わせて利用する

App Service を利用したアーキテクチャでは、フロントエンドに Front Door や Application Gateway といった L7 のロードバランサーを追加する構成を組むことがそれなりにあります。特に Front Door は CDN と L7 ロードバランサが組み合わされたサービスな…

Azure App Service から Private Endpoint を利用する際の設定がシンプルになった

先日 Azure App Service のゾーン冗長対応を確認していた時に気が付いたのですが Regional VNET Integration を Azure Portal から設定すると、デフォルトで App Service からの Outbound トラフィック全てを VNET にルーティングする設定が有効になっていま…

更に高い可用性を実現する Azure App Service の Availability Zones 対応がリリース

これまで App Service Environment は Availability Zones に対応していましたが、ついにマルチテナント型の App Service でも Availability Zones に対応しました。これで複数のゾーンに分散してアプリケーションをデプロイすることで、マルチリージョンよ…

Azure Front Door Premium から Static Web Apps へのアクセスを Private Endpoint で保護する

少し前に Static Web Apps の Private Endpoint 対応がプレビューとして公開されました。Static Web Apps が GA のタイミングで使えるという話だったのが遅れてリリースされたものになります。Private Endpoint を使うことで Express Route を経由して Priva…

App Service Authentication で Azure AD と Microsoft Account を使ったログインを実装する

App Service Authentication は非常に便利でかなり頻繁に使っていますが、基本はシングルテナントの利用が多く、Microsoft Account を使ったログイン方法に関してはこれまで試したことが無かったのと、NuGet のログイン画面を見て実現方法に興味を持ったので…

Run From Package と Managed Identity を使った App Service / Azure Functions のデプロイ戦略

App Service / Azure Functions のシークレットを安全に扱う際に利用する Key Vault Reference が User Assigned Managed Identity に対応しつつ、Linux 周りであった色々な制限が削除されたのと同時に、突然 Run From Package でも Managed Identity が使え…

Azure App Service の .NET 6 Early Access と Azure Functions v4 の Early Preview が開始

相変わらず Build 2021 といった大型イベントと関係なくアップデートが行われる App Service と Azure Functions ですが、以前にブログで予告されていた通り夏前に .NET 6 Preview 4 と Azure Functions v4 の Early Preview が開始されました。App Service …

Build 2021 付近で発表された App Service 関連のアップデート

今年も Build がオンラインで開催されましたが、例によって Static Web Apps の GA は Build の 2 週間前だし、App Service チームはイベント合わせで新機能のリリースを行わない方向になっているので、あまりキャッチアップする内容はありませんが、細々し…

Hack Azure! #6 - Static Web Apps GA 祭り! フォローアップ

何故か Build 2021 の開催 2 週間前という謎のタイミングで Static Web Apps が GA したので、Hack Azure! #6 として三宅さんを中心に話す会を開催しました。App Service / Azure Functions チームとほぼ同じ中の人なので、リリースをイベントに合わせる必要…

Microsoft Build of OpenJDK を Azure App Service にインストールして動かしてみた

ここ数日盛り上がり気味の Microsoft がビルドした OpenJDK ですが、現状の App Service はバージョンによっては Oracle と Azul が混在しているのが解消されるかと期待しています。まだ Container Image が公開されていないので、アプリケーションで使うに…

Hack Azure! #5 - Geek of Azure Serverless フォローアップ

Ignite 2021 では特にアップデートがなく、なかなか話す機会が無かった Azure App Service や Azure Functions といった代表的な Azure Serverless なサービスについて、Hack Azure! #5 で話をしました。これまでは大体ゲストを呼んで話していましたが、App …

App Service Managed Certificate が Apex ドメインに対応したので試した

Apex ドメインに対応するまでは GA しないオーラが漂っていた App Service Managed Certificate ですが、Ignite 合わせと見せつつ全く関係ない感じで Apex ドメインに対応したと発表がありました。最初に公開されたのが 2019/11 なので非常に長いプレビュー…

障害に強い Azure の運用を考える (2021 年版)

Azure の日本リージョン 7 周年の日に Japan East のストレージ障害が発生するという、なんともアレな出来事がありましたが、障害発生後はアーキテクチャを見直すいい機会だと思うので色々書きます。まだ RCA は公開されていないですが、おそらくぶちぞう RD…

Azure Front Door Premium (Preview) で追加された Private Link 対応を試した

これまで Azure Front Door には SKU が存在していませんでしたが、先週に Front Door に新しく Standard と Premium の SKU が追加されたバージョンが Public Preview として公開されました。事前に REST API リファレンスには登場していたので知っていまし…

Azure App Service の Access Restriction を使って Front Door からのアクセスのみ許可する

ドキュメントを適当に読んでいたところ、App Service の Access Restriction で特定の Front Door からのアクセスのみを許可する方法がプレビューとして記載されていたので、この辺りの確認をしておきました。Front Door のドキュメントにもバックエンドへの…

Azure App Service の新しい Authentication 設定を試した

毎日、何回も Azure Portal から App Service / Azure Functions のブレードを開いているので、新しい項目があればすぐに気が付きます。なので今回の Authentication (Preview) も発見が早かったです。何の変哲もない App Service Authentication (Easy Auth…

Azure App Service と GitHub Actions を使って Pull Request のプレビュー環境を自動で作成する

Azure Static Web Apps がリリースされた時に羨ましかった機能として、Pull Request を作成する度にプレビュー用の環境を自動で作成してくれる、というものがありました。レビュー中に実際のアプリケーションを確認できるのは重要なので、App Service でも欲…

Azure App Service と Regional VNET Integration を使ったセキュアなアプリケーションの実装パターン

2020 年は Azure App Service にとってはネットワーク周りの新機能やアップデートが非常に多い年になりました。そろそろ今年も終わりなので App Service の定石アーキテクチャをアップデートする良い機会です。まずは今年のネットワーク関連アップデートにつ…

App Service Authentication が OpenID Connect Provider をサポートするようになった

タイトルの通り App Service の Authentication (Easy Auth) で OpenID Connect に対応したプロバイダーを追加出来るようになりました。プレビュー公開されたのは数か月前だったのですが、諸々の事情によって動かないパターンのが多かったためお蔵入り状態に…