勇往邁進

自宅ラボのチラシの裏

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

Atlassian 公式のリモート MCP サーバで Confluence/Jira を操作する

普段、仕事ではドキュメント管理に Confluence を使っている。 全社的には Google ドキュメントも使っているけど、見た目やドキュメントの検索のしやすさを考えると Confluence のほうが好み。 だけどあまり活用も整理もされてないのが悩み。 GitHub Copilot とかでなんとかできないかなぁと思っていたところ、Atlassian 公式の Confluence と Jira を GitHub Copilot Agent mode や Claude Desktop から扱えるリモート MCP サーバが公開されていることに気づいた。 アトラシアン、リモートMCPサーバーを発表 | Atlassian Japan 公式ブログ | アトラシアン株式会社 www.atlassian.com この発表記事から辿れるページを見てもやり方わからなかった。 そのせいでコメント欄には野良 MCP を使った方法がたくさん投稿される始末。 ドキュメント管理サービスを提供しているならドキュメントから用意してほしいところだけど、リモート MCP サーバの設定方法は他の記事に載っていた。 Atlassian Remote MCP Server beta now available for desktop applications Hi everyone, we’re thrilled by the excitement around the Atlassian Remote MCP Server beta that we launched recently. Many of you shared the feedback that it would be helpful to be able to use the MCP server from your IDEs or other desktop apps. Our team has been hard at work to address this, and to... community.atlassian.com ということで Atlassian 公式の MCP サーバがどんな風に使えるか試してみた。 ...

May 24, 2025 · 3 min · @nnstt1

Azure Developer CLI (azd) は HCP Terraform でステート管理をまだできない

最近、個人的に Azure Developer CLI (azd) という超便利ツールが熱い。 azd up コマンドでインフラ含めて Azure Functions とかの実行環境をサクッと作れて、書いたコードをすぐに動かせる。 コードもテンプレートがあるのでゼロから書く必要がない。 たぶん azd だけでは自分に刺さらなかった。 Functions で Flex Consumption が使えるようになったり、生成 AI のおかげで自分でもそれっぽいコードを書けたり、色々条件が重なったからこそ今 azd の便利さの片鱗を味わえている。 そんな azd はアプリケーション実行環境の土台となる Azure リソースを Bicep を使ってプロビジョニングする。 そして、まだベータ版だが Terraform も使える。 Terraform を使うということはステート管理の話が出てくる。 当然 azd もステート管理を考慮していて、デフォルトのローカルステート(ローカル環境にステートファイルをそのまま置くやつ)に加えて、リモートステートとして Azure Storage にステートファイルを格納できる。 普段 HCP Terraform を使っている身としては「azd のステートファイルを HCP Terraform に格納できるのか」というのが気になるところ。 結論から言うと今はまだ azd で HCP Terraform にステートファイルを格納できなかった。 今回はそのことについて書く。 確認に使った各ツールのバージョンは次の通り。 azd v1.13.0 terraform v1.11.0 要約 azd で HCP Terraform を使えない理由は以下のとおり。 HCP Terraform は「VCS-driven」と「CLI-driven」という連携方法がある(「API-driven」は割愛) Plan ファイルを保存する azd では「VCS-driven」は使えない ステートロックが無効化されている azd では「CLI-driven」は使えない そもそも azd で Terraform を使うためにはいくつか設定が必要になるが、詳しくは Microsoft の公式ドキュメントを見てもらいたい。 ...

March 11, 2025 · 3 min · @nnstt1

HCP Terraform で複数アカウントを使い分ける方法

仕事柄、プロジェクトごとに複数アカウントを切り替えて HCP Terraform (旧称 Terraform Cloud) を使っている。 HCP Terraform ではローカル環境などで terraform plan する前に terraform login で Plan を実行するアカウントのトークンを取得しておく必要がある。 しかし、terraform login で取得したトークンは 1 アカウント分しか保存されないので、アカウント切り替え時に都度トークンを取得する手間が発生する。 そこで、HCP Terraform のアカウントを使い分ける方法を紹介する。 要約 環境変数 TF_CLI_CONFIG_FILE を使用して CLI 設定ファイルを切り替え プロジェクトごとに .terraformrc ファイルを用意 direnv で自動的に環境変数を切り替え オプションとして ghq + peco と組み合わせて効率化 HCP Terraform のトークン Terraform ではコマンド実行時に CLI 設定ファイルが読み込まれる。 デフォルトでは $HOME/.terraformrc と $HOME/.terraform.d/credentials.tfrc.json というファイルを読み込む。 これらのファイルに設定されているトークンが HCP Terraform の認証に使われるが、使われるトークンの優先順位は次のようになる。 $HOME/.terraform.d/credentials.tfrc.json $HOME/.terraformrc .terraform.d/credentials.tfrc.json .terraform.d/credentials.tfrc.json は HCP Terraform のトークンを格納するファイル。 terraform login で取得されたトークンがこのファイルへ自動的に登録される。 ファイルの中身は以下のようになっており、HCP Terraform のドメイン app.terraform.io または Terraform Enterprise (HCP Terraform のセルフホスト版) のドメインが設定される。 ...

February 17, 2025 · 4 min · @nnstt1

OpenShift に New Relic Integration をデプロイするときは kube-state-metrics に注意

「New Relic Kubernetes integration」というエージェントを使うことで Kubernetes のメトリクスを簡単に New Relic へ送ることができる。 Introduction to the Kubernetes integration | New Relic Documentation Kubernetes integration into New Relic: features, requirements, and getting started. docs.newrelic.com この Kubernetse integration は OpenShift にも対応しているが、kube-state-metrics には注意が必要。 何が起こるか:nrk8s-ksm で Warning が出続ける Kubernetes integration は Helm を使ってインストールでき、色々はリソースがデプロイされる。 そのうちの一つに nrk8s-ksm というコンポーネント (Deployment) があるが、デフォルト設定で Kubernetes integration をインストールすると、この nrk8s-ksm が次の Warning メッセージを出し続けてしまう。 Error populating KSM metrics: populate errors:, querying KSM: getting filtered metric families: error calling prometheus exposed metrics endpoint. Got status code: 400 どうすればよいか:参照する kube-state-metrics の namespace を指定する Kubernetes integration を Helm でインストールするとき、次の values.yaml が使われる。 ...

January 27, 2025 · 2 min · @nnstt1

四国の Azure 導入事例集(2024 年)

ふと思い立って、2024 年の 1 年間にどれくらい四国の Azure 導入事例などが出ているか調べてみた。 調べたと言っても Google で「2024/01/01-2024/12/31」の期間で検索しただけなので漏れがあるかもしれない。 事例の詳しい内容はリンク先の記事を見てもらいたい。 今治造船株式会社(愛媛県) 愛媛が誇る造船会社「今治造船(いまぞう)」の Azure 導入事例。 2024年3月14日に公開された。 オンプレミスの基幹系システムを Azure に移行、オーバースペック回避で TCO を大幅に削減し、バックアップ/バッチ処理時間の短縮も実現 | Microsoft Customer Stories グループ全体で 10 か所の建造拠点を保有し、新造船建造量が国内トップとなっている今治造船株式会社。ここではオンプレミスの仮想化基盤上で運用されてきた基幹系システムが、Microsoft Azure ネイティブの IaaS へと「リフト」されています。これにより、オンプレミス システムにありがちな「オーバースペック」を回避し、TCO を大幅に削減。データ バックアップやバッチの処理時間短縮も実現しています。またこの移行にあたっては、Azure Migrate による必要リソースのアセスメントや、Azure Migrate & Modernize による各種支援、Azure への移行でさらに 3 年間無償でセキュリティ更新プログラムを受けられる Windows Server 2012 の拡張セキュリティ更新プログラムなども活用。FastTrack for Azure もプロジェクトに参画し、テスト フェーズで発生した問題のスピーディな解決などで、大きな貢献を果たしています。 www.microsoft.com 事例記事によると、VMware で構築されたオンプレの基盤を Azure にリフトして IaaS を使っているらしい。 ぜひ苦労話をコミュニティでお話ししてもらいたいものだ。 なお、今治造船には「いまぞう君」というゆるキャラが存在する。 株式会社 石垣(香川県) 「株式会社 石垣」は香川県坂出市に工場や開発センターを持つ水インフラ関連の企業(本社は東京)。 2024年5月17日に Azure Machine Learning の導入事例が公開された。 環境機器の IoT データ プラットフォーム「miyoru」、Azure ML による予測モデルの実装で新たなフェーズへ | Microsoft Customer Stories IoT で収集したデータの可視化や分析をサービスとして提供する「ISHIGAKI Cyber Platform “miyoru”」を Microsoft Azure 上で実現し、2022 年 8 月にリリースした株式会社 石垣。現在はこの miyoru に AI 機能を搭載する取り組みが進められています。その AI エンジンとして採用されているのが、Microsoft Azure Machine Learning です。既に Azure 上で構築されていた IoT 基盤と、AI エンジンをダイレクトに連携させることで、学習のためのデータ パイプラインを完全に自動化。これによってスピーディかつ人手に頼らない学習を可能にしたのです。2023 年 8 月には、AI を搭載した miyoru のコンセプト展示も実施。今後は Microsoft Azure OpenAI Service とも連携させ、プラットフォームとしての強みをさらに強化していく計画です。 www.microsoft.com パートナーは株式会社ナレッジコミュニケーションズ。 同社会社情報によると、いくつかの「Specialization」や「Microsoft Mixed Reality パートナー プログラム認定パートナー」を取得されており、かつ「Microsoft Japan Partner of the Year 2023 (AI Partner Award)」を受賞されているらしい。 ...

January 14, 2025 · 1 min · @nnstt1

2024 年振り返りと 2025 年の抱負

2024 年の振り返りと 2025 年の抱負を掲げます。 今回の振り返りの項目はこちらの記事を参考にしました。 「2024年の振り返り」と「2025年の抱負」 - Security Akademeia【セキュリティアカデメイア】 目標は達成できませんでしたが、少しは減少できたので、前向きに捉えています。 健康診断の結果も、現在のところ問題 akademeia.info ちなみに 2024 年の初詣で引いたおみくじはこんな感じでした。 今年はがんばり pic.twitter.com/NX0WTS21pH — ののし (@nnstt1) January 2, 2024 2024 年の目標を達成できたか 2024 年の目標は 2 つでした。 Azure 資格全冠 コミュニティ活動に取り組む Azure 資格全冠 ⇒ 未達成 2023 年末の時点では Azure の資格を 9 個所得していて全冠まで折り返し地点でしたが、残念ながら 2024 年は Azure の資格試験を 1 つも受けることなく終わってしまいました。 それどころか、数日前に取得済みの AZ-204 の更新を怠って失効してしまい、全冠が遠のいてしまいました。 コミュニティ活動に取り組む ⇒ 達成 2024 年はコミュニティの勉強会などで 6 回登壇する機会がありました。 特筆すべき点としては「初めてオフライン登壇した」ことです。 オンラインでの登壇はコロナ禍前からやっていましたが、コロナ禍が明けてやっと現地参加できるようになってオフラインでの登壇が叶いました。 一方、2023 年末はこんなことも書いていました。 より登壇回数を増やしたり、運営サイドの行動ができたらと。 できれば近場の方々と Azure などの勉強会などを開けるようになにかした行動を起こしたいです。 コミュニティの運営寄りの活動としては、HashiTalks: Japan で MC をやったことや、四国の Azure コミュニティ「しこあず」を立ち上げたことが 2024 年の成果かと思います。 ...

December 31, 2024 · 3 min · @nnstt1

Hugo で画像をポップアップ表示させる

このブログは Hugo に PaperMod というテーマを入れている。 このテーマは画像の横幅が決まっているため、以下のように大きいサイズの画像を貼り付けると画像の内容が分かりづらくなってしまう。 どうにかできないかと調べたら Lightbox という JavaScript ライブラリを使えば画像をポップアップ表示できそうということが分かった。 こちらのサイトを参考に Hugo に Lightbox を入れていく。 Adding lightbox to Hugo julianstier.com Lightbox 導入 準備 Lightbox を GitHub のリリースページからダウンロード Releases · lokesh/lightbox2 THE original Lightbox script (v2). Contribute to lokesh/lightbox2 development by creating an account on GitHub. github.com CDN もあるらしいけど今回は一旦ローカル保存 lightbox2 - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup and works on all modern browsers. - Simple. Fast. Reliable. Content delivery at its finest. cdnjs is a free and open-source CDN service trusted by over 12.5% of all websites, serving over 200 billion requests each month, powered by Cloudflare. We make it faster and easier to load library files on your websites. cdnjs.com 必要なファイルの配置 CSS /assets/css/extended/ に Lightbox の CSS ファイル lightbox.min.css を配置 JavaScript /static/js/ に Lightbox の JS ファイル lightbox.min.js を配置 テーマのヘッダーに CSS を追加 PaperMod の /themes/PaperMod/layouts/partials/head.html を /layouts/partials/head.html にコピーして以下を追加 ...

December 27, 2024 · 3 min · @nnstt1

OpenShift Logging でログを New Relic に転送する

OpenShift Container Platform では「OpenShift Logging」という Operator をインストールしてロギングの機能を追加できる。 この OpenShift Logging を使ってコンテナのログを New Relic に転送できるか試した。 バージョンの仕様変更 執筆時点の OpenShift Logging の最新バージョンは 6.1.0 だが、6.0.0 になったタイミングで仕様変更が入っている。 特に ClusterLogging.logging.openshift.io と ClusterLogForwarder.logging.openshift.io という API が無くなり、ClusterLogForwarder.observability.openshift.io に統一された。 今回試したのは 5.9.9 の環境なのでログ転送に ClusterLogForwarder.logging.openshift.io を使っているが、ドキュメントを見る限り 6.0.0 以降の ClusterLogForwarder.observability.openshift.io でも同じように動きそう。 Vector OpenShift Logging では Vector というログやメトリクスなどの可観測性データを収集・加工・送信するツールをコレクターとして使っている。 OpenShift Logging をインストールすると DaemonSets として collector がデプロイされて、Pod の中で Vector コンテナが動いてログを集めて転送する。 この Vector が New Relic 宛のログ転送をサポートしていれば可能かも、ということで調べてみるとベータ版だけどドキュメントが見つかった。 New Relic sink Deliver events to New Relic vector.dev ドキュメント見る限り、Vector に New Relic 用の設定ができればログ転送できそう。 ...

December 14, 2024 · 2 min · @nnstt1