しばやん雑記

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

App Service

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 に対応したプロバイダーを追加出来るようになりました。プレビュー公開されたのは数か月前だったのですが、諸々の事情によって動かないパターンのが多かったためお蔵入り状態に…

Azure App Service のネットワーク関連アップデート (NAT Gateway / NSG / Access Restriction)

ASE ではないマルチテナントの App Service では Outbound IP は同じ Stamp に乗っている他の App Service と共有されていて、外部連携などで IP を使ったアクセス制限が必要な場合には若干の問題がありましたが、NAT Gateway を使うことで任意の IP に固定…

Azure App Service の .NET 5 Early Access を一通り試してみた

.NET Conf 2020 で .NET 5 が正式リリースされましたが、同じタイミングで App Service での .NET 5 Early Access 機能が発表され、多少の制約はありますがリリースとほぼ同時に利用可能になりました。App Service Teams のブログと GitHub にドキュメントが…

複数の App Service / Azure Functions へのデプロイを GitHub Actions を使って並列に実行する

少し前に書いたエントリの続きに近い内容ですが、実際に GitHub Actions を使って複数の App Service / Azure Functions へのデプロイを並列実行するという話です。ビルドに関しては並列実行しても効果が薄いケースが多いですが、デプロイは前回書いたように…

Azure App Service の新しい Premium V3 インスタンスが使えるようになった

Ignite 2020 で発表された Premium V3 が最近になってようやく試せるようになったので、気になっていた点を実際にデプロイして一通り試したので残します。9 月末から限られたリージョンでは Azure CLI から試せるようになっていましたが、利用可能なインスタ…

App Service で Let's Encrypt の新しいルート証明書を扱えないのを何とかする

ちょいちょい話題に上がってくる Let's Encrypt のルート証明書が新しくなる件ですが、少し前に 2021/1/11 からに延期となりました。まだ延期の可能性はありそうです。新しいルート証明書は ISRG Root X1 になるので、古い Android などで問題になるようです…

Ignite 2020 で発表された App Service に関するアップデート

Ignite 2020 が始まって、いつも通り Azure Update のフィードが大量に流れてきていますが、App Service 以外にはあまり興味が無いのでいつも通り App Service 周りだけまとめます。App Service のセッションは見当たらなかったですが、Book of News と Upda…

App Service の実行基盤が Cloud Services から VMSS に変更されつつある話(非公式)

Private Endpoint や Azure Functions Premium Plan の検証用に West US 2 に新しくリソースを作成していた時に気が付きましたが、一部のリージョンには Web Worker が Worker Role から VMSS に変更された Scale unit がデプロイされ始めているようです。具…

Easy Auth と Managed Identity を使ってグループ情報でのアクセス制限を行う

App Service の Easy Auth を使うと簡単に Azure AD でログインするアプリケーションが作れますが、Azure AD と連携しているならユーザーのロールを利用した認証が行いたくなるはずです。Security Group をしっかりと使っている場合には、アプリケーション側…

Azure App Service へのカスタムドメイン追加方法が変更されているので注意

何気なく Azure Portal から App Service を開いてみると、カスタムドメインのブレードに見慣れぬ Custom Domain Verification ID という項目が増えていました。一昨日ぐらいまでは出ていなかったので、本当に最近追加されたようです。タイミング的に Build …

Azure Pipelines を利用した App Service へのアプリケーションデプロイ戦略

Azure App Service を使っている場合のアプリケーションデプロイ方法をいろいろと極めておきたいと思ったので、実際に考え付いたデプロイ方法を Azure Pipelines を使って実装してみました。最適な定義になっているかは分からないですし、Azure Pipelines 側…

Azure App Service の Private Link サポートを一通り試した

ちょっと前に SQL Database や Cosmos DB などの Private Link サポートが一気に GA になったタイミングで、新たに App Service の Private Link サポートが Preview になりました。発表の数日前から App Service の Networking 設定に Private Link が増え…

Azure App Service の使い方が変わる Regional VNET Integration が GA に

プレビュー公開されてから 1 年近くが経過して、ようやく App Service の Regional VNET Integration が GA されました。ただし GA は Windows のみとなっているので Linux は未だプレビューのままです。以前からドキュメントには Windows の Regional VNET …

App Service と ASP.NET Core で Application Insights を有効化する方法を整理する

Azure App Service に ASP.NET Core アプリケーションをデプロイする時には、必ず Application Insights を同時に有効化するようにしていますが、有効化の方法として 2 種類が存在しているので軽くまとめておきます。自分でもこのあたりは割と混乱していたの…

Azure App Service (Windows / Linux) に Java アプリケーションをデプロイして動かす簡単な方法

最近 Spring Boot なアプリケーションを Azure App Service にデプロイしてみたら、いつの間にかに Java アプリケーションを動かすのがかなり簡単になっていたのでメモとして残しておきます。今回は Docker Image ではなく JAR をデプロイする方法を使います…

後悔しないための Azure App Service 設計パターン (2020 年版)

Azure App Service (Web Apps) がリリースされて 6 年、情報のアップデートを行いつつ気になった情報は適当にブログに書くという日々ですが、Regional VNET Integration や Service Endpoins が使えるようになって設計に大きな変化が出るようになったのでま…

Deno を Azure App Service (Windows / IIS) で動かしてみた

Twitter で記事が流れてきたり、通知が飛んできたので Deno というランタイムを知ったわけですが、どうやらそのままだと Windows の App Service 上では動かなかったらしいです。App Service はサンドボックス環境で動くので多少制限が厳しいですが、エラー…

Azure App Service の .NET Core 3.1 対応と Azure Functions v3 が Go Live リリース

.NET Core 2.2 と 3.0 の EOL が近づいてきていますが、App Service と Azure Functions は無事に年内に LTS となる .NET Core 3.1 への対応が完了しました。特に 2.2 の EOL は今年中なので、サクッと .NET Core 3.1 へのアップデートを行っておくと良いで…

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

Surface Pro X を買うためにハワイに行ってたのでキャッチアップが遅れましたが、個人的な興味を持っている App Service 周りに関して Ignite 2019 での発表を軽くまとめました。App Service Team のブログに関連するセッションリストが載っているので楽です…

無料で SSL/TLS 証明書が発行できる App Service Managed Certificate がプレビューに

待望の App Service 向けに無料 SSL/TLS 証明書が発行できる App Service Managed Certificate がプレビューとして公開されました。既存の App Service Certificate とは全くの別物です。Azure Updates やドキュメントにあるように、あらかじめカスタムドメ…

Azure App Service の Clone App 機能が Standard でも使えるようになっていた

これまでは App Service の Premium 以上でしか使えなかった Clone App 機能が、いつの間にかに Standard でも使えるようになっていました。ドキュメントの履歴を見る限りでは 6 月ぐらいには Standard でも解放されていたようですが、アナウンスはされてな…

ARM Template を使って Azure Web Apps / Azure Functions の作成と同時に Zip Deploy まで行う

昔から ARM Template では Web Deploy を使ったトラディショナルなデプロイに対応していましたが、ちょっと前に Windows の Web Apps と Azure Functions では Zip Deploy が使えるようになっていたようです。ちなみに Web Deploy を使ったデプロイは、昔か…

App Service へのデプロイ方法を Zip Deploy に制限する

既に Azure Pipelines などを使って自動デプロイの環境を構築している場合は、ほぼ全てで Zip Deploy が使われているはずですが、App Service には FTP と Web Deploy がデプロイ方法として提供されているので、塞いでおかないと Visual Studio から手動デプ…

ASP.NET Core と Azure でアプリケーション設定が破綻しないように管理したい

最近は App Configuration と Key Vault を使っていい感じにアプリケーションの設定を扱う方法をいろいろと考えていましたが、App Configuration を使う必要が本当にあるのかと思い始めたので書き出して整理します。今回実現したい内容は以下の通りになりま…

Azure App Service / Azure Pipelines で .NET Core 3.0 が利用可能になっています

.NET Core 3.0 が GA してから 3 週間近く経ちましたが、ぼちぼち App Service と Azure Pipelines で .NET Core 3.0 が利用可能になってきました。App Service は今のところ Windows のみ対応しています。*1両方のサービスに SDK がインストールされて終わ…

Node.js アプリを Azure App Service へ最適な形でデプロイする

何となく package.json を眺めていて、これまでは devDependencies も含めた形でデプロイしていたことがあったと思ったので、最適なパッケージをビルドしてデプロイする方法を確認しました。実際は Docker Image を Multi-stage build で作成するのと考え方…

Azure Web Apps に VuePress / Hugo を簡単にデプロイ出来るテンプレートを作った

深夜に Twitter で駄弁ってる時に「App Service に用意された仕組みを使えば、いい感じに静的サイトジェネレータを使ったサイトのビルドが行えるのでは?」と思ったので 1 日かけて作ってみました。Firebase Hosting や Netlify と比べると App Service は設…

Azure Pipelines で VuePress のビルドとデプロイを自動化する

これまで Grav を使って shibayan.jp にペライチのコンテンツを配置していたのですが、メンテナンスが面倒だったりパフォーマンスに問題があったので移行を考えていました。そして今日もアップデートが失敗して Composer からやり直しになった結果、三宅さん…