タグ

ブックマーク / blog.shibayan.jp (163)

  • Azure App Service の Disaster Recovery Mode が 2025/3/31 で廃止されるらしい - しばやん雑記

    ここ数日の間に App Service の Disaster Recovery Mode が 2025/3/31 で廃止されるというメールが大量に届いていると思います。こういうメールが届くと少し身構えてしまうものですが、そもそも App Service の Disaster Recovery Mode ってなんやねんという気持ちです。 個人的には App Service の Disaster Recovery Mode について知りませんでしたが、App Service をデプロイしているリージョンに障害が発生した場合には、通常は Standard 以上の Tier が必要なところ全ての Tier で有効になるという機能らしいです。 結局のところはバックアップ・リストアの機能でしかないですし、最近は App Service のリージョン障害もかなり減っているので使ったことばかりか存在すら知

    Azure App Service の Disaster Recovery Mode が 2025/3/31 で廃止されるらしい - しばやん雑記
    nakaji999
    nakaji999 2023/05/02
  • Azure App Service の Premium V3 に新しいインスタンスサイズが追加されたので試した - しばやん雑記

    先日 Azure App Service の Premium V3 に新しいインスタンスサイズが追加されたことが発表されました。Premium V3 は Premium V2 よりも大きいインスタンスサイズ設定となっていましたが、サイズが拡充されたことでコストパフォーマンスと使い勝手が向上しました。 特に P0v3 のリリースによって Premium V2 を使う必要性が消滅したように感じています。新しく作成する際には必ず Premium V3 を選択しておけばまず失敗しません。 さて、今回 Premium V3 の拡充と Isolated V2 についてブログで発表されましたが、Isolated V2 はそこそこ前にリリースされていたので今回は Premium V3 の追加サイズについてのみ書きます。 今回追加された Premium V3 のサイズは以下の通りです。Premium V3

    Azure App Service の Premium V3 に新しいインスタンスサイズが追加されたので試した - しばやん雑記
    nakaji999
    nakaji999 2023/04/17
  • .NET Framework 3.0 で作られたアプリケーションを .NET 5 に最新化して GitHub で公開するまでに行ったこと - しばやん雑記

    CodePlex に置いてあった .NET Framework 3.0 時代に書かれたアプリケーションを、GitHub に移行しつつ .NET 5 で動くように 2 週間ぐらい頑張った話を書きます。正直なところ 12 年前に書かれたコードを何とかするのはめっちゃ大変でした。 今回コードの改善を頑張ったので色々な実験場としても使えるようにしています。特に GitHub 周りは新しい機能を使ってみるようにしています。 .NET Framework 3.0 時代に書かれたコードを何とかするのが当に大変だった(まだ何とか出来てない https://t.co/u5SrISQRCL— Tatsuro Shibamura (@shibayan) 2021年5月9日 実際には .NET 5 で動くようにはなっていますが、中身は古臭い実装がたくさん残っているので、ツイートの通り全然何とかなっていない状況で

    .NET Framework 3.0 で作られたアプリケーションを .NET 5 に最新化して GitHub で公開するまでに行ったこと - しばやん雑記
    nakaji999
    nakaji999 2021/05/17
  • 障害に強い Azure の運用を考える (2021 年版) - しばやん雑記

    Azure の日リージョン 7 周年の日に Japan East のストレージ障害が発生するという、なんともアレな出来事がありましたが、障害発生後はアーキテクチャを見直すいい機会だと思うので色々書きます。 まだ RCA は公開されていないですが、おそらくぶちぞう RD がブログに書くのでリンクを貼ります。 4 年前の同じような時期にも Japan East で大規模なストレージ障害が発生したので、同じようなものを書きましたが流石にいろいろと進化しているので古さを感じます。 今回の障害は影響範囲はさほど大きくなかったようで、主に Azure Storage と Virtual Machines がステータスには上がってきていました。実際には Application Insights や Log Analytics にも影響がありましたが、Azure Storage は全ての基なので仕方な

    障害に強い Azure の運用を考える (2021 年版) - しばやん雑記
    nakaji999
    nakaji999 2021/03/04
  • Azure Functions への Zip Deploy を Publish Profile を使って行う方法 - しばやん雑記

    普段は Visual Studio からデプロイ先の Azure Functions を選んで Zip Deploy 用のプロファイルを作成していますが、たまに Visual Studio で Publish Profile を使った Zip Deploy を行う場合に、その手順を毎回忘れてしまうのでメモとして残します。 おまけとして Publish Profile についても少し触れています。Zip Deploy については何回も書いているはずなので、以前書いたエントリを参照してください。公式ドキュメントもあります。 最近は Visual Studio に色々統合されているので Publish Profile を使う機会が減ってしまったので、基的なところも軽く紹介しておきます。 ダウンロードボタンは App Service / Azure Functions の Overview ツー

    Azure Functions への Zip Deploy を Publish Profile を使って行う方法 - しばやん雑記
    nakaji999
    nakaji999 2021/01/08
  • .NET Conf 2020 Online - .NET 5 リリース記念パーティートーク フォローアップ - しばやん雑記

    金曜の夜に .NET 5 のリリース記念と称して、.NET 好きメンバーを集めてアップデートや新機能について話をしました。考えていたタイムスケジュールが完全に崩壊してしまいましたが、2 時間で何とか収まりました。 スピーカーは綺麗に興味が異なっていたので、言い出しっぺかつ進行役の自分としても学びが多かったです。 最近はフォローアップばかり書いている気がしますが、自分が関わったイベントについては今後も頑張ってツイートまとめの作成とフォローアップを書いていきたいと思います。 書くにあたっては Twitter と YouTube から独断と偏見でいくつか拾ってきました。 使用したスライド Twitter まとめと YouTube アーカイブ文字起こし .NET ランタイムのサポートポリシー GitHub Actions / Azure Pipelines での .NET 5 サポート Blaz

    .NET Conf 2020 Online - .NET 5 リリース記念パーティートーク フォローアップ - しばやん雑記
    nakaji999
    nakaji999 2020/11/17
  • Azure App Service の .NET 5 Early Access を一通り試してみた - しばやん雑記

    .NET Conf 2020 で .NET 5 が正式リリースされましたが、同じタイミングで App Service での .NET 5 Early Access 機能が発表され、多少の制約はありますがリリースとほぼ同時に利用可能になりました。 App Service Teams のブログと GitHub にドキュメントが用意されています。これまでは App Service のイメージ更新を待つ必要がありましたが、Early Access 機能により即座に利用可能です。*1 制約としては App Service Plan の初期化時に必要なランタイムをインストールするので、コールドスタートと Kudu を利用したビルド時に影響が出ると書かれています。ビルド時に影響が出る理由は、.NET Core をインストール後初めて実行すると初期化が走るからでしょう。 実際に Windows の App

    Azure App Service の .NET 5 Early Access を一通り試してみた - しばやん雑記
    nakaji999
    nakaji999 2020/11/12
  • GitHub Actions / Azure Pipelines 上での .NET Core アプリケーションのビルド時間を短縮する - しばやん雑記

    最近は Azure DevOps で開発していたアプリケーションを GitHub に移行しつつ、ビルドとデプロイ周りを Azure Pipelines から GitHub Actions に切り替えていたのですが、アプリケーションのビルドに時間がかかっていたので短縮するために色々と作業をしました。 Azure Pipelines と GitHub Actions は Runner が同一のものが使われているので直接比較できます。先にどのくらい改善したかを簡単に出しておきます。まずは元々のビルドパイプラインです。 まだデプロイを全て移し切れていないので Pull Request 時の処理で比較しています。実際にコードを書いていて PR にコミットを積むたびに 5-6 分待たされるのは正直かなりストレスフルでした。 GitHub Actions に切り替えた後は以下のように 2 分ちょいで完了

    GitHub Actions / Azure Pipelines 上での .NET Core アプリケーションのビルド時間を短縮する - しばやん雑記
    nakaji999
    nakaji999 2020/10/25
  • みつばたんへの Twitter での Azure / ASP.NET Core アドバイスのまとめ - しばやん雑記

    みつばたんが最近 ASP.NET Core MVC 周りで死ぬほどはまっていたみたいですが、ポートフォリオサイトを作っていたようです。自分は死ぬほどはまっていた時には全くアドバイスしなかったのに、大体動くようになってからアドバイスをするという徳の低いことをした気がします。 その時のアドバイスは雑に Twitter で空リプで行いましたが、残しておいた方が良いかなと思ったので雑に Twitter を引用しつつまとめました。 認証は AAD + Easy Auth で 数えきれないぐらい言ってきていますが、サクッとサイトをログイン必須にして保護したい場合には AAD と Easy Auth を使うのが手っ取り早いです。 B2C は要らんやろ。Easy Auth で AAD を設定すれば Azure Portal にログイン出来る人間だけログイン出来るようになる— Tatsuro Shibamu

    みつばたんへの Twitter での Azure / ASP.NET Core アドバイスのまとめ - しばやん雑記
    nakaji999
    nakaji999 2020/07/14
  • Azure が提供するデフォルトドメイン名を狙った改ざんについて注意喚起 - しばやん雑記

    Twitter でちらほら見かけて自分も軽く反応したんですが、ターゲットが Cloud Services と Traffic Manager だったので多少なりとも書いておいた方が良いかなと思ったので、注意喚起を兼ねて書きます。 今回の件を改ざんと書くのは微妙に違う気がしたのですが、元のツイートは改ざんと表現していたので倣って改ざんとしておきます。このあたりの定義は難しそうです。 MS Azure Cloud Services のデフォルトドメイン cloudapp[.]net にCNAMEが向いている大量のWebサイトが改ざんされているようです。 Googleでの検索結果には何れも星評価が付いています。 (1/N) pic.twitter.com/5kDUZTGPg2— tike (@tiketiketikeke) 2020年7月6日 クラウドサービスにCNAME定義されたドメインを狙い

    Azure が提供するデフォルトドメイン名を狙った改ざんについて注意喚起 - しばやん雑記
    nakaji999
    nakaji999 2020/07/08
  • App Service と ASP.NET Core で Application Insights を有効化する方法を整理する - しばやん雑記

    Azure App Service に ASP.NET Core アプリケーションをデプロイする時には、必ず Application Insights を同時に有効化するようにしていますが、有効化の方法として 2 種類が存在しているので軽くまとめておきます。 自分でもこのあたりは割と混乱していたのと、App Service 側の挙動が微妙に変わっていたりしたので一度しっかりと確認しておきたかった部分です。 現時点では以下の 2 つの方法で Application Insights を有効化できるようになっています。ASP.NET Core アプリケーションと言ってますが、ASP.NET でもほぼ同じ扱いです。 ASP.NET Core に Application Insights をインストールする App Service の Application Insights 設定から有効化する

    App Service と ASP.NET Core で Application Insights を有効化する方法を整理する - しばやん雑記
    nakaji999
    nakaji999 2020/03/25
  • 後悔しないための Azure App Service 設計パターン (2020 年版) - しばやん雑記

    Azure App Service (Web Apps) がリリースされて 6 年、情報のアップデートを行いつつ気になった情報は適当にブログに書くという日々ですが、Regional VNET Integration や Service Endpoins が使えるようになって設計に大きな変化が出るようになったのでまとめます。 最近は Microsoft で HackFest を行うことも多いのですが、App Service をこれから使い始めたいという場合に、失敗しない構成を共有したい、知ってほしいという意図もあります。多いですが中身は単純です。 基設定 64bit Worker は必要な場合のみ利用する FTP / Web Deploy をオフにする Always on を有効化する ARR affinity をオフにする HTTP/2 の有効化を検討する Health Checks の

    後悔しないための Azure App Service 設計パターン (2020 年版) - しばやん雑記
    nakaji999
    nakaji999 2020/01/14
    ありがたや。ありがたや
  • C# と Polly を使って回復力の高いアプリケーションを書く - しばやん雑記

    昔のように高い信頼性を持つオンプレのハードウェア上で動いていたアプリケーションとは異なり、昨今のクラウド上で動いているアプリケーションは障害が発生する前提でコードを書く必要があります。クラウドのハードウェアは毎日どこかで壊れるので、それを前提にソフトウェアで高可用性を担保しているわけです。 最近は Microservices の流行もあって 1 つのアプリケーションを構成するコンポーネントが増えているため、実装によっては 1 つのコンポーネントで発生した障害が全体に波及してしまい、アプリケーション全体が停止してしまうこともあり得ます。例としてよく挙げられるのがリコメンド周りでしょう、リコメンドサービスの障害でアプリケーション全体が落ちてはいけないのです。 今のアプリケーションは障害時には敢えてサービスレベルを下げてでも、全体としての可用性を維持することが必要です。そして復旧時には人の介入な

    C# と Polly を使って回復力の高いアプリケーションを書く - しばやん雑記
    nakaji999
    nakaji999 2020/01/09
  • 無料で SSL/TLS 証明書が発行できる App Service Managed Certificate がプレビューに - しばやん雑記

    待望の App Service 向けに無料 SSL/TLS 証明書が発行できる App Service Managed Certificate がプレビューとして公開されました。既存の App Service Certificate とは全くの別物です。 Azure Updates やドキュメントにあるように、あらかじめカスタムドメインを追加していれば Managed Certificate は簡単に使えます。 これで面倒な証明書管理からおさらばできれば良かったのですが、まだ難しい感じがあります。 プレビュー中だけなのかわかりませんが、今のところ以下の制限があります。Zone Apex 非対応は厳しい。 ワイルドカード証明書は非対応 Zone Apex なドメインは非対応(CNAME しか使えない気配) 複数ドメインに対応した証明書は非対応 PFX のエクスポートは非対応 App Serv

    無料で SSL/TLS 証明書が発行できる App Service Managed Certificate がプレビューに - しばやん雑記
    nakaji999
    nakaji999 2019/11/06
  • 既存の Azure Resource を Terraform での管理に切り替える - しばやん雑記

    最初から Terraform を使って Azure のリソースを作成できれば問題ないですが、多かれ少なかれ既に手動で作成済みのリソースがあって、それを Terraform 管理下に入れたいケースが多いと思います。 既に Azure と Azure Pipelines での Terraform の利用については前回書いたので省略します。 今回は作成済みリソースを Terraform の管理下に入れる手順を試しておいたので、手順とはまったポイントをメモとして残します。今回のターゲットは 8 年前ぐらいに作ったリソースです。 リソースグループを丸ごと Terraform で管理するようにしますが、古いリソースはロケーションがぐちゃぐちゃなので上手くパラメータ化が出来ませんでした。今回、そこは妥協しました。 数が少ないので手作業で tf ファイルを書くのはギリセーフという感じです。当なら ter

    既存の Azure Resource を Terraform での管理に切り替える - しばやん雑記
    nakaji999
    nakaji999 2019/10/15
  • C# で Interactive な Prompt を構築するライブラリを作った - しばやん雑記

    Go や Node.js 向けは見つけられたのですが、C# / .NET Core 向けは探しても見つからなかったので作りました。.NET Standard 2.0 なので .NET Core / .NET Framework の両方で動くはずです。 CoreFx の Console ベースで書いていて、Windows / Linux / macOS で動くことを確認しました。 Windows 以外だとパフォーマンスが悪いですが、恐らく .NET Core 3.0 で改善されるはずです。 提供しているクラスは Prompt だけなので、ちょいちょいとメソッドを呼び出せば動くようになります。詳細は GitHub の README を読んでもらえれば大体は分かると思います。 class Program { static void Main(string[] args) { var name =

    C# で Interactive な Prompt を構築するライブラリを作った - しばやん雑記
    nakaji999
    nakaji999 2019/08/14
  • ASP.NET Core アプリケーションでも web.config をカスタマイズしたい - しばやん雑記

    ASP.NET Core のプロジェクトを dotnet publish を使って発行すると自動的に web.config が作られるようになっています。基的に IIS や App Service でホストする場合には必須です。 自動生成されるので IIS 周りのカスタマイズが難しそうに見えますが、比較的簡単かつ ASP.NET の時と同じような形でカスタマイズが出来るので、動作を確認しておきました。 普通に web.config を利用する テンプレートから作成した ASP.NET Core のプロジェクトには web.config は存在しないですが、手動で作成するとそれをベースに必要な設定を追加してくれるので非常に便利に使えます。 適当に web.config を作成して、プロジェクトに追加しておきましょう。 中身は何でも良いのですが、今回は以下のような内容で用意しました。注意点と

    ASP.NET Core アプリケーションでも web.config をカスタマイズしたい - しばやん雑記
    nakaji999
    nakaji999 2019/07/17
    いつもしばやん先生に助けられている
  • Swagger / OpenAPI 定義から C# クライアントを自動生成するツールの比較 - しばやん雑記

    Swagger / OpenAPI の定義からクライアントを作成するツールがいくつかあって、それぞれ特徴がありそうだったので実際に生成して試してみました。試したのは以下の 3 つです。 Swagger Codegen OpenAPI Generator AutoRest 使った Swagger 定義は公式の Petstore サンプル*1です。生成したコードは GitHub に上げました。 C# に関してのみ試しているので、他の言語の場合はまた変わってくると思います。何となく C# のクライアントは Java のコードを移植した感がありました。 Swagger Codegen Swagger が開発しているジェネレータです。対応する言語は多く、サーバー側のコードも生成してくれます。 実行環境を用意するのが面倒だったので、Swagger Editor を使ってクライアントを生成しました。 c

    Swagger / OpenAPI 定義から C# クライアントを自動生成するツールの比較 - しばやん雑記
    nakaji999
    nakaji999 2019/06/21
  • ロリポップ!マネージドクラウドで ASP.NET Core 2.2 アプリを動かしてみる - しばやん雑記

    タイトルの通りですが .NET Core に対応したということだったので、実際に契約して試してみました。 新しくプロジェクトを作成する画面に .NET Core が出てくるので、それを選んで情報を入力して行けばサクサク作れます。関係ないですが、標準で Let's Encrypt が使えるのは便利ですね。 バージョンは今のところ 1 つだけですが、今後アップデートの度に提供されていくのでしょう。 10 日間は無料で使えるらしいです。コンテナの起動回数で課金されるのはちょっと面白いです。 .NET Core のコンテナと SSH を受けるコンテナは別です。この辺りの構成は App Service で言うところの Kudu に相当する部分という感じです。Linux 版だと SSH 使えますし。 初めて .NET Core が標準でサポートされた日発サービスを見た気がします。 .NET Core

    ロリポップ!マネージドクラウドで ASP.NET Core 2.2 アプリを動かしてみる - しばやん雑記
    nakaji999
    nakaji999 2019/06/03
  • Azure Functions でも HttpTrigger でモデルバインディングを使って楽をしたい - しばやん雑記

    ASP.NET Core MVC だと普通に使っているモデルバインディングですが、Azure Functions の HttpTrigger でも近い形で使えるようになってます。テンプレートでは HttpRequest から自前でパースしてますが、ランタイムに任せることが出来ます。 使い方は Core MVC と同様に、単純に受け取りたいクラスを Function の引数として追加するだけです。 public static class Function1 { [FunctionName("Function1")] public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Function, "post")] DemoModel model, ILogger log) { return new OkObjectResul

    Azure Functions でも HttpTrigger でモデルバインディングを使って楽をしたい - しばやん雑記
    nakaji999
    nakaji999 2018/12/28