しばやん雑記

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

Azure

Azure VM のセルフサービスメンテナンスを実施してみた

2018 年になってすぐに Azure のプラットフォーム側のアップデートという非常に大きなイベントがあります。ホスト OS が Windows Server 2016 ベースになるという話だったので期待してました。日本語の公式ブログで翻訳が公開されているので、まずは読んでお…

ASP.NET Core で Azure AD B2C を使った際に謎のエラーが多発する問題

ASP.NET Core の OpenID Connect Middleware を使って Azure AD B2C なログインを GitHub で公開されているサンプルとほぼ同じように実装したら、よくわからないエラーが多発して困ったという話です。実際に Application Insights からデータを引っ張ってき…

App Service の Japan East / West にも Windows Server 2016 がデプロイされていました

手持ちの App Service を確認したところ、初期に Japan East に作成した App Service が Windows Server 2016 にアップグレードされていました。数日前に Japan West にはデプロイされていたので、Japan East でも開始されたみたいです。ちゃんと Windows Se…

Azure Functions Runtime を Intel NUC にインストールした

自宅で Windows Server 2016 用として動かしていた Intel NUC を流用して、Windows 10 Pro をインストールし直し Azure Functions Runtime の環境に作り変えました。Windows Server 2016 より Windows 10 Pro の方が FCU が扱いやすいので、個人的にお勧めし…

Cosmos DB の SQL クエリパフォーマンスを調査する

仕事で Cosmos DB を使っていますが、最近は RU の消費が気になってきて、実際に投げたクエリがどのように実行されているのか知りたくなったので、例によっておーみさんに聞きました。実行計画とはいかなくとも、非常に参考になるメトリックを返してくれるよ…

Windows Server 2016 になった Azure App Service を試す

GitHub の Issue を眺めていたら、West Central US の App Service には Windows Server 2016 をデプロイしたと書いてあったので、早速新しく Web App をデプロイして試していました。中の人曰く、West Central US をテストの場として使っているみたいです。…

Azure App Service が Windows Server 2016 に段階的にアップグレードされます

12/4 から App Service のホスト OS が Windows Server 2012 R2 から Windows Server 2016 へアップグレードされているらしいです。とはいえ非常にゆっくりロールアウトするらしいので、実際に 2016 なスケールユニットが使えるようになっているかはわかりま…

Azure Functions and Web Jobs Tools のアップデートが失敗するのを直した

Visual Studio 2017 の 15.5 が出たので、やっと Azure Functions の新しいツールがインストール出来ると楽しみにしてましたが、無情にも謎のエラーが出てアップデートできませんでした。インストールの途中ぐらいで以下の画像のようなエラーが出てしまいま…

Premium V2 が選べない App Service Plan が存在する

タイトルの通りですが、大昔に作った Japan East の App Service Plan を何となくスケールさせようかとしたら、Premium V2 がグレーアウトして選べなくなっていました。Premium V2 について知りたい方は、Public Preview の時に書いたエントリがあるので、こ…

Application Insights に Cosmos DB で消費された RUs を送信すると非常に捗った話

仕事で Cosmos DB を使ってアプリケーションを書きましたが、最近はあらかじめ割り当てておいた RU を突き抜けることがあって原因の調査を行っていました。その時に Cosmos DB のメトリックだけではコレクション別でしか RU を確認出来ず、Application Insig…

Azure AD B2C を ASP.NET Core で使うと頻繁にログアウトするのを直す

Azure AD B2C を使ってログイン処理を実装した ASP.NET Core なアプリケーションが、何故か頻繁にログアウトしてしまうので調べてました。これもまた地味にはまったポイントです。とりあえず OpenIdConnect な Middleware のコードを読んで調べました。AAD B…

Azure Container Services (AKS) のデプロイで苦労した話

ここ数日は AKS のクラスター作成と戦っていたので、ARM ベースでいろいろと調べていました。例によって忘れそうなので、ちゃんとメモしておくことにします。AKS の最新情報を知りたければ、GitHub を追っかけておけば OK です。ちなみに以下のエントリで使…

AKS を使って Windows Containers 対応の Kubernetes クラスターを作成する

既にいろんな人が AKS を触っているみたいですが、個人的には Windows や ACI と組み合わせて使いたかったので、まずは Windows 向けクラスターが作成できるのか確認しました。ACS Engine を使って作成していたクラスターの管理が面倒だったので、これを機に…

Cosmos DB では Repository パターンを使うのが楽だった話

Cosmos DB の API は地味にくせがあるというか、コレクション毎の違いは UriFactory のパラメータ以外あまりなくて、大体は同じような処理を書く感じだったので Repository を用意して共通化しました。勿論これが正解とか言うわけではなく、あくまでも一例と…

App Service on Linux を本番環境で運用する際の注意点

最近は App Service on Linux を使った仕事もしていたので、本番環境で使う場合の注意点を簡単にまとめておきます。地味にはまるポイントが多くて忘れそうなので、ほぼ自分用のメモですね。 2 コア以上のインスタンスを選ぶ 1 core 1.75GB の B1 / S1 インス…

Visual Studio Team Services と Web App for Container を使用した ASP.NET Core アプリケーションの CI/CD

最近は仕事で Visual Studio Team Services と Web App for Container を使っていましたが、地味にデプロイ周りで苦労をしたので軽くまとめておきます。デプロイだけでは面白くないので、ASP.NET Core アプリケーションのビルドから行ってみます。Web App fo…

Cosmos DB を利用する上で最初にはまった部分のメモ

Twitter でおーみさんに Cosmos DB についていろいろ聞いたので、忘れないようにメモっておきます。kyrt.in に書いてあればみんな幸せになりそうなんですが、いつ書いてくれるかわからないので。 HTTP GW ではなく TCP Direct を使う デフォルト設定のまま C…

App Service on Linux と Azure Container Registry を使ったデプロイを試したら罠が多かった話

App Service on Linux が GA する少し前に Azure Container Registry を使った自動デプロイが、Azure Portal から簡単に設定できるようになったとブログに上がってました。Azure Portal から Continuous Deployment を On にすると Webhook の設定をしてくれ…

Azure B-Series VM の挙動と CPU クレジットの仕様を確認する

Azure サポートに B-Series の core 申請を投げていたのが通ったので、前回の続きとして実際に B-Series VM を作成して調べてみることにします。基本的な B-Series と t2 に関する違いは前回のエントリを見てください。まずは個人的に AWS でよく使っている …

バースト可能な Azure B-Series と AWS t2 インスタンスを比較する

前に Burstable なインスタンスが予告されてましたが、プレビューでリリースされたようです。大体の Web サーバーや開発用インスタンスでは常に高い CPU パフォーマンスが必要なわけではないので、便利に使えるはずです。実際に AWS では t2 を検証などでよ…

App Service on Linux と Web App for Containers が GA したらしい

発表も突然なら GA も突然な App Service on Linux です。てっきり Ignite 合わせかと思ってましたが、特に何かあるタイミングではない今日に発表とは驚きました。とはいえ、何か機能が追加されたわけではなく GA したという発表だけのようです。同時に謎め…

App Service on Linux に関する最近のアップデートなど

最近は忙しかったのと Windows Containers ばかり弄っていたので遠ざかってましたが、そろそろ App Service on Linux は GA が近くなってきた気がしますね。リージョンは毎週のように増えていますし。というわけで個人的なまとめを少しだけ。気になる部分は…

ACS Engine を使って Dv3 インスタンスベースの Kubernetes クラスタを作成する

Azure Portal から Azure Container Service を作ろうとすると Dv2 までしかインスタンスが選べないので、新しい Nested Virtualization に対応した Dv3 を使ってクラスタを作ることは出来ませんが、ACS Engine を使うと作成することが出来ます。ACS Engine …

App Service Premium V2 が Public Preview になった

あまりアップデートが無かった App Service 周りですが、ここ数日で一気にインフラ周りにアップデートがあって色々と見るのが大変です。割高感しかなかった Premium がついに改善です。Premium V2 自体は App Service Environment で使える Isolated と同じ…

Azure Container Instances の裏側を少しだけ覗いてみる

Azure Container Instances に sshd を有効化したイメージをデプロイすると、当然ながら ssh で接続出来るのでコンテナに関するいろいろな情報を収集できます。とりあえず気になるインスタンスの情報について調べます。まずは CPU 周りから。Intel(R) Xeon(R…

Azure Container Instances を Kubernetes の仮想ノードとして利用できる aci-connector-k8s を試してみた

Azure Container Instances は単体ではオーケストレーターが提供されてないですが、実験的に Kubernetes と連携して利用できる aci-connector-k8s が同時にリリースされています。GitHub でソースコードが、Docker Hub でビルド済みイメージが公開されていま…

Azure Container Instances は Hypervisor レベルでの分離を備えた次世代のコンテナ実行環境

ASE v2 について書いたし、そろそろぶちぞう RD に後のことを任せて寝るかと思っていたら、突然 Azure Container Instances という新しいサービスが発表されました。コンテナと聞いたら寝るわけにはいかないので、例によって興味のある部分だけサクッと試し…

App Service Environment v2 がリリースされたので v1 からの変更点を調べてみた

最近はあまり ASE について興味を持っていなかったのですが、今朝 ASE v2 がリリースされたと聞いたので v1 との違いに注目して調べてみることにしました。ドキュメントは一部更新されているみたいですが、まだまだ足りていない印象です。恐らく詳細に関して…

App Service on Linux が Japan East で利用可能になりました

これまで Southeast Asia が日本から一番近いリージョンでしたが、ついに Japan East に App Service on Linux がデプロイされたので、レイテンシを気にせず使えるようになりました。今までは Japan East / West は割と後回しでしたが、今回は早期にデプロイ…

Application Insights を Elastic Beanstalk にデプロイした ASP.NET アプリケーションから利用してみる

わざわざ Application Insights を Azure 以外から使う理由があるのかと言われそうですが、Application Insights Basic の課金はよくある APM のホスト数での課金ではなく、容量課金となっているので頻繁にインスタンスを使い捨てる場合などで、使いやすいこ…