LINEヤフー Tech Blog

LINEヤフー株式会社のサービスを支える、技術・開発文化を発信しています。

AthenzエンジニアはなぜKubestronautに挑戦したのか?

こんにちは。Security Platform Engineerをしている金 廷祐(Kim, Jeongwoo)です。

私は社内のプライベートクラウド環境で、アクセス制御の中核を担うオープンソースプロジェクトAthenzの提供を担当しています。Athenzは、米国のYahoo Inc. とLINEヤフーが協力して開発に貢献し、現在はCNCF(Cloud Native Computing Foundation)のSandboxプロジェクトにも登録されている、サービス間の認証・認可システムです。数多くのマイクロサービスが動く複雑なKubernetes環境において、「誰が、どのサービスに、どんな権限でアクセスできるのか?」という重要な課題を解決する、私たちのシステムの"頼れる門番"のような存在です。

私の主な業務はこのAthenzですが、今日のブログでは少し違う話をしようと思います。テーマは、CKA、CKAD、CKS、KCSA、KCNAという合計5つの資格を取得した者に与えられる称号、Kubestronautになった私の経験についてです。

Athenz担当の私がKubernetesエキスパートへの道、すなわちKubestronautの認定を目指すことになった経緯をお話しします。

そもそもKubestronautとは?

本題に入る前に、皆さんが一番気になっているかもしれない「Kubestronaut」について、少しだけ詳しく説明させてください。

Kubestronautとは、一言で言えば「Kubernetesの熟練した航海士」のような称号です。この称号は、CNCFによって授与されます。CNCFは、KubernetesやPrometheusといった、今やクラウドネイティブ技術の中核をなす多くのオープンソースプロジェクトをホストしている、Linux Foundation傘下の非常に重要な組織です。

この称号を得るためには、

という合計5つの認定資格をすべて取得する必要があります。

特に重要なのは、CKA、CKAD、CKSの3つが、知識を問う選択問題形式の試験ではなく、実際にターミナルを操作して問題を解決する、実践的なスキルが問われるハンズオン形式の試験であるという点です。制限時間内に本番さながらの環境で課題をクリアしなければならないため、Kubernetesの管理、開発、そしてセキュリティに関する最高レベルの専門知識と実践的スキルを持つ技術者であることの国際的な証明となります。

CNCFの公式サイトにも認定者リストが掲載されており、世界中のトップエンジニアたちとともに名を連ねることは、非常に名誉なことなのです。

この険しくも価値ある道のりを、なぜAthenz担当の私が目指すことになったのか。ここから、私の挑戦記が始まります。

必要性から専門性へ:私のKubestronaut挑戦記

すべての始まり、CKAD

正直に言うと、最初からKubestronautになるという壮大な目標があったわけではありません。私の挑戦は、社内のKaaS(Kubernetes as a Service)プラットフォームで、Athenz導入のための開発・運用を担当することになったのがきっかけでした。Kubernetesには常に興味を惹かれていましたが、あまりにも巨大で難しそうに感じていたのも事実です。しかし、担当になったからには、もう単なる好奇心で終わらせるわけにはいきません。業務を遂行するために、必ず乗り越えなければならない壁となりました。

もともと私は語学が好きで、毎年一つずつ資格を取る習慣がありました。TOEIC 965点、中国語のHSK4級・5級、日本語のJLPT N2・N1などを取得する中で、達成感とともに体系的に学ぶことの楽しさを知っていました。そこで「どうせやるなら、王道で深く学んでみよう」と決意し、CKAD(Certified Kubernetes Application Developer) の取得を最初の目標に掲げました。

数あるKubernetes資格の中で、私が最初の目標としてCKADを選んだのには明確な理由がありました。私の役割は、Athenzという「アプリケーション」をKubernetes上で安定的かつ効率的に提供することです。つまり、まずはアプリケーション開発者の視点でKubernetesを完璧に理解する必要があったのです。

CKADは実践的なハンズオン試験で、制限時間内に問題を特定し、解決する能力が問われます。そのため、正確性と同じくらいスピードが重要です。この試験の準備を通じて、実務で問題が発生した際の状況把握と対応のスピードが目に見えて速くなりました。普段からスピーディーな仕事の進め方を好む自分の性格にも合っており、これは大きな満足感につながりました。

約4ヶ月間、平日は出勤前に毎日5分~1時間、週末は最低1時間以上の勉強を続け、試験直前の週末には12時間以上机に向かうこともありました。特に、本番の試験環境と似ていながら、はるかに難しい問題が出題されるkiller.shは、本当に力がつきました。

視野を広げるための次の一歩、CKA

CKADを通じて、アプリケーション視点でのKubernetesのスキルは身につきました。しかし、私の役割はそれだけでは終わりません。LINEヤフーのインフラ規模では、複数のクラスターを同時に管理する必要があり、時には他のチームが管理するManifestを深く読み解く場面もありました。より広い視野と深い知識が求められたのです。そこで、ごく自然な流れでCKA Certified Kubernetes Administratorに挑戦することにしました。

CKADがアプリケーションの問題解決に重点を置くのに対し、CKAはアプリケーションが稼働するKubernetesクラスター自体の問題を診断し、解決することに焦点を当てます。CKAの学習を通して、Kubernetesが魔法のように動いているのではなく、数多くのコンポーネントが有機的に連携して動作する、複雑ながらも精巧なシステムであることを理解できました。特に、あれほど多くのマイクロサービスがありながらも、うまく機能していることに驚きました。大きな設計をする際には、責務を明確かつシンプルにすることで、システム全体がうまく機能するということを学んだのです。この学びは、後の設計業務にも非常に役立ちました。

最後の関門、CKS

私の専門分野はセキュリティなので、最後のパズルピースは当然 CKS (Certified Kubernetes Security Specialist) でした。最終的にCKSを取得し、開発・運用・セキュリティを網羅する全体像を完成させることができました。

CKSもまた、与えられたセキュリティ課題を解決する実践的な試験で、Kubestronautになるための最難関として知られています。「システムのセキュリティレベルは、その最も弱い部分によって決まる」という言葉があります。私が担当するAthenzの安定性だけでなく、それが稼働するKubernetesクラスター自体のセキュリティにも責任を持つべきだと考えたとき、CKSの取得は必須の道のりでした。非常に難易度が高いことで有名ですが、この過程を通じて、Kubernetesのセキュリティベストプラクティスや脆弱性分析、ネットワークポリシーの設定など、実践的なクラスター強化技術を身につけることができました。

残りのKCSAKCNAは、これら3つの高難易度資格を突破した実力があれば比較的スムーズに取得可能で、それぞれ1ヶ月ほどの準備期間で資格を追加しました。

成長の証:Kubestronautになって得たもの

cncf_jeongwoo_kim

ついに5つの資格をすべて取得し、CNCFの公式サイトにKubestronautとして登録されました。私が知る限り、社内初のKubestronautになったようです。この過程で得たものは、単なる資格以上の価値がありました。

その代表が、オープンソースのガバナンスに対する理解です。Kubernetesのような巨大なプロジェクトが、SIG(Special Interest Groups)やPRのルールなどを通じて、数多くのコントリビューターとともに成長していくのかを垣間見ることができました。これは「偉大な技術コミュニティはいかにして機能するのか」という深い洞察を与えてくれ、私たちのチームがAthenzプロジェクトをSandboxからIncubatingステージへと成長させるための戦略を考える上でも、多くのインスピレーションを与えてくれました。

こうした成長は、最近私が担当しているAthenzをBare Metal as a Service環境に提供するプロジェクトで早速活かされています。資格勉強で培ったアーキテクチャへの深い理解があったからこそ、より安定的で効率的な構造を設計し、チームメンバーを説得することができたのです。

私なりの勉強法:「牛歩千里」の姿勢で

私は「牛の歩みも千里」ということわざが好きです。人生は短距離走ではなくマラソンなので、一歩一歩着実に進むことが大切だと考えています。

私には、毎朝4時半、日によっては3時に起き、運動をし、GitHubに最低1コミットを残し、ITの勉強をたった1分でもするという習慣があります。これは「今日頑張るぞ」という意識的な努力ではなく、息をするのと同じくらい自然な日課になりました。資格を一つ取るには想像以上の努力と時間が必要ですが、毎日少しずつ続けていれば、いつの間にか試験を受けられるレベルに到達しています。皆さんも、1日1分でもITの勉強をすることから始めてみてはいかがでしょうか?

成長を可能にした環境

もちろん、これらすべてが私一人の努力だけで成し遂げられたわけではありません。会社のサポートと文化がなければ、はるかに困難な道のりだったでしょう。LINEヤフーには、Udemy Businessを通じて最新の技術講座をいつでも受講できる制度や、ハイブリッド勤務によって通勤時間を学習に充てられる環境があります。また、組織によっては資格取得・認定・更新にかかる費用を負担する制度があります。私が所属する組織では、セキュリティに関する資格取得を支援する制度があり、特定の資格に対して支援がされています。

日本国内の数多くのユーザーが利用するサービスを担当するため責任は重大ですが、その分、最高の同僚たちと協力して問題を解決していくプロセスは本当に楽しいです。このような環境のおかげで、健全なストレスレベルを保ちながら、週末も無為に過ごすことなく、来週のために必要な勉強をするなど、自己投資に集中できています。

何よりも、私たちのチームは単に与えられタスクを進めるだけでなく、システム全体のアーキテクチャを理解し、理想像を共有して開発を進めていくことを重視しています。決して妥協することはなく、壁にぶつかった時には最高の仲間たちと議論を交わしながら答えを見つけ出していく、その過程自体が最大のモチベーションになっています。

このような文化を築いてくださった方々や、日々貢献している同僚たちには、いつも心から尊敬と感謝の気持ちでいっぱいです。

おわりに

業務上の必要性から始まったKubernetesの勉強でしたが、今ではAthenzの次に好きな技術になりました。この記事を読んで、Kubernetesエキスパートへの道に迷っている方がいらっしゃれば、ぜひ躊躇わずに挑戦してみてください。資格取得の過程で得られる深い知識は、単に一つの技術を知っているという以上の価値をもたらします。その経験が与えてくれる広い視野は、間違いなく皆さんを一段階上のエンジニアへと成長させてくれるはずです。

私もこの経験を糧に、今後はさらに高度なアーキテクチャの設計・改善に貢献していきたいと考えています。このように、技術的な深さを追求し、同僚とともに成長できる環境に魅力を感じる方であれば、LINEヤフーは最高の職場になると確信しています。

最後まで読んでいただき、ありがとうございました。