tekitoumemo’s diary

C#、.NET系の技術ブログを書いています。みんなの洋楽ランキングを運営しています。

App Service on Linuxに移行が完了しました

https://i1.wp.com/itnerd.space/wp-content/uploads/2016/11/2016-11-02-14_18_26-Presentation1-PowerPoint.png?resize=624%2C254

みんなの洋楽ランキングをApp Service on Linuxに完全移行しました。やり方は以前書いた記事通りです。
tekitoumemo.hatenablog.com
ちょっと変えた点と言えばnodeのモジュールをGithubに入れたくなかったのでシェルスクリプトにnpm installを追加したぐらいです。

ここでは移行のときにやったことを書いておこうと思います。ただ、サービスを20〜30分停止してしまったのでちょっと微妙っていうのと個人サービスだから1時間ぐらいサービス止めてもいいやぐらいに考えてたので結構グダグダです。

deploy.shをちょっと変更する

App Service on Linuxではslnファイルが使えないので複数のプロジェクトがある場合はシェルスクリプトでデプロイする必要があります。僕の場合はReact使ってるのでnodeのモジュールをインストール必要があったので以下を加えました。

npm i src/
exitWithMessageOnError "npm install failed"

App Service on Linuxにデプロイする

まずデプロイしておきましょう。ドメインの移行してもサービスが動かなかったら話になりません。僕はGithubのmasterブランチにプッシュされたらデプロイする設定にしています。
f:id:tekitoumemo:20181104155948p:plain
デプロイオプションが11/26に終了するみたいです。その代わりデプロイセンターを使えとなっています。以下のメッセージが表示されていました。

Deployment Options will be leaving the App Service Menu on November 26th, 2018. Click here to try out our new Deployment Center feature replacing it.
(デプロイメントオプションは、2018年11月26日にApp Serviceメニューを終了します。新しいデプロイメントセンター機能を置き換えるには、ここをクリックしてください。)

ドメインを外す

まずはドメインを外しました。本当はドメイン外しちゃいけないのかもしれませんが、DNSレコード設定していなくてもApp Service on Linuxに設定出来ちゃったので意味不明でした。ドメイン外してApp Service on Linuxに設定するとちゃんと出来ました。
f:id:tekitoumemo:20181104155150p:plain
3点リーダーを押すと「削除」って出てくるので押下するとドメインが外されます。WindowsのAppServiceはドメインを外してしまったのでこれはApp Service on Linuxの画面ですが基本同じです。

SSL外す

次にSSLを外しました。これしないとApp Service on Linux側のSSLで「SSLがついてるからオーバーロードしますなんちゃら」って警告が出ます。
f:id:tekitoumemo:20181104155528p:plain
タブからpfxかcerが選べるのでお好きな方を。これも3点リーダーから「削除」を押下すると削除されます。

App Service on LinuxドメインSSLを設定する

以下の流れと全く一緒です。お名前.COMのDNSレコードは約10分ぐらい反映するのに時間がかかった気がします。
tekitoumemo.hatenablog.com

これでちゃんと動作するはずです。余談ですが、Let’s Encryptで期限が近づいていないのに再取得するといつもと違うメッセージが出ました。こちらは以下の記事を参考にしてください。
tekitoumemo.hatenablog.com

まだ移行してから1日も経っていないのですが、変わったところを書きます。

App Service on Linuxの無料試用期間が無期限!?

Azureのプランを作るたびに1ヶ月無料になります。つまり、1ヶ月以上使い続けなければずっと無料。作って削除して作って削除しての繰り返しだったら無料試用期間があるうちはずっと無料っぽいです。ちなみにB1プラン(安いやつやん)のみです。

メモリ使用量が10%弱変わった?

Windowsサーバーだと50%台だったのですが、Linuxサーバーだと60%台に上がりました。
Windowsサーバー
f:id:tekitoumemo:20181104161120p:plain
Linuxサーバー
f:id:tekitoumemo:20181104161207p:plain
まぁ60%なら全然許容範囲ですが、ちょっと気になります。しばやんさんが以下のようなことを書いてたのですが、いまいち理由がわからないです。

明らかにコンテナの起動時間が遅いので最低でも B2 / S2 を選ぶべきです。

App Service on Linux を本番環境で運用する際の注意点 - しばやん雑記

とにかく安くなったってのが大きいです。Windowsサーバーでやる必要がなければ、Linuxにした方が確実におトクですし、B2インスタンスWindowsのB1インスタンスとほぼ同じ値段ってのが良いですね(盛りました1500円ぐらい違います。)今だと1ヶ月無料なので検証出来るのは助かりました。