Next.js v13.4 で安定版(stable)がリリースされた App Router は Server Components を活用した新しいルーティングとレンダリング機能を提供しています。この WEB サイトも Pages Router から App Router に置き換えたので、今回のブログでは App Router の紹介を交えつつ、移行プロセスについてまとめたいと思います。
- Published on
技術の深掘り・日常など幅広く紹介してます
Next.js v13.4 で安定版(stable)がリリースされた App Router は Server Components を活用した新しいルーティングとレンダリング機能を提供しています。この WEB サイトも Pages Router から App Router に置き換えたので、今回のブログでは App Router の紹介を交えつつ、移行プロセスについてまとめたいと思います。
5 月 28 - 30 日(3 Days)Google Cloud が開催する Platform Engineering のハンズオンセミナーに参加してきました。 今回のセミナーは Google Cloud カスタマーエンジニアの公演を聞きながら、Google Kubernetes Engine(GKE)を活用して実践的に Platform Engineering を学ぶコンテンツとなっており、座学とラボの両方が実施されました。今回のブログでは、振り返りも兼ねて 3 日間の参加レポートをまとめたいと思います。
サイバーエージェント新卒研修にて『生成 AI を用いた SNS』というテーマで 3 週間の短期開発に取り組みました。僕たちのチームは 'AI で生成した美女' を共有する SNS アプリケーションを開発し、成果発表では インフラ部門で技術賞 を頂きました。今回のブログでは、開発したサービスと実際に構築した運用アーキテクチャについて設計思想や技術選定を交え、紹介したいと思います。
Kubernetes でリクエストを Pod に負荷分散する際にクライアントの送信元 IP アドレスを保持したいケースがあります。LoadBalancer や NodePort を使用する Service の場合、負荷分散の過程で送信元 IP アドレスが NAT(SNAT:Source NAT)されるため、Pod に到達するパケットからはクライアントの IP アドレスを知ることができません。Service の External Traffic Policy を Local に設定すると、外部からのトラフィックは受信したノード上の Pod にのみ転送されるため SNAT は回避できますが、単一ノードにトラフィックが集中するためクラスタワイドな負荷分散ができません。また、Ingress Controller を利用すると HTTP X-Forwarded-For ヘッダに送信元情報を付加することができますが、L7 LB が前提となるため、L4 LB のような低レベルロードバランサでは有効に機能しません。ベアメタル Kubernetes でネットワークロードバランサをプロビジョニングするための代表的な OSS に MetalLB があります。MetalLB には L2 モードと BGP モードの 2 種類の負荷分散方式が用意されています。多くの場合は前者が利用されますが、後者の BGP モードでは、より柔軟なネットワーク構成や負荷分散の制御が可能になり、送信元 IP アドレスを保持したままリクエストを分散することができます。今回のブログでは、MetalLB の BGP モードを利用して SNAT を回避しつつ、クラスタワイドな負荷分散を実現する構成について紹介したいと思います。
Hi there, Happy New Year! 🐉 I'm about to embark on a journey that's both for an IEEE international-conference and my graduation trip. My destinations: Hawaii (Oahu) and Las Vegas, USA. The International-Conference on Consumer Electronics (ICCE) and Consumer Communications & Networking Conference (CCNC) are academic conferences hosted by Institute of Electrical and Electronics Engineers (IEEE). These events focus on discussing the latest research and technological advancements in consumer electronics and communication technologies. Last year, my demonstration paper was accepted at CCNC 2024. I will be presenting the concept of the CYPHONIC adapter demonstration, which I've been researching and developing. A few of my colleagues will also be presenting at the conference. After the international-conference, I plan to visit CES 2024 as well. I'll be updating this blog daily as a travel diary. Alright-off I go! ✈️