しばやん雑記

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

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

たまたま Kudu を見たら、Azure Web Apps のインスタンスがリイメージされていたので調べてみると、リリースされたばかりの Go 1.5 がインストールされていることに気が付きました。

インストールパスの関係でそのままではエラーになりますが、GOROOT を設定するとちゃんと動作します。

ということで、何時も通りデプロイまで行ってみます。使ったコードは以前の記事と同じです。

go ファイルが存在していると Kudu が自動的にデプロイスクリプトを生成してくれますが、デフォルトだと 1.4.2 が自動的に選択されるので、ポータルから GOROOT を予め設定しておきます。

バージョンの選択は将来的には Node.js と同じような形になるのだと思います。アップデートに期待します。

これで Web Apps にデプロイを行うと、Go 1.5 を使ってビルドが行われます。

デプロイが完了すると、Go 1.5 でアプリケーションが動作しました。正直かなり簡単です。

今回はリイメージのタイミングが良かったのか、ランタイムのインストールが早かったですね。

セッションアフィニティの無効化

ARMExplorer を使って調べている時に clientAffinityEnabled という設定を見つけました。名前からして ARR のアフィニティクッキーを書き出すかどうかだと思ったので、実際に確認してみました。

デフォルトでは true になっているので false にして保存しておきます。

この状態でブラウザを使ってアクセスしてみると、ARRAffinity クッキーが書き出されませんでした。

これまでは Arr-Disable-Session-Affinity という HTTP レスポンスヘッダーを書き出す必要がありましたが、設定を切り替えるだけで対応できるようになりました。ちょっと隠し機能っぽいですが。

関係ないですが Kudu だけではなく ARMExplorer にもアイコンが付いてました。

プレビューポータルのアップデート

Web Apps のプレビューポータルは頻繁にアップデートされていますが、ネットワークに関係する設定がわかりやすくなっていたので紹介しておきます。

ネットワーク関係の機能として VNET / Hybrid Connections / ASE VNET の 3 つが Web Apps に備わっていますが、どういったものなのか簡単な説明付きで設定できるようになってました。

現在の状態がタイルで確認できるのもなかなか良いと思いました。