しばやん雑記

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

Azure

Azure Web Apps と App Service Plan で CPU メトリックの単位が異なっている話

WebJob のスケーリングを考えてた時に、サイト単位で CPU 使用率が見れないのに不満しかなかったので、落ち着いて調べました。そもそも、思っていたより理解できてませんでした。まずは公式ドキュメントと、Azure 界の抱かれたい男 No.1 のブログを読み直し…

Azure WebJobs のスケーリング方法を考える

効率よく WebJob を使って大量の処理を実行させたいと思ったので、スケーリングさせる方法を簡単に考えました。本当は Service Fabric が向いている気がしますが、プレビューなので WebJob を使います。 Web Apps をスケーリングさせる App Service Plan の…

Azure Web Apps に最新版の Java をインストールする Site Extension を作った

Web Apps には Java 7 と 8 がインストールされていますが、最近はあまりランタイムのアップデートが行われておらず、世界の No.1 ことぶちぞうさんが色々やってますが、どうも時間がかかりそうです。[Java] Current Java runtime version include many secu…

Azure Web Apps に追加された Local Cache を紐解く

以前に書いたことがある Web Apps の Local Cache について、やっと公式ドキュメントが用意されていることを Azure 界の抱かれたい男 No.1 に教えてもらいました。Azure App Service Local Cache Overview https://t.co/fFVhBPT3mh しばやんさんんへ— こすも…

App Service Advisor の通知を初めて受け取った話

Azure Portal にログインすると通知が出ていたのでクリックすると、該当する Web App の App Service Advisor に飛んで以下のようなメッセージが表示されました。機能自体は知っていましたが、通知を受け取ったのは初めてなので、おさらい的に調べておきます…

Azure Logic Apps が大幅にアップデートされたので試した

Logic Apps の公式 Twitter アカウントが新しいデザイナーのリリースを教えてくれました。New Designer, Better Deployments. Check out this blog post on how to deploy to the Preview Refresh - https://t.co/jMJGEeoKGm— Azure Logic Apps (@logicappsi…

Application Insights の Proactive Detection を使ってみた

少し前に Application Insights に追加された Proactive Detection がとても気になっていたのですが、今日初めて通知が届いたので簡単にどのような機能なのか紹介しておきます。最初にどのような機能なのか、公式のドキュメントを読んでおいた方が良いですね…

Azure Web Apps でも .NET Framework 4.6.1 と RyuJIT が使えるようになりました

数日前に Web Worker に対して reimage が掛かっていたので気になって調べたところ、.NET Framework 4.6.1 がインストールされていました。調べ方はいつものように reg query を使うだけです。日本語版のドキュメントには .NET 4.6.1 の値が書いていませんで…

Azure Web Apps に足りない MIME 設定を一括で追加できる XDT を作った

昨日 IIS Manager Extension の紹介として JSON の MIME 設定を追加しましたが、折角なので最新の IIS 10.0 で定義されている MIME Map と比較してみました。設定を丸っとコピーしてきて、差分を出してみると結構な差がありました。有名なものを挙げると Web…

IIS Manager Extension を使って Azure Web Apps の IIS 設定を変更する

もう去年の話になりますが、年末の趣味プログラミングとして Web Apps の applicationHost.config を簡単に編集するために、IIS Manager Extension というものを作りました。これまでも Site Extension を使えば XDT 経由で applicationHost.config をある程…

JRuby Extension を使って Azure Web Apps に Ruby on Rails アプリケーションをデプロイする

何回か Azure Web Apps に JRuby をインストールして Ruby on Rails アプリケーションを動かす方法について書いてきましたが、このあたりの面倒な手順を全て Site Extension で吸収することが出来たので、今回は完全版っぽく手順を紹介しておきます。これま…

Azure Web Apps 上で動作しているアプリケーションの監視を行う 2 つの方法

Azure に関わらず Web アプリケーションを運用する上で、当然ながら重要になるのがアプリケーションが正しく動作しているかを監視することです。ちゃんとデータを取りたい場合には New Relic や Application Insights をアプリケーションに組み込んで監視す…

Azure CDN にプリロードが追加されたので試してみた

新しくなった CDN Profile では Purge にやっと対応しましたが、最近のアップデートでキャッシュのプリロードが追加されました。機能としては名前の通り、予めオリジンサーバーから CDN のエッジサーバーへコンテンツをキャッシュさせておくものです。公式ブ…

Azure Logic Apps で日本語が化ける問題について調べてみた

一度でも Azure Logic Apps を使ったことがある人なら、日本語を使うと文字化けすることを知っているかと思います。地味に長く続いている問題で、プレビューリリース後から今まで直っていません。あの有名な縄神様も、日本語というかマルチバイト文字の扱い…

Hubot を Azure WebJobs として実行させてみる

昔に Hubot を Azure Web Apps で実行する方法は書きましたが、今では WebJobs として Hubot を実行出来るようになっていると思ったので、実際に試してみました。そもそも、何故 Hubot を Web Apps で実行したかというと、HTTP を受け付ける必要があったから…

Party Clusters を使って Azure Service Fabric を無料で試す

最新の Service Fabric SDK で ASP.NET 5 を使ったサービスの開発に対応したと知ったので、ちょっとずつ Service Fabric の勉強を始めています。Service Fabric については公式サイトを見てください。Azure Service Fabric | Microsoft Azure開発用にローカ…

Azure Resource Manager テンプレートを使って複雑なリソースをデプロイしてみる

前回で Azure Resource Manager テンプレートの基本的な部分は理解できた感じなので、今回は複数のリソースを含む少し複雑なテンプレートを作成してみます。ARM テンプレートについては前回書いた部分を参照してください。最近は MySQL を Site Extension に…

Azure Resource Manager テンプレートの概要と Web Apps をデプロイする方法を調べた

最近はポータルから Web Apps を作るのに飽きてきたのと、毎回 App Insights が勝手に作成されるのに嫌気がさしてきたので、ARM テンプレートで必要な設定が行われた Web Apps を作る方法を調べました。Azure Resource Explorer は普通に使ってますが、実は…

ExpressWeb から Azure Web Apps への移行方法を考える

激安なのに ASP.NET が使えるレンタルサーバーとして一部で有名だった ExpressWeb が、残念ながらサービスを終了するというメールが届きました。私の TL ではかなり話題になりました。実はちょっと前に shibayan.jp は Web Apps への完全移行を終わらせてい…

MySQL 5.7 を Azure Web Apps にインストールしてみる

こないだ Web Apps の Sandbox について調べている時に、名前付きパイプを使えば MySQL を自前インストール出来るのではないかと思ったので試しました。あくまでも実験なので、プロダクションで動かしてトラブったり、動かなくなったりしても私は知りません…

新しくなった Azure CDN を試してみた

どうやら昨夜は Azure 周りで GA 祭りが行われていたようですね。土下座ポイントも貯まったと聞きます。Azure Update (2015.12.03) | ブチザッキそんな中、Azure 界の抱かれたい男 No.1 かつ、世界の RD こと @kosmosebi に Azure CDN について調べろと脅さ…

細かすぎて知られていない Azure Web Apps / Kudu の機能

これは Azure Advent Calendar 2015 の 3 日目記事です。おーみさんが日付変わると同時に書いていたので、今年のアドベントカレンダーは何か奇跡が起こるのではないかと思っています。私はいつも通り誰も知らないような Web Apps の機能を紹介したいと思いま…

Fastly CDN が便利そうだったので Azure と使ってみた

Fastly | Real-time CDNAzure にも EdgeCast を使った CDN が用意されていますが、未だにキャッシュしたコンテンツの Purge すら出来ないので、150ms 以下という超高速でキャッシュの Purge が可能な Fastly を試しました。Fastly の Instant Purge はとても…

Let's Encrypt を使って証明書を取得したので Azure Web Apps に設定して確認してみた

Let's Encrypt去年から気になっていた Let's Encrypt がクローズドベータになり、申請すれば実際に証明書の発行がテストできると聞いたので、早速申請して証明書の発行を行ってみました。ただし IIS で使う前提です。Let’s EncryptでValidなSSL/TLS証明書を…

Azure Web Apps で環境変数 PATH が変更可能になっていた

久し振りに Kudu の Wiki を眺めていると、XDT のサンプルに環境変数を弄るものがありました。Xdt transform samples · projectkudu/kudu Wiki · GitHubsystem.webServer/runtime 要素で環境変数の追加、変更が可能になっています。XML スキーマが分からない…

Application Insights for Mac を使って iOS アプリケーションに SDK を組み込む

Application Insights を ASP.NET と Xamarin.iOS で使ってきましたが、今回はネイティブな iOS アプリケーションに Application Insights を組み込んでみます。SDK は GitHub で公開されていますが、わざわざダウンロードしなくても Application Insights f…

KuduScript を使って PowerShell 版のデプロイスクリプトを作成する

少し前にカスタムデプロイスクリプトを PowerShell で書き直しました。その時の記事は以下になります。KuduScript をフォークして PowerShell 対応を入れましたが、それだけでは勿体無いと思ったので KuduScript へ Pull Request を投げておきましたが、それ…

OneDrive から Azure Web Apps へデプロイ出来るようになった

Kudu のコミットログを割と眺めているので、OneDrive からのデプロイが実装されたことは結構前から知っていたのですが、やっとポータルから設定可能になったみたいです。ちなみにポータルは怒涛の勢いで更新された結果、被害者を多く出しています。詳細はブ…

Azure WebJobs の開発と運用時に便利な情報をまとめた

Azure WebJobs を利用した開発を行うことが増えてきたので、開発と運用時に便利そうな情報をまとめておくことにします。今回は WebJobs SDK についてはまとめて扱うことにします。今回扱っている内容は以下の通りです。Kudu 側に少し偏っているかもしれませ…

Azure Web Apps 上で動作するアプリケーションのタイムゾーンを設定できるようになっていた

エラー調査のために Kudu 周りを調べていたら、Wiki に Web Apps のタイムゾーン設定が追加されていたのに気が付いたので、実際に設定して試してみました。Kudu の Wiki はちょいちょい更新されているので、ちゃんと確認しておかないといけないですね。Confi…

Azure Web Apps へのデプロイ時に Git のコミットハッシュをアセンブリに埋め込む

Web アプリケーションのフッターに、バージョン情報や Git のコミットハッシュが埋め込まれているのを見ます。ちょっと違いますが、Kudu もコミットハッシュが表示されてます。ASP.NET アプリケーションでも、同じようにバージョンとコミットハッシュを表示…

Kudu のデプロイスクリプトを PowerShell で書き直してみた

Azure Web Apps に Git でデプロイする場合に作られるデプロイスクリプトは、バッチファイルと bash の 2 種類を選択できますが、正直なところ機能不足感が否めません。タイトル通りですが deploy.cmd を PowerShell で書き直しました。これで柔軟に処理が書…

Azure で静的コンテンツを効率よく配信する手順をまとめた

Azure を使って静的なコンテンツを効率よく配信するために、実行するべき手順を 3 つにまとめました。普段は高速な回線で確認しているケースが多いと思うので問題ないように見えますが、油断していると携帯回線で悲惨なことになります。shibayan.jp を PageS…

Azure Web Apps が Go 1.5 に対応していた件と最近のアップデートについて

たまたま Kudu を見たら、Azure Web Apps のインスタンスがリイメージされていたので調べてみると、リリースされたばかりの Go 1.5 がインストールされていることに気が付きました。インストールパスの関係でそのままではエラーになりますが、GOROOT を設定…

日本でも Azure Web Apps の SSL/TLS 暗号スイートから RC4 が削除されました

6 月に発表されていた Azure Web Apps の SSL/TLS 暗号スイートのアップデートですが、やっと日本でも実施されたようです。US のデータセンターでは少し前にアップデートが実施されていました。7/19 から段階的に Azure Web Apps の SSL/TLS 暗号スイートか…

JRuby 9.0.0.0 がリリースされたので Azure Web Apps にインストールして Ruby on Rails を動かしてみた

ちょっと前に JRuby 9.0.0.0 がリリースされていました。Ruby 2.2 との互換性があるようです。JRuby 9.0.0.0 Released — JRuby.orgJRuby を使うと Azure Web Apps でも Ruby on Rails アプリを CRuby な環境よりも安定して動かすことができるので、これまで…

ASP.NET アプリケーションを Azure Web Apps にソース管理からデプロイする時にプリコンパイルさせる方法

Azure Web Apps に ASP.NET アプリケーションを GitHub などからデプロイする場合に、ビューのプリコンパイルを行いたいと思っていましたが、カスタムデプロイスクリプトを書くことで対応できたので紹介します。やはり同じことを考える人は居たようですが、…

Visual Studio 2015 リリース記念イベントで使ったプレゼント応募アプリを支える技術

先日、Visual Studio 2015 リリース記念イベントがニコ生で放送されました。Visual Studio 2015リリース記念 ギークと使い倒すっ 朝まで生放送既に Azure 界の抱かれたい男 No.1 かつ、ブログにまとめる速度 No.1 がブログにまとめてくれてます。Visual Stud…

Azure Web Apps にソース管理からデプロイするとスロット名を環境変数から取れる

何時からか分かりませんが、Azure Web Apps に GitHub などのソース管理からアプリケーションのデプロイした場合、環境変数から現在のデプロイスロットを取得できるようになっていました。App Service Plan を標準にしなくても Production スロットが 1 つ存…

Azure Web Apps で crontab っぽく WebJobs のスケジュール実行が出来るようになっていた

公式サイトでは全く触れられていないっぽいですが、中の人ブログや Kudu のコミットログを見たところ、WebJobs で Azure Scheduler を使わずにスケジュール実行する機能が追加されていました。調べたところ、一応 Kudu の Wiki にひっそりと情報が載っていま…

WebJobs を含むソリューションを Azure Web Apps へソース管理からデプロイする方法

GitHub などのソース管理システムから Web Apps にアプリケーションをデプロイする場合、自動的に Web Apps が認識してくれますが、同時に WebJobs をデプロイするといった機能はありません。実際にドキュメントには Web アプリケーションのことしか書いてな…

Azure Web Apps がクライアント証明書に対応したので自己署名証明書で試してみた

Azure 界の抱かれたい男 No.1 という異名を持ち、ブチザッキを書いている @kosmosebi から、Web Apps がクライアント証明書認証に対応したと教えてもらいました。おおおWeb Appsでクライアント証明書認証きたよ @shibayan— こすもす.えび (@kosmosebi) July …

ARM から設定すると Azure Web Apps で JDK 8 と Tomcat 8 が使えるようになっていた

Azure Web Apps は JDK 7 と Tomcat 7 がインストールされているので、管理ポータルから有効にするだけで Java アプリケーションの実行が出来るようになってます。しかし、実際には JDK 7 以外にもインストールされているので、変更可能です。メジャーな方法…

Azure Application Gateway が公開されたので試してみた

今朝に突然、Azure Application Gateway というサービスが公開されて、GA になってました。プレビューとして公開されることなく GA というのは珍しい気がします。詳細は Azure 界の抱かれたい男 No.1 こと @kosmosebi のブログであるブチザッキに任せるので…

App Service Environment を作成したので Web Apps との違いを調べてみた

公開されてから全く弄ってませんでしたが、検証のために App Service Environment を作成してみました。Azure App Service Environment がプレビュー公開されました - しばやん雑記作成時の記述通り、確かに 2 時間近くかかりましたが作成完了しました。これ…

Xamarin.iOS でも Application Insights を使ってみる

最近は @normalian が Application Insights SDK for Java を弄っていたので、何となく iOS で Application Insights SDK を使ってみようと思いました。ちゃんと Microsoft から iOS 向けの SDK が公開されています。Microsoft/ApplicationInsights-iOS · Gi…

7/19 から段階的に Azure Web Apps の SSL/TLS 暗号スイートから 3DES と RC4 が削除される

昨日ぐらいから Azure Web Apps を使っている人には以下のようなメールが届いているはずです。7/19 から段階的に SSL/TLS の暗号スイートが更新されることを伝える内容です。殆どの場合には影響を受けることは無いと思いますが、具体的にはどう変わるのか気…

Azure Web Apps は Memcache プロトコルをサポートしてるけど知られてないっぽい

最近はキャッシュとして Redis Cache を使うことが多いですが、何故か Azure Web Apps では Memcache プロトコルで Redis Cache を使えるようになってます。Memcache プロトコルを経由して Azure App Service の Web アプリを Redis Cache に接続するぶっち…

Azure Web Apps の Auto-Healing 機能が簡単に使えるようになっていた

少し前、Azure プレビューポータルに Troubleshoot という項目が増えているのに気が付きました。内容から見て Support Site Extension へのリンク集という感じですが、一番下にある Mitigate という機能は記憶になかったので開いてみると、Auto-Healing の設…

Azure Web Apps 上で JRuby を使って Redmine 3.0.3 を動かす

昨日の記事で Azure Web Apps でも JRuby をインストールして Rails 4 を動かすとこまで出来たので、今日は Redmine 3.0.3 をインストールしてみました。以前に Redmine 2.5 をインストールしたことはありましたが、デプロイスクリプトの実行に失敗したり不…