OSS - TECH PLAY - TECH PLAY

TECH PLAY

OSS

むベント

マガゞン

技術ブログ

こんにちは、゜リュヌションアヌキテクトの宇䜐矎です。 2026幎7月15日(æ°Ž) に開催された「Neuron Community – 2026 Vol.1」の様子をレポヌトしたす。このむベントは、2025幎3月に立ち䞊げられた「Neuron Community」の協力のもず開催したした。 今回は、 AWS Summit Japan 2026 開催埌ずいうこずもあり、AWS Summit Japan の振り返りや、AWS Neuron のアップデヌト情報が倚めの内容ずなっおいたす。 Neuron Community ずは AWS では、機械孊習のトレヌニングず掚論のための高性胜で費甚察効果の高い機械孊習アクセラレヌタ AWS Trainium 、 AWS Inferentia 、および深局孊習ず生成 AI ワヌクロヌドを実行するために䜿甚される SDK の AWS Neuron を提䟛しおいたす。「Neuron Community」は、ナヌザヌ間で AWS Trainium / AWS Inferentia / AWS Neuron の知芋共有を促進する堎ずしお発足したした。 「Neuron Community」は、䞻に Discord を䜿甚しお運営されおいたす。興味を持っおいただいた方は、䞋蚘の URL から参加しおみおください。 AWS Neuron Community (Discord) : https://discord.gg/DUx4g3Z3pq オヌプニングNeuron Community の成り立ちずカラクリ瀟での Trainium 取り組み玹介 äž­å±± 智文 氏カラクリ株匏䌚瀟 取締圹 CPO) 資料埌日公開 オヌプニングセッションでは、カラクリ株匏䌚瀟の䞭山氏より発衚しおいただきたした。カラクリ株匏䌚瀟は、2023幎より䞀貫しお AWS Trainium を利甚し続けおおり、Neuron Community の立ち䞊げにも倧きな貢献をしおいただいおいたす。この発衚では、Neuron Community の始たりに぀いお玹介しおいただきたした。たた、カラクリ株匏䌚瀟の AWS Trainium に関する2぀の取り組みに぀いおも玹介しおいただきたした。1぀目の取り組みは、Amazon EKS 䞊に構築された 「Neuron 分散孊習プラットフォヌム」 です。このプラットフォヌムを構築するこずで、むンフラ関連の知識が十分ではないメンバヌでも分散孊習を実行できる環境の敎備を進めおいるそうです。2぀目の取り組みは、AWS Trainium の NKI カヌネル開発を促進するための 「カヌネル開発゚ヌゞェント」 です。この AI ゚ヌゞェントにより、NKI カヌネル開発を゚ヌゞェントが自埋的に進められるようになるずいうこずです。最埌に、今埌の Neuron Community の掻動に぀いお、よりオヌプンな堎にしおいきたいずいう発信をしおいただきたした。 AWS Summit Japan 振り返り① セッションダむゞェスト「⌀芏暡孊習から AI ゚ヌゞェントの掚論たで ~ コスト効率ず性胜が䞡✎する AWS Trainium の党貌 ~」 柀 亮倪 (Amazon Web Services Japan G.K.) 資料 “AI ゚ヌゞェントの掚論から⌀芏暡孊習たで” コスト効率ず性胜が䞡✎する AI むンフラ ̶ AWS Trainium の党貌 Amazon Web Services Japan G.K. の柀からは、 AWS Summit Japan 2026 の振り返りずしお、「”AI ゚ヌゞェントの掚論から倧芏暡孊習たで” コスト効率ず性胜が䞡立する AI むンフラ ヌ AWS Trainium の党貌」のセッションを、15 分のダむゞェスト版で玹介したした。このダむゞェストでは、AWS Trainium の兞型的な䜿い方ずしお、 “A. コヌドはそのたたで孊習コストを䞋げたい” 、 “B. 性胜を最適化したい” 、 “C. 掚論コストを固定化したい” の3点に泚目しお説明したした。 A. では、 Native PyTorch supportベヌタ版 を䜿い、GPU向けPyTorchコヌドのデバむス指定を cuda から neuron に倉曎しお、AWS Trainium 䞊で孊習を実行する方法を玹介したした。デモでは、GPT-2 の孊習スクリプトを実行したした。B. では、 NKI (Neuron Kernel Interface) により AWS Trainium のハヌドりェア呜什セットに盎接アクセスしお AI カヌネルの最適化が可胜であるこずを玹介したした。たた、性胜最適化ずデバッグのワヌクフロヌを支揎する Neuron Explorer、NKI の開発を AI ゚ヌゞェントで加速するためのオヌプン゜ヌスツヌルキットの “Neuron Agentic Development” に぀いおも玹介し、Neuron Agentic Development のデモを芋おいただきたした。C. では vLLM on Trainium を䜿うこずで、オヌプンりェむトモデルをAWS Trainium 䞊でサヌビングできたす。ここでは、openai/gpt-oss-20b モデルを AWS Trainium 䞊でサヌビングするデモを芋おいただきたした。 AWS Summit Japan 振り返り② ãƒ–ヌス展瀺玹介「✣成 AI を✀えるむンフラ技術」 赀柀 Toshinobu (Amazon Web Services Japan G.K.) Amazon Web Services Japan G.K. の赀柀からは、 AWS Summit Japan 2026 の振り返りずしお、ブヌス展瀺「生成AIを支えるむンフラ技術」に぀いお玹介したした。この展瀺は、耇数のマルチモヌダルモデルを Amazon EC2 trn2.48xlarge でサヌビングする様子を芋おいただくもので、マルチモヌダルモデルで画像の線集を行いたす。音声で画像線集の指瀺をするず Whisper Large v3 で音声認識を行い、Qwen3-VL-8B-Instruct で元になる画像を線集するための指瀺を生成したす。指瀺は Qwen-Image-Edit-2511 に枡され、画像が線集されたす。線集された画像は、Qwen3-VL-8B-Instruct を䜿っお指瀺通りに線集できおいるかを講評し、XTTSv2 で音声出力したす。この発衚では、匹の子猫のむラストを、4匹に増やすずいう画像線集の様子を芋おいただきたした。 たた、このデモを実珟しおいるアヌキテクチャに぀いおの説明も行いたした。4぀のモデルのtrn2.48xlarge の 64 論理コアぞのアロケヌションや、モデルのデプロむフロヌなども説明しおいたす。 AWS Trainium / Inferentia / Neuron SDK 最新アップデヌト åžžäž– 倧史 (Amazon Web Services Japan G.K.) 資料 Neuron Communit 2026 Vol.1 AWS Trainium / Neuron 最新アップデヌト Amazon Web Services Japan G.K. の垞䞖からは、ちょうどむベント前日にテレビ東京の WBSワヌルドビゞネスサテラむトで AI 向けアマゟン独自の半導䜓開発が特集 されたこずに觊れ、自身が所属するアマゟン内のチップ開発郚隊「アンナプルナラボ」に぀いお玹介したした。Anthropic ずの共同プロゞェクト Project Rainier では、これたでに 140 䞇個超の Trainium 2 および Trainium 3 チップが皌働䞭であるこずWBS 内の特集にお玹介、 OpenAI が 2GW 芏暡での Trainium 採甚を発衚 したこず、たた埓来のチャットボット型 AI から゚ヌゞェント型 AI ぞずシフトする䞭で、AI チップに加え AWS Graviton プロセッサの重芁性が増しおいる点を玹介したした。 Meta が数千䞇の Graviton コアで Agentic AI をスケヌルしおいる事䟋 にも觊れたした。 次に、柀のセッションでも玹介された AWS Trainium 向けの SDK「AWS Neuron」のアップデヌトずしお、ラむブラリのネむティブ化Native PyTorch、Native vLLMの最新状況を玹介したした。 たた、7 月 7 日にリリヌスされた最新の Neuron 2.31 では、性胜最適化の芁である NKINeuron Kernel Interfaceず NKI Library に倧きなアップデヌトがあった点、さらに NKI カヌネル開発甚の゚ヌゞェントコヌディング機胜 Neuron Agentic Development によるカヌネル自動最適化ルヌプぞの泚力を玹介し、セッションを締めくくりたした。 ※ むベント開催埌の 2026幎7月20日(月) に vLLM Neuron Beta がパブリックリリヌスしたした さいごに 通算3回目の Neuron Community は、カラクリ株匏䌚瀟での AWS Trainium ぞの取り組みの発衚や、AWS Summit Japan 2026 の振り返り、AWS Neuron 関連の最新アップデヌト情報の玹介ず、充実した内容ずなりたした。AWS Summit Japan 2026 のセッション動画は、 AWS Summit Japan の Web ペヌゞ に登録いただくこずでオンデマンド芖聎が可胜です。ご興味のある方は、ぜひ登録しおみおください。 発衚埌には今埌の Neuron Community に぀いおのディスカッションも行われ、玄 1 幎ぶりの開催ずなったこずを螏たえ、より高い頻床で開催しおいこうずいう声が挙がりたした。AWS ずしおも積極的に支揎しおいきたす。 今埌の Neuron Community も、Discord を䞭心に募集や告知を行っおいきたす。興味を持っおいただいた方は、ぜひ、䞋蚘の URL から参加しおみおください。 AWS Neuron Community (Discord) : https://discord.gg/DUx4g3Z3pq 著者に぀いお 宇䜐矎 雅简 (Usami Masanori) 補造業のお客様を担圓する゜リュヌションアヌキテクトです。 補造業のお客様のクラりド掻甚を支揎しおいたす。 åžžäž– 倧史 (Tokoyo Hiroshi) AWS Annapurna Labs の゜リュヌションアヌキテクトです。 Annapurna Labs が提䟛する AWS Trainium、Inferentia の技術支揎に泚力しおいたす。  
1. はじめに こんにちは。プラットフォヌム゚ンゞニアリングチヌムに所属する小泉 @naotoko_ です。 本蚘事は、同チヌムの埳富 @yannKazu1 が執筆した「 消えるランナヌの芳枬基盀をどう遞んだか — Datadog・マネヌゞド・OSS を料金䜓系で比べお Loki + Prometheus に決めた話 」の本番環境ぞの導入線です。EKS Auto Mode でホストしおいる Self-hosted Runner の監芖基盀に Grafana・Prometheus・Loki・Alloy を導入した際にハマったポむントず解決策を、各コンポヌネントごずにお䌝えしたす。 Grafana・Prometheus・Loki・Alloy をどのような構成で実装したかは、䞊蚘ブログの「 実装どう組んだか 」をご芧ください。 2. Alloy - メトリクスが重耇する・取れない 2-1. DaemonSet の重耇 scrape 問題 Alloy は DaemonSet でデプロむしおおり、党ノヌドに1぀ず぀ Pod が立ち䞊がる構成ずなっおいたす。 デフォルトのたた䜿甚するず、Alloy はメトリクス収集時にクラスタヌ党䜓から scrape 察象の䞀芧を取埗し、そのリストに察しお定期的に HTTP リク゚ストを送りたす。DaemonSet の各 Pod がそれぞれ独立しおこれを実行するため、党 Pod が同じタヌゲット䞀芧を取埗しおしたいたす。 たずえば kube-state-metrics や ARC controller のようにクラスタヌに1぀しかない゚ンドポむントは、党おの Alloy Pod が同じ゚ンドポむントを scrape しに行くためノヌド数分重耇したす。さらに、node-exporter や kubelet のようにノヌドごずに存圚する゚ンドポむントでも、各 Alloy Pod がクラスタヌ党ノヌド分の゚ンドポむントを発芋しお党お scrape するため、同様にノヌド数分重耇したす。その結果、党おの scrape 察象で同䞀のメトリクスが重耇しお Prometheus に送られおしたいたす。 各 Alloy Pod がそれぞれ独立にクラスタヌ党䜓のタヌゲット䞀芧を取埗するため、クラスタヌに1぀しかない kube-state-metrics も、ノヌドごずに存圚する kubelet も、党 Pod から scrape される。 なぜログ収集では同じ問題が起きないか ログ収集は各 Alloy Pod がノヌドのロヌカルファむル /var/log/pods/ を読む方匏です。ノヌドAの Alloy はノヌドAのログだけ、ノヌドBの Alloy はノヌドBのログだけを読むため、Pod 間でデヌタが重耇したせん。読む察象がノヌド単䜍で自然に分割されおいるため、メトリクスのような重耇の問題が起きたせんでした。 解決策Alloy のクラスタリングを有効化する Alloy にはクラスタリング機胜があり、Pod 同士がクラスタヌを圢成しお scrape 察象を自動的に分担したす。詳しい仕組みは割愛 Alloy Pod 同士がクラスタヌを組み、各タヌゲットの担圓をいずれか1぀の Pod に決める。担圓はハッシュで決たるため、図のように自分ず同じノヌド䞊のタヌゲットを担圓するずは限らない。 蚭定は2段階必芁です。たず Helm chart の values でクラスタリングを有効化し、DaemonSet の党 Pod がクラスタヌを圢成するようにしたす。 alloy : clustering : enabled : true そのうえで、分担させたい各 prometheus.scrape ブロックに clustering { enabled = true } を付けたす。 prometheus.scrape "kube_state_metrics" { targets = [...] clustering { enabled = true } forward_to = [prometheus.remote_write.default.receiver] } 泚意点ずしお、この2぀はセットで初めお機胜したす。Helm values 偎を有効化せずに prometheus.scrape 偎だけ曞いおも no-op䜕もしないになり、逆に Helm values 偎だけ有効化しおも clustering ブロックを付けおいない scrape コンポヌネントは埓来どおり党 Pod が独立に scrape し続けたす。 2-2. kubelet scrape の InternalIP 察応 Grafana でメトリクスを確認するず Pod の CPU・メモリが No data になっおいたした。調べるず kubelet の scrape が党ノヌドで倱敗しおいたした。 原因は Alloy が __meta_kubernetes_node_name ノヌド名を scrape 先のアドレスずしお䜿っおいたためです。EKS Auto Mode ではノヌド名がむンスタンス ID になるため名前解決できず、党ノヌドでタむムアりトしおしたっおいたした。 通垞の EKS ではノヌド名は ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal のようなプラむベヌト DNS 名になるため、 __meta_kubernetes_node_name でも名前解決できたす。䞀方 EKS Auto Mode では i-xxxxxxxxxxxxxxxxx のような EC2 むンスタンス ID がノヌド名になるため、名前解決できないずいう状況でした。 解決策InternalIP を䜿う __meta_kubernetes_node_address_InternalIP に切り替えるこずで、ノヌド名ではなく IP アドレスで盎接アクセスするようにしたした。 rule { source_labels = ["__meta_kubernetes_node_address_InternalIP"] regex = "(.+)" replacement = "${1}:10250" target_label = "__address__" } 3. Prometheus - OOM ず欠損ずの戊い 3-1. OOM 問題 導入埌、Prometheus サヌバヌが OOMKilled → 再起動を繰り返すようになりたした。原因は1぀ではなく、耇数が重なっおいたした。 原因1Alloy ず Prometheus の二重取り蟌み Prometheus の Helm chart はデフォルトでいく぀かの scrape job kubernetes-nodes-cadvisor ・ kubernetes-pods 等が有効になっおいたす。今回の構成では Alloy が䞀元的に scrape しお Prometheus に remote_write する蚭蚈のため、Prometheus 自身の scrape job ず Alloy の remote_write で同じメトリクスが2経路で入っおいたした。 これは Alloy が scrape するタヌゲットず重耇しおいる chart デフォルトの scrape job を無効化するこずで解決するこずができたす。 scrapeConfigs : kubernetes-nodes : false kubernetes-nodes-cadvisor : false kubernetes-pods : false # ... 原因2cAdvisor の高 cardinality ラベル cAdvisor は kubelet に組み蟌たれおおり、コンテナのリ゜ヌス䜿甚量を収集するコンポヌネントです。Alloy は kubelet の /metrics/cadvisor ゚ンドポむントを scrape するこずでこのメトリクスを取埗しおいたす。cAdvisor のメトリクスには image ・ name などのラベルが付いおおり、同時皌働するランナヌ数が倚いほど cardinality系列数が爆発的に増えおしたいたす。 そこで、Prometheus に送る前の段階で Alloy 偎でメトリクスやログ調査に䞍芁なラベルを drop するこずで、Prometheus に送られる系列数を極力枛らすようにしたした。 ちなみに、 image はコンテナむメヌゞ名、 name はコンテナランタむム䞊のコンテナ IDcontainerd では 64 桁の 16 進文字列が入りたす。 name はコンテナが起動するたびに異なる倀になるためほがナニヌクであり、集蚈や絞り蟌みには䜿わないず刀断し、この2぀のラベルを drop したした。䞀方で、メトリクスのク゚リで実際に䜿う namespace ・ pod ・ container ずいったラベルは残しおいたす。環境に応じお、調査に䜿わないラベルは可胜な範囲で drop するようにするのが無難です。 rule { regex = "image|name" action = "labeldrop" } ただし、 id ラベルだけは残す必芁がありたす。cAdvisor は同じメトリクス名で耇数のコンテナの情報を収集しおおり、それぞれを区別するために id ラベルが䜿われおいたす。 id を drop するず異なるコンテナのメトリクスがラベルセット䞊で同䞀系列ずしお扱われおいしたいたす。その結果、同じタむムスタンプに耇数のサンプルが届き、 Prometheus が duplicate sample for timestamp ゚ラヌを返しおしたうため泚意が必芁です。 原因3Head Block のメモリ垞駐 Prometheus はメトリクスを受け取るず、曞き蟌み効率のためにたずメモリ䞊に䞀時的に貯めたす。これが Head Block です。 䞀定時間が経぀ずメモリから EBS 䞊のファむルに曞き出されたす。デフォルトでは Head Block が3時間分min-block-duration の1.5倍に達した時点で叀い2時間分がブロックずしお曞き出されたす。぀たり垞に1〜3時間分のデヌタがメモリに残り続けるため、メトリクスの量が倚いほどメモリ䜿甚量が増えたす。 storage.tsdb.min-block-duration を 2h から 30m に短瞮するこずでこの「䞀時的に貯める時間」を短くし、より頻繁に EBS に曞き出すこずでメモリ垞駐量を削枛したした。その代わり、以前はメモリから取埗できおいたデヌタが EBS から取埗されるためク゚リが遅くなるトレヌドオフがありたす。Self-hosted Runner の監芖ずいう性質䞊、確認したいのは基本的に盎近の状況であるため、30分より叀いデヌタの取埗が倚少遅くなっおも問題ないず刀断しおいたす。 なお、 storage.tsdb.min-block-duration は --help にも衚瀺されない hidden フラグで、公匏には「テスト甚途」ずされおいたす。挙動を理解したうえで利甚しおください。 extraArgs : storage.tsdb.min-block-duration : 30m 3-2. out-of-order サンプル問題 Alloy クラスタリングを有効化しおから、Prometheus に out of order sample ゚ラヌが倧量に出るようになりたした。 Alloy のクラスタリングは Pod の増枛をトリガヌにタヌゲットの再配分を行いたす。Self-hosted Runner はゞョブの増枛に応じおノヌドが頻繁にスケヌルするため、Alloy の Pod も増枛し、再配分が頻繁に起きたす。Alloy のクラスタリングによるタヌゲットの分担は eventually consistent なモデルであるため、再配分の匕き継ぎのタむミングによっおは同じタヌゲットが䞀時的に2぀の Pod から scrape されるこずがありたすgrafana/alloy の issue #1611・#2348 でも報告されおいる既知の挙動です。この状態で同じ時系列のサンプルが2぀届くず、埌着のサンプルのタむムスタンプが先着より叀い堎合がありたす。するず Prometheus はこれを out-of-order ずしお拒吊し、該圓のサンプルを捚おおしたいたす。その結果、 Grafana で確認できるメトリクスに欠損が生じおしたいたす。 解決策out-of-order time window を蚭定する out_of_order_time_window を蚭定するこずで、指定した時間内の過去のタむムスタンプを受け入れるようになりたす。匊瀟の環境では、最終的に 10m に萜ち着きたした。out-of-order のサンプルを保持するためのメモリが若干増えたすが、 storage.tsdb.min-block-duration を 30m に短瞮しお Head Block のメモリを節玄できおいるため、特に問題ないず刀断し、10m に蚭定しおいたす。 tsdb : out_of_order_time_window : 10m 4. Loki - chart 移管の眠ず起動しない Pod 4-1. Helm chart リポゞトリ移管の眠 Loki の Helm chart はもずもず grafana/helm-charts  https://grafana.github.io/helm-charts で配垃されおいたした。 しかし chart v6.55.0 を最埌に OSS Loki 向けの chart は grafana-community/helm-charts  https://grafana-community.github.io/helm-charts ぞフォヌクされ、v7.0.0 以降は community 偎からリリヌスされおいたす。埓来のリポゞトリに残った loki chart は Grafana Enterprise LogsGEL向けのメンテナンス専甚になりたした。 そのため、 grafana/helm-charts を䜿い続けるず、気づかないうちに GEL 向けの chart を匕いおしたいたす。 合わせお以䞋の倉曎もあるので、泚意が必芁です。 フォヌク埌はメゞャヌバヌゞョンの䞊がるペヌスが非垞に速いv7.0.0 から数ヶ月で v17.x、執筆時点の最新は v18.x deploymentMode の倀が SingleBinary → Monolithic にリネヌムchart v12.0.0。なお values のキヌは singleBinary のたた倉わっおいたせん resource "helm_release" "loki" { repository = "<https://grafana-community.github.io/helm-charts>" # ここが倉わった chart = "loki" version = "17.1.6" ... } # chart v12.0.0 以降 deploymentMode : Monolithic # SingleBinary から倉曎 4-2. StorageClass が自動䜜成されない Loki の Pod がスケゞュヌルされず、以䞋の゚ラヌが出おいたした。 eks-auto-mode/compute Failed to schedule pod, unbound pvc must define a storage class 通垞の EKS では EBS CSI driver addon がデフォルトの StorageClass を自動䜜成したすが、EKS Auto Mode では䜜成されたせん。StorageClass が䜜成されおいないず、PVC がバむンドできず Pod が起動したせん。 そのため、StorageClass を手動で䜜成し、Loki の PVC に指定するこずで解決したした。 # StorageClass の手動䜜成 apiVersion : storage.k8s.io/v1 kind : StorageClass metadata : name : auto-ebs-sc provisioner : ebs.csi.eks.amazonaws.com volumeBindingMode : WaitForFirstConsumer parameters : type : gp3 encrypted : "true" # loki.yaml singleBinary : persistence : storageClass : auto-ebs-sc 5. Grafana - デプロむ戊略ずコヌド管理 5-1. EBSRWOず RollingUpdate の盞性問題 Grafana を helm upgrade したずき、Pod が新しくなるはずが延々ず Pending のたた膠着したした。原因は EBS の制玄です。 EBS は RWOReadWriteOnceのため、1぀の Node にしか同時にアタッチできたせん。デフォルトの RollingUpdate は新しい Pod を起動しおから叀い Pod を萜ずす順番なので、新旧の Pod が同じ PVC を取り合っお Multi-Attach error が発生したす。 解決策Recreate 戊略に倉曎する Recreate にするず「旧 Pod 終了 → EBS detach → 新 Pod 起動」ずいう順番になりたす。replicas=1 の構成なので曎新時に短時間のダりンタむムが発生したすが、監芖基盀ずいう特性を螏たえお瞬断は蚱容し、 Recreate に蚭定しおいたす。 deploymentStrategy : type : Recreate 5-2. Dashboard・Alerting のコヌド管理 なぜ Terraform provider ではなく Helm values で管理するか Grafana のダッシュボヌドずアラヌトルヌルをコヌド管理する方法ずしお、 grafana Terraform provider を䜿う方法もありたす。しかし今回は Helm valuesYAML/JSONでの管理を遞びたした。 理由はシンプルで、Grafana の UI でダッシュボヌドやアラヌトルヌルを䜜り蟌んだあず、そのたた JSON/YAML で゚クスポヌトしお Helm values に貌り付けるだけでコヌド管理できるからです。Terraform のリ゜ヌス定矩に萜ずし蟌む手間が䞍芁で、UI で確認しながら䜜ったものをそのたた反映できたす。 Grafana の Helm chart は provisioning の仕組みを持っおおり、values に曞いたダッシュボヌド定矩やアラヌトルヌルを起動時に自動で読み蟌みたす。 YAML 管理による制玄削陀は deleteRules に明瀺が必芁 アラヌトルヌルを YAML から削陀しおも、Grafana 䞊のルヌルは消えたせん。アラヌトルヌルの provisioning は远加・曎新しおくれたすが、削陀は行いたせん。 これは Grafana の蚭蚈䞊の安党策です。file-based provisioning はステヌトレスで、Grafana は「この YAML がルヌルの党量である」ずいう保蚌を持おたせん。耇数ファむルから同時にプロビゞョニングできる蚭蚈䞊、「ファむル A にないルヌル」がファむル B で管理されおいるかもしれず、Grafana にはどのファむルが䜕を管理しおいるか刀断できたせん。たた蚭定ファむルのバグやマりント倱敗で䞀時的にファむルが読めなくなったずき、自動削陀だずアラヌトルヌルが党消えするリスクもありたす。Terraform が管理察象を state ファむルで远跡しおいるから自動削陀できるのず察照的で、file-based provisioning にはその state 抂念がないため、削陀の意図を明瀺する仕組みずしお deleteRules が甚意されおいたす。 ルヌルを削陀するには以䞋のように UID を指定したす。 alerting : rules.yaml : groups : - ... deleteRules : - orgId : 1 uid : hoge-alert # 削陀したいルヌルの UID を明瀺 6. 専甚 NodePool ぞの分離 Prometheus・Loki・Grafana・Alloy ずいった芳枬性コンポヌネントを、Runner ず同じ NodePool に混圚させおいるず2぀のリスクがありたす。 1぀目は、Prometheus の OOM のような芳枬性コンポヌネントのリ゜ヌスプレッシャヌが同じノヌド䞊のランナヌの動䜜に悪圱響を䞎えるリスクです。 2぀目は、Karpenter の consolidation に巻き蟌たれるリスクです。runner が䜿う NodePool は業務時間垯の consolidation を無効にしおおり、早朝の限られた時間垯のみ有効になる蚭定にしおいたす。この時間垯に consolidation が走ったずき、同じ NodePool にいる芳枬性コンポヌネントの Pod が別ノヌドに移動させられ、メトリクスやログが欠損するリスクがありたす。 専甚 NodePool に分離するこずで、これらの問題をランナヌから切り離せたす。 Karpenter で dedicated=observability:NoSchedule の taint を付けた専甚 NodePool を甚意し、Prometheus・Loki・Grafana などの Deployment / StatefulSet 系コンポヌネントに察応する toleration ず nodeSelector を蚭定したした。なお、DaemonSet である Alloy ず node-exporter は党ノヌドで動かす必芁があるため toleration のみ付䞎しおいたす。 # NodePool taints : - key : dedicated value : observability effect : NoSchedule # 各コンポヌネント tolerations : - key : dedicated value : observability effect : NoSchedule nodeSelector : karpenter.sh/nodepool : observability 監芖甚コンポヌネントに぀いおもランナヌず同じく、arm64 on-demand むンスタンスを䜿甚するようにしおいたす。 ただし、むンスタンスタむプの指定が甘いず Karpenter がコンピュヌト最適化むンスタンスc6g.large / 4GB RAMを遞んでしたい、Loki や Grafana が OOMKill されるずいう問題が起きおしたいたす。observability スタックのメモリ䜿甚量を実際に確認したうえで、NodePool の requirements に 8GB 以䞊のむンスタンスを指定するなど、きちんずメモリ芁件に合ったむンスタンスが遞ばれるように泚意が必芁です。 requirements : - key : eks.amazonaws.com/instance-memory operator : Gt values : [ "7168" ] # 8GB 以䞊 7. たずめ Grafana・Prometheus・Loki・Alloy を Self-hosted Runner の監芖基盀ずしお導入するにあたり、各コンポヌネントで様々なハマりポむントがありたした。特に Prometheus の OOM は耇数の原因が重なっおおり、1぀解決しおも次の問題が出おくる圢で察応に時間がかかりたした。たた EKS Auto Mode には通垞の EKSマネヌゞドノヌドグルヌプ等ず蚭定においお異なる郚分があるため、EKS Auto Mode に初めお觊る方や移行を考えおいる方は特に泚意しおください。 同じ構成を怜蚎しおいる方の参考になれば幞いです。
1. はじめに 以前、以䞋の蚘事でAWS AI Leagueに぀いお玹介したした。 https://zenn.dev/nttdata_tech/articles/a907eb00cbbe4b AWS AI Leagueは、競技圢匏で生成AIの技術を孊ぶプログラムです。䞻に、次の2぀のテヌマが甚意されおいたす。 Amazon SageMaker AIを利甚したモデルのファむンチュヌニング Amazon Bedrock AgentCoreを利甚したAgentic AI Agentic AIチャレンゞでは、AI゚ヌゞェントがマップ䞊を移動し、コむンの取埗や質問ぞの回答などを行いながら、

動画

曞籍

おすすめマガゞン

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

Claude Codeを組織で䜿いこなす— サヌバサむドAI゚ヌゞェント運甚の実践知

蚘事の写真

゜フトバンク×OpenAIが挑む「AIの瀟䌚実装」── 日本最倧玚の倉革、その最前線ぞ

蚘事の写真

PM × 生成AI ― 日々の業務における生成AIの利掻甚

新着動画

蚘事の写真

【ルヌプ゚ンゞニアリングずは】AIに自動で仕事を任せる前に決めるべき4぀のこず

蚘事の写真

「Noetra」単なる囜産ChatGPTではない。3,800億円PJの本圓の狙い。゚ンゞニアが求められるスキルの倧転換

蚘事の写真

【ゞュニア゚ンゞニア䞍芁論】消えるのぱンゞニアだけなのか産業革呜の歎史から考える