しばやん雑記

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

Azure

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 のホスト数での課金ではなく、容量課金となっているので頻繁にインスタンスを使い捨てる場合などで、使いやすいこ…

Azure Cloud Services の移行先として Kubernetes + Windows Server Containers を検討してみる

既に Azure Cloud Services をバリバリ使って開発している場合は、そろそろ新しいサービスに乗り換えたいという思いを持っていることが多いのではないかと思います。確かに Cloud Services は純粋な PaaS としての機能は十分ですが、CI/CD も組みにくいし Ro…

Azure のアラートを Azure Functions を使って Slack に投げる

Azure のアラートは前から Webhook での通知に対応しているので、Logic Apps や Flow などで受け取ってあげれば、Slack に簡単に通知できます。単純な通知なら問題ないですが、Slack のもうちょっとリッチな通知を使いたいので、Azure Functions を使って整…

Azure Database for MySQL の SSL 接続が分かりにくい話

Build 2017 で発表された Azure Database for MySQL ですが、デフォルトで SSL での接続のみ許可されるようになっています。基本的に SSL で接続するべきだと思うので、無効化するのはお勧めしません。Azure のドキュメントにも SSL に関する記事がいくつか…

App Service on Linux の最新アップデートと de:code で久し振りにセッションをする話

先週の Build 2017 のキーノートではさらっと触れられてたぐらいですが、かなり大規模なアップデートが行われました。詳細は Azure Blog に AJ 氏が書いてます。AJ 氏とは先月に品川の Microsoft で会って少し話をしました。その来日時の記事が公開されてま…

Azure Cloud Shell に ACS Engine をインストールする

昨日の Build 2017 Keynote で Scott Hanselman がデモをしていた Azure Cloud Shell が、自分のサブスクリプションでもやっと使えるようになったので、最近はまっている ACS Engine をインストールしてみました。前に試した時は Docker を使ってサクッと動…

Azure Container Service の Kubernetes でもスケーリングが可能になっていたので試す

先週の段階では Azure Container Service で Kubernetes を作った場合には、スケーリングが未対応だと Azure Portal に表示されていたのですが、Build に合わせてなのか Kubernetes でも対応されたようです。Azure Container Service を作って Agent を開く…

Azure Container Service で作成した Kubernetes で Cron Jobs を使ってみる

Jobs はいまいち使いどころが分からなかったですが、Cron Jobs はいくらでも思いつくので実際に試しておきました。デフォルトでは有効化されていないので、ドキュメントに従って設定を追加する必要があります。ちなみに Azure Container Service で作られる …

Azure Container Service Engine を使って Windows と Linux が共存する Kubernetes クラスタを作る

Azure Container Service で Managed Disk を使いたいと思って調べていた時に、Azure Container Service Engine のサンプルに引っかかったので、いろいろと調べてました。ちょっと前にオープンソース化された ACS Engine ですが、いい感じに ARM Template を…

AppVeyor から Azure Container Service 上の Kubernetes へ自動でデプロイを行う

これまで AppVeyor と Kubernetes でやってきたことの集大成として、AppVeyor から Azure Container Service 上の Kubernetes への自動デプロイを試してみます。やってきたことは以下のエントリを参照してください。Kubernetes はかなり良いですね。AppVeyor…

Azure Container Service を使って Kubernetes と Windows Server Containers を試してみる

気が付いていなかったのですが、Azure Container Service のオーケストレータとして Kubernetes を選ぶと、Windows が選択できるようになっていたらしいです。もう 2 か月ぐらい前というのが驚きです。まだ Public Preview になってないだろと思っていたら、…

App Service on Linux を Heroku っぽく使う Runtime Stack を作成してみた

App Service on Linux のカスタム Docker Image を利用していると、やっぱり Heroku のように foreman を使ったプロセス管理が使いたくなってきました。Heroku では Procfile をルートに用意しておくと、いい感じにランタイムが読み込んで実行してくれます。…

Azure Storage Queue で遅延キューを利用する

あまり Azure で使っているのを見たことはないのですが、Azure Storage Queue でも指定した時間が経過した後に Dequeue 可能になるようがメッセージを追加することが出来ます。.NET Storage SDK には制約が書いてなかったですが、REST API のリファレンスに…

Azure App Service の認証は POST 時に Referer をチェックしているので注意

Site Extension として公開している phpMyAdmin が何故かボタンなどを押した時に 403 になるという報告があり、App Service チームの人達と調べてました。普段から Edge を使っている自分は再現できませんでしたが、その時に Referer が必要と知りました。最…