しばやん雑記

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

Azure

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 を簡単に取れないの…

Azure Storage の Object Replication (Preview) を一通り試した

Build 2020 で発表はされたものの、全く使える気配がなかった Azure Storage の Object Replication ですが、最近になってようやく有効化されたので調べつつ基本的な機能を試しました。Object Replication は Change Feed と Versioning の上に成り立ってい…

Durable Functions の E2E 分散トレーシングは最高だった話

恐らく最初に話をしてから 2 年近く経過している気がしますが、ついに待望の Durable Functions での E2E 分散トレーシングがプレビューとしてリリースされました。牛尾さんの努力の結晶とも言います。α リリースと言われていますが、現時点での完成度はかな…

Azure CDN / Front Door の Key Vault 証明書を自動更新するツールを作った

Azure CDN と Front Door には DigiCert の証明書を無料で発行して、自動で更新までしてくれる Managed Certificate が用意されていますが、Zone Apex 向けの証明書は対応していません。そのため何処かの CA で証明書を発行し、Key Vault を使って持ち込む必…

Azure Functions でカスタム HTTP ヘッダーや HSTS のグローバル設定を行う

ドキュメント化されていないようですが、Azure Functions でも host.json によるカスタム HTTP ヘッダーの追加と HSTS の設定が行えるようようになっていました。Function App 全体で適用されるので、セキュリティに関係するヘッダーを追加するには最適です…