しばやん雑記

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

Azure

GitHub Actions / Azure Pipelines 上での .NET Core アプリケーションのビルド時間を短縮する

最近は Azure DevOps で開発していたアプリケーションを GitHub に移行しつつ、ビルドとデプロイ周りを Azure Pipelines から GitHub Actions に切り替えていたのですが、アプリケーションのビルドに時間がかかっていたので短縮するために色々と作業をしまし…

Synapse Link for Cosmos DB が Synapse SQL Serverless から使えるようになったので試した

期待していた Synapse Link for Cosmos DB ですが、これまで Spark でしか扱えなかったのでスルーしていましたが、やっと SQL on-demand や Synapse SQL Serverless と呼ばれるサーバーレスモデルから扱えるようになったので気になった部分を試しました。リ…

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

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

Azure Functions で ReadyToRun を有効化してコールドスタートの高速化を図る

以前に Azure Functions のアップデートで ReadyToRun が使えるようになったと書きましたが、64bit OS 上では win-x64 向けの ReadyToRun コンパイルしか行えなかった問題が直ったので真面目に計測しました。ReadyToRun の説明は既に何回か書いたので省略し…

App Service から Azure Monitor Private Link Scope 経由で Application Insights を利用する

先日 Workspace ベースの Application Insights を弄っていた時に Network Isolation という設定が目に入り、そういえば Private Link Scope ってよく分かっていないと思ったのでデプロイして試しました。単純に Azure Monitor へのアクセスを Private Endpo…

既存の Application Insights を Workspace ベースに移行した

これまでのリソースが Classic 扱いになって今後が気になる Application Insights ですが、実際に Log Analytics Workspace ベースに移行してみないとよく分からないと思ったので、手持ちの Azure Functions と組み合わせて使っていたリソースをいくつか移行…

Azure Data Lake Storage の Query Acceleration が GA になったので試したら最高だった

ブチザッキによると Build 2019 での Mark Russinovich 御大のセッションで発表されていた Blob の内容に対してクエリを実行できる、当時は Quick Query と呼ばれていた機能が Ignite 2020 前に GA していたようです。今年の 5 月ぐらいから名前が Quick Que…

Hack Azure! #3 Catch up Ignite 2020 Azure updates フォローアップ

第 3 回目になりますが、Hack Azure! ということで Ignite 2020 の Azure に関するアップデートについて話す会をやりました。Ignite 2020 開催の 1 週間前という突然の募集でしたが、多くの方に参加いただき感謝です。今回も Q&A を行っていますが、独断と偏…

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…

Azure Functions におけるスケーリングの基本的な考え方

最近は Azure Functions でのスケーリングに関する質問をよくされるのと、自分自身が仕事で効率良くスケーリングが可能な Function 実装を行う必要が多かったのでまとめておきます。今回はスケールアップではなく、スケールアウトの方を指しています。事前に…

Azure Functions におけるロガーの扱いとフィルタの注意点

最近の Azure Functions 開発ではバインディングやトリガーなどに必要なものだけをメソッドのパラメータとして定義して、それ以外は全て DI を使ってコンストラクタから取るようにしていますが、Azure 上のみロガーから Application Insights に送信されない…

新しい Azure Table SDK がリリースされていたので試した

Cosmos DB の Premium Table な SDK を使えと言われ続けてきた Table Storage ですが、予告されていた通りに新しい Azure SDK の仕様に則った専用の SDK が公開されました。Blobs や Queues と同じような API になっているので、特にドキュメントを読まずと…

Visual Studio で Azure Functions を作成すると文字化けする問題を EditorConfig で直す

Visual Studio や Azure Functions Core Tools などで新しい Azure Functions を作成すると、一般的な C# クラスとは異なり UTF-8 BOM 無しのファイルが生成されます。UTF-8 BOM が必要なのかどうかは議論しませんが、C# では UTF-8 BOM が無いとマルチバイ…

Terraform Cloud を使った Azure リソースの管理を試した

今後も Terraform を使っていくことが多そうですが、状態ファイルの意識した CI / CD パイプラインの作成は地味に手間です。その辺りを簡単にするために Terraform Cloud を試してみました。正直 GitHub Actions や Azure Pipelines で良いと思っていました…

Azure AD B2C が MSAL.js v2 に対応したようなので試した

MSAL.js v2 の RTM 時には Azure AD B2C は CORS 周りの機能がデプロイされていないため非対応になっていましたが、既存のテナントへの CORS 対応のデプロイが進められているようです。自分のテナントで使えるようになっていたので試しました。MSAL.js には…

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

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

ASP.NET Core 5.0 に向けて Azure 関連パッケージのアップグレードを行っておく

.NET Conf 2020 の日程も発表されて、既に Daily Build では RC や 6.0 が出ている .NET Core 周りですが、そろそろ 5.0 へのアップグレードに向けた作業を行っておくかーという気分になっています。ちなみに .NET Conf 2020 は 11 月 10-12 日での開催です…

古い WindowsAzure.Storage SDK から新しい Storage SDK (v11 / v12) へ移行する

太古の昔から使われてきた WIndowsAzure.Storage SDK は未だに使えますが、そろそろ新しい SDK (v11 / v12) に移行しておくかという気分になってきたので、実際のプロジェクトで移行を行いました。まだ使っているのかと言われると反論は難しいのですが、Azur…

2020 年 8 月の Azure Functions Live で発表されたアップデート

2020/8 の Azure Functions Live でかなりインパクトの大きいアップデートについて話があったので、触れておきたいと思います。Azure Functions でイマイチだと思っていた部分がかなり改善されているので、今後は使うのが当たり前になりそうな機能ばかりです…

Azure Cosmos DB Serverless が Preview になったので試した

Build 2020 で発表があった Cosmos DB の Serverless がプレビューとして公開されました。Autoscale が 1 時間毎の最大 RU で課金がされるのに対して、Serverless は完全に消費した RU によって課金が行われます。Cosmos DB チームはブログとドキュメントを…

アプリを Azure Government と Azure China に対応させつつ ARM Template でデプロイする

日本在住であれば関わる機会がほぼないと思われる Azure Government と Azure China ですが、OSS で Azure 向けアプリを出していると稀に対応せざるを得ないときがあります。今回は App Service と Key Vault の Acmebot で対応する機会がやってきました。普…

Azure Functions (Premium / ASP) から Private Endpoint を使う際に必要な設定

Twitter にて SQL Server と金麦で有名なムッシュが Premium Plan で WEBSITE_VNET_ROUTE_ALL が使えないと呟いていて、いろいろ気になったので環境を作って試してみました。WEBSITE_VNET_ROUTE_ALL は Private Link や Route Table などを使う際に必要とな…

無料バウチャーがあったので AZ-204 / AZ-400 を取得した

去年開催された Ignite The Tour に参加すると、認定試験が無料で受けられるバウチャーが配られていることに気が付いたのと、AZ-204 を取っておいた方が良い状況だったので受けてみました。バウチャーの使い方とかは以下のドキュメントを参照してください。…

Hack Azure! #2 Ask the Geeks - Cosmos DB 編フォローアップ

先週の木曜に "Hack Azure! #2 Ask the Geeks - Cosmos DB 編" と題して、Microsoft Corp の勇さん・ちょまどさん・Azure MVP の三宅さん・大平さんと自分の 5 人で Cosmos DB について話す会を行いました。今後も #HackAzure ということで Synapse Analytic…

2020 年 10 月に既存の Azure Functions v2 は v3 (.NET Core 3.1) に更新されます

Azure Functions v2 もサポートが継続されるみたいな話を見た気がしますが、既存の Function v2 は使用している .NET Core バージョンの EOL に伴って v3 にアップグレードされるようです。今年の 10 月に行われる予定のようですが、例によってリージョンに…

みつばたんへの Twitter での Azure / ASP.NET Core アドバイスのまとめ

みつばたんが最近 ASP.NET Core MVC 周りで死ぬほどはまっていたみたいですが、ポートフォリオサイトを作っていたようです。自分は死ぬほどはまっていた時には全くアドバイスしなかったのに、大体動くようになってからアドバイスをするという徳の低いことを…

Azure が提供するデフォルトドメイン名を狙った改ざんについて注意喚起

Twitter でちらほら見かけて自分も軽く反応したんですが、ターゲットが Cloud Services と Traffic Manager だったので多少なりとも書いておいた方が良いかなと思ったので、注意喚起を兼ねて書きます。今回の件を改ざんと書くのは微妙に違う気がしたのですが…

de:code 夏まつり #2 フォローアップ (Azure パート)

昨日の夜に YouTube Live で配信された de:code 夏まつり #2 というイベントに Azure 担当として参加して、なんと!あの超有名な世界のぶちぞう RD と一緒に Azure 最新情報トーク(自称)をしました。ちなみにこのタイトルは某森口さんが付けてくれました。…

Azure Functions に Options のバリデーションを追加する

ASP.NET Core で導入された Options パターンを使ったアプリケーション設定ですが、IConfiguration と DI を導入すれば使えるので最近は Azure Functions の Trigger に関係ない部分で使っています。Azure Functions では IConfiguration を簡単に取れないの…