Azure Database for MySQL の レプリケーションラグの見え方

前回に続いて Azure Database for MySQL の貯めてたネタの放出回。 Azure Database for MySQL のレプリケーションラグ Azure Database for MySQL では Azure Portal の “Replication” という画面で読み取りレプリカのレプリケーションラグを確認できる。 あるとき、レプリカを作ってこの画面を見ながらラグが無くなるのを待っていた。 だけど、いつまで経ってもラグの時間が変わらない。 詳しくラグを見るためメトリクスの ”Replication Lag in Seconds" を見ると、こちらはちゃんとラグが減っていた。 なんなら 0 秒になっているタイミングすらある。 なのに “Replication” の画面では相変わらず。 ドキュメントを調べたり、Microsoft Learn MCP Server を入れた Claude さんに聞いたりしてみたけど、理由は分からず。 とはいえ “Replication” 画面のラグは変化することもある。 そこで「一定期間の最大値とか平均値を表示してるのでは?」と思い、“Replication” 画面とメトリクスの “Replication Lag in Seconds” を並べてラグが変化するタイミングを待ってみると、すぐに判明した。 “Replication” 画面に表示されるラグは「過去 1 時間の “Replication Lag in Seconds” の最大値」を表示しているようだった。 検証 個人サブスクリプションの小さい環境で試したので大きなラグは出てないけど、1 時間以内の最大ラグが 1 秒のメトリクスの画面。 ...

November 7, 2025 · 1 min · @nnstt1

Azure Database for MySQL の Location Based Capabilities API を使って SKU 情報を取得する

久しぶりに Azure の話。 Azure Database for MySQL はインスタンスの SKU によって利用できる vCore 数やメモリサイズが異なる。 SKU は Standard_B1ms や Standard_D2ds_v4 などの名前。 それぞれの SKU に対して、どのような vCore 数やメモリサイズが利用できるか確認したい場面がある。 そんなときに Location Based Capabilities API が便利。 Location Based Capabilities - List - REST API (Azure MySQL) MySQL サービスの詳細 - 特定のサブスクリプション内の指定した場所にある機能を取得します。 learn.microsoft.com Location Based Capabilities API を使う Location Based Capabilities API は Azure CLI からも利用可能。 以下のコマンドで特定のリージョンに対して利用できる SKU の一覧を取得できる。 az mysql flexible-server list-skus --location japaneast このコマンドを実行すると「ゾーン → サービスレベル → バージョン → SKU」の順でネストされた配列が返ってくる。 大量に出てくるので、大幅に省略したものを載せておく。 ...

November 6, 2025 · 2 min · @nnstt1

Azure ポータルに表示される AKS の API サーバーアドレスの謎を追う

こちらは Microsoft Azure Advent Calendar 2024 の 6 日目の記事です。 AKS の API サーバーアドレスの謎 Azure ポータルでいろいろな AKS クラスタの状態を眺めていたところ、AKS の概要ページにある 「API サーバーアドレス」に表示されている内容がクラスタによって異なることに気づきました。 当然クラスタごとに一意となる文字列は異なるのですが、ドメイン部分が大きく異なります。 以下は状況を再現したクラスタのスクショです。 表示されている API サーバーアドレスには hcp.<location>.azmk8s.io と 00000000-0000-0000-0000-000000000000.privatelink.<location>.azmk8s.io の 2 種類あります。 クラスタ A の API サーバーアドレス aks-public-aks-public-fqdn-c209fd-mytdol9d.hcp.japaneast.azmk8s.io クラスタ B の API サーバーアドレス aks-public-aks-public-fqdn-c209fd-rzz0g24p.a47e9794-80a7-4088-9a92-3706e050f9cc.privatelink.japaneast.azmk8s.io 両クラスタともプライベート AKS クラスタとして構築しています。 パブリックアクセスはできないので、VPN などを使っていない端末では Azure ポータルからクラスタのリソースを見ようとしてもエラーになってしまいます。 同じプライベート AKS クラスタなのにどうして差が生まれてしまうのでしょうか? 結論から AKS の「パブリック FQDN enablePrivateClusterPublicFqdn」という設定によって API サーバーアドレスに表示される内容が変わります。 プライベート Azure Kubernetes Service (AKS) クラスターを作成する - Azure Kubernetes Service プライベート Azure Kubernetes Service (AKS) クラスターの作成方法について説明します。 learn.microsoft.com Azure CLI では --disable-public-fqdn オプションをつけて新規クラスタを作成、または既存クラスタを更新することで「パブリック FQDN」を無効化できます。 つまりデフォルトは有効状態です。 ...

December 6, 2024 · 4 min · @nnstt1