四国の 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)」を受賞されているらしい。 ...
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 年の成果かと思います。 ...
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 にコピーして以下を追加 ...
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 用の設定ができればログ転送できそう。 ...
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」を無効化できます。 つまりデフォルトは有効状態です。 ...
Terraform v1.10 で Ephemeral resources が使えるようになったので AzureRM Provider で試してみた
こちらは エーピーコミュニケーションズ Advent Calendar 2024 の 1 日目の記事です。 Ephemeral values の登場 先日リリースされた Terraform v1.10.0 で Ephemeral values という新しい機能が登場しました。 Terraform 1.10 improves handling secrets in state with ephemeral values Terraform 1.10 is generally available, and it includes ephemeral values along with improvements to plan and apply performances. www.hashicorp.com Ephemeral values は次の要素で構成されています。 Ephemeral input variables / Ephemeral output variables Ephemeral resources Write-only attribute (v1.11 で追加予定) この中でも今回は Ephemeral resources に焦点を当ててみます。 ...
HCP Vault Dedicated で Secrets Sync が利用できるようになったので試してみた
HashiCorp Vault に Secrets Sync という機能があります。 これは Vault で管理しているシークレットを Azure Key Vault などのクラウドプロバイダが持つシークレットマネージャーや GitHub Actions などの開発ツールに同期できるものです。 Secrets Sync は Vault Enterprise で使えるようになり、マネージドサービスの HCP Vault Dedicated にもベータ機能として公開されていたんですが、不具合があったのかしばらくして利用できなくなっていました。 その後、2024年11月11日にリリースされた v1.18.1 で HCP Vault Dedicated の Secrets Sync が復活、正式に利用できるようになったので試してみました。 Secrets Sync を有効化 検証用の HCP Vault Dedicated クラスタを立てていたので、まずはそのクラスタで Secrets Sync を試しました。 HCP Vault Dedicated にログインすると Secrets Sync のメニューが追加されています。 Secrets Sync を使うには事前に有効化が必要なようです。 Vault Enterprise では自前で Secrets Sync の activate 作業が必要だったので、それと同じ役割なのでしょう。 [Enable] を押すと警告文が表示されるので、チェックをいれて [Confirm] を選択。 ...
ボストン遠征レポート
HashiConf 2024 に現地参加するため海外出張という形でボストンに行ってきました。 日程は 2024/10/12(土)〜18(金) の一週間。 HashiConf 参加レポートは会社のブログに投稿したので、ここでは HashiConf 以外の部分をメインに、初の海外遠征の内容を記録します。 X.com にも #nnstt1_hashiconf というタグで投稿してます。 持ち物 まずはボストンに持っていった持ち物。 機内持ち込み手荷物は普段使っている無印の肩の負担を軽くするリュックサック、預け入れ手荷物は10数年前に買ったスーツケース(容量不明)。 リュックサックには長時間フライトを快適に過ごすためのグッズを入れた。 今回を機に用意したものもチラホラ。 用途毎に袋にまとめてリュックへ収納。 パスポートケース パスポートや現金(日本円、米ドル)のほか、フライトやホテルの予約のコピーを入れてた。 ホテルの部屋にいるとき以外は肌身離さず持ってた。 Anker の紛失防止トラッカーを装着。 水筒 機内でいつでも水分補給できるようにと持っていった。機内だけじゃなくボストン観光やホテル滞在時にも大活躍した。 個人ノートパソコン Macbook Air M3。 HashiConf 中は主に会社のぶログを書くのと SNS 用に使っていた。 今回の遠征のために買い替えたと言っても過言ではない。 業務用ノートパソコン 仕事せざるを得ない状況だったので持っていった。 業務用スマホ 同上。 Kindle Paperwhite 機内の映像コンテンツに飽きたときのために、と持っていったけど全く使わなかった。 名刺入れ 念の為に名刺を持っていったけどほとんど使わなかった。 プレーリーカードも忍ばせてて、無理やり読み取ってもらったことも。 技術書典の袋(画像左上) 機内持ち込みの液体、薬、お菓子、マスク、蒸気マスクといった機内で使うケア用品を収納。 ガジェットポーチ(画像左下) モバイルバッテリー もともと持っていた 20,100mh のやつ。 買い替えようかと考えていたけど、Macbook Air のバッテリー持ちを信じてそのままに。 イベント会場と宿泊先が同じホテルだったこともあり、結果的にこのモバイルバッテリーで十分だった。 AC アダプタ Anker Nano II 45W 一つだけ。 これだけでスマホも Macbook Air も業務用ノートパソコンも充電できる優れモノ。 自撮り棒 自撮りには使わなかったけど、知人の登壇風景を録画するときに一脚として使えて便利だった。 ELECOM の Bluetoothオーディオトランスミッター/レシーバー LBT-ATR01BK と φ3.5mm プラグ延長ケーブル。 自撮り棒の左隣のやつ。 機内のオーディオが Bluetooth に対応してなかったときに備えて、手持ちのワイヤレスイヤホンで機内映画の音声を聞けるようにするためのもの。遠征直前に購入したものの往復の便で大活躍した。 Microsoft Copilot ロゴのついた白いもの マルチ端子ケーブル(?)とかいう USB Type-A を USB Type-C、Micro USB、Lightning と繋げられるもの。9月の Microsoft イベントでノベルティとしてもらった。念の為持って行ったけど使わなかった。 ベージュのポーチ 無印の吊るして使える着脱ポーチ付ケース。衛生用品などを入れていて常に持ち歩いてた。 機内快適グッズ(画像右) 長時間フライトを快適に過ごすためのグッズをネットに入れてまとめて持ち運んだ。 フライトソックス 今回はじめて使ってみたけど効果あった、と思う……。このソックスはふくらはぎまで履くんだけど、ボストンついたときにはくるぶしまでずり下がっていたので怪しいが、帰りはちゃんと装着できていてむくみも無かった。 ヨックション(フライトソックス右のやつ) お尻を守ってくれるクッション。 お尻だけでなく腰も守ってくれた、神アイテム。 普段使いもできそう。 ネックピロー ポンプがついてて手で空気を入れられるタイプのやつ。 ユニクロのウルトラライトダウン ド定番のやつ、だけど今回はじめて買った。 機内の寒さ対策でもって行ったけど、ボストンは日本より 10℃ ほど気温が低くて結構着てた。 アイマスク アマゾンで買ったシルク 100% のやつ 今までアイマスク使ったことなかったけど周りの明るさを遮って寝られるのはよかった。 耳栓 ノイキャンイヤホンのバッテリーがなくなったときに使った。 スマホスタンド iFLEX ってメーカーのシリコン製スタンド。座席モニターの隙間に差し込んで使うやつ。 スマホを目線の高さに置いて動画見れると思って買ってみたけど、飛行機の揺れがダイレクトにスマホに伝わってほとんど使わなかった。 使い捨てスリッパ 機内では靴を脱いで過ごしたかったので、ビジネスホテルのアメニティだったスリッパを持参。 ホテルの部屋でも使ってた。 微妙にサイズが合わなかったので事前に確認しておくべきだった。 預け入れ手荷物も写真撮って記録しているけど下着が写ってるので割愛。 ...
Grafana Cloud を始めてみた
先日、Grafana Meetup Japan というコミュニティのイベントが開催されていました。 キーノートは JAXA の SLIM 月面着陸時に使われていた Grafana ダッシュボードの紹介で、着陸時の配信を見ていた自分はこのイベントを視聴(オンライン参加)して、案の定 Grafana 熱が高まってしまいました。 Grafana Meetup Japan #1 (2024/04/24 19:00〜) ## Grafana Meetup Japanへようこそ! このイベントは、オープンソースの監視・可視化ツールであるGrafanaについて、互いに学び、発信し、交流することを目的としています。 Grafanaは、ITインフラやアプリケーションの監視から、IoTデバイス、ビジネス指標、工場、物流、自然災害、宇宙に至るまで、あらゆる分野でのデータ可視化と監視を支援するツールです。 日本でも広く利用されつつありますが、Grafanaの最新情報や導入事例、プラクティスを学んだり発信したりする場は多くありませんでした。そこで、Grafana Labsと共にGrafana Meetup Jap... grafana-meetup-japan.connpass.com 我が家の Grafana は Kubernetes クラスタで稼働済みですが、自宅外では見れないような状況です。 そこで、Grafana 熱が冷めないうちに Grafana Cloud を使って外部からも自宅ラボの状況を確認できるようにします。 今回は Grafana Cloud を登録、自宅内の Kubernetes クラスタにある Prometheus をデータソースとしてダッシュボードに表示するところまでやっていきます。 Grafana Cloud の登録 まずは Grafana Cloud の登録から。 Grafana Cloud | Observability platform overview grafana.com 公式サイトでアカウントを作成して、Grafana stack とやらを作成します。 ...
ドメインを Cloudflare に移行したので cert-manager も対応した
Google Domains が事業売却されるという話から約半年、重い腰をあげてついに我が家のドメインも Cloudflare に移行対応しました。 半年も経てば Cloudflare への移行手順は多くの記事で紹介されているので、今回は Cloudflare 移行に伴って発生した自宅ラボで使っている cert-manager の移行対応を記録しておきます。 なぜドメイン移行先を Cloudflare にしたのか このブログでも使っている nnstt1.dev というドメインは Google Domains で購入していましたが、ネームサーバーを設定してレコードの管理自体は Azure DNS でおこなっていました。 Azure DNS で管理しているなら Azure 自体でドメインを購入すればいいじゃないかと思ったのですが、Azure でドメインを購入するサービスの App Service ドメインでは com、net、co.uk、org、nl、in、biz、org.uk、co.in のトップレベルドメイン (TLD) しか対応していなかったため、.dev ドメインは別のサービスを利用するしかありませんでした。 (そもそも Google Domains にしたのも Azure が .dev に対応してなかったからなのに、今回も移行できないか確認してしまったという…) というわけで他のドメインサービスを探すことになったのですが、おネームドットコムは論外ということ以外は特にこだわりはありませんでした。 半年前でもそうでしたが、やっぱり Cloudflare が移行先として人気のようで、右にならえで自分も Cloudflare に移行することにしました。 移行自体はすんなり完了したのと、レコード自体の管理も Terraform を使うようにしました。 cert-manager の対応 自宅ラボの Kubernetes クラスタでは証明書管理のための cert-manager を使っています。 クラスタで(自宅内に閉じて)公開しているサービスの証明書を Let’s Encrypt で発行していますが、そのためにはドメインの検証が必要になります。 検証の方法は 2 つあって、Let’s Encrypt から対象ドメインを使っているサービスにアクセスする HTTP Validation と、DNS に指定の TXT レコードを作成する DNS Validation があります。 ...