Kubernetesで始めるIaC

846 Views

May 22, 25

スライド概要

2025年5月21日開催の「IaC Meetup【Finatext × YUMEMI.grow】」で使用した資料です

profile-image

ウェルスナビ株式会社 技術広報チームの公式アカウントです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Kubernetesで始めるIaC システム基盤 森祐太朗 IaC Meetup【Finatext × YUMEMI.grow】 1

2.

⾃⼰紹介 森 祐太朗(Mori Yutaro) ウェルスナビ株式会社 システム基盤 ウェルスナビでは ● 2024年3⽉ ⼊社 ● CI/CD構築、インフラ環境構築など ひとこと ● とあるゲーム機抽選落ちました 2 @2025 WealthNavi Inc.

3.

資産運用ロボアドバイザー 「 WealthNavi 」 3 ※ ⼀般社団法⼈⽇本投資顧問業協会「契約資産状況(最新版)(2024年9⽉末現在) 『ラップ業務』『投資⼀任業』」を基にネット専業業者を⽐較 ウエルスアドバイザー 社調べ(2024年12⽉時点) ※ 画⾯はイメージです。

4.

これからのウェルスナビ 個⼈向け⾦融プラットフォームを⽬指す 資産運⽤からサービス領域を拡⼤してお客様をサポートできるよう、 個⼈向け⾦融プラットフォームを⽬指した取り組みを継続 ※画面はイメージ ※現時点では構想段階で未提供。 将来的に提供する可能性があるサービス領域 4

5.

今⽇の発表に向いている⼈ ● Kubernetes上でアプリケーション展開し ている ● クラウドにAWSを採⽤している Kubernetesを使っていなければTerraformに しましょう 5 @2025 WealthNavi Inc.

6.

KubernetesでAWSリソースを管理するというアプローチ Terraformではなく、Kubernetesで管理するとなにがいいのか ● ● ● Kubernetesの設定ファイル(Manifest)を書くだけでいい ○ 複数ツール向けの設定ファイルを管理する必要がない(認知負荷軽減) Kubernetesの仕組みに乗れる(Reconciliation Loop) ○ Kubernetesが宣⾔された状態に近づけるようにリソースを⾃動作成/変 更/削除してくれる Kubernetesのエコシステムを活⽤できる ○ ArgoCDによる⾃動デプロイ 6 @2025 WealthNavi Inc.

7.

TerraformとKubernetesのリソース適⽤の⽐較 7 @2025 WealthNavi Inc.

8.

TerraformとKubernetesの⽐較 Terraform Kubernetes 書式 HCL YAML 学習難易度 Terraformの基礎理解は敷居が 低い Kubernetes知識が必要なので敷居 が高い 馴染みのあるフォーマットだが標準だ とHCLより表現力が乏しい 状態管理 Stateファイル(保管場所の検討 が必要) etcd(k8sクラスタ内で自動管理) 差分検知 定期的にplanを実行するなど作 り込みが必要 可能 自動修復 定期的にapplyを実行するなど 作り込みが必要 可能 8 @2025 WealthNavi Inc.

9.

開発者がManifest(YAML)を書くだけ で⾃動でアプリケーションをインター ネット公開する⽅法を提供したい そんなときはどうすればいいのか🤔 9

10.

AWS Load Balancer Controllerについて KubernetesクラスタのELBを管理するための コントローラ Manifestの内容を読み取り、ALB/NLB、リスナー ルールやターゲットグループなどを⾃動⽣成 ※ELB周辺の⼀部AWSリソースのみ作成可能 アノテーションでカスタマイズ可能 ● ● ターゲットグループへのリソースアタッチがシ ンプル ACMやSecurityGroupなどの関連付け設定 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: game-2048 name: ingress-2048 annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip spec: ingressClassName: alb rules: - http: paths: - path: / pathType: Prefix backend: service: name: service-2048 #ターゲット名 port: number: 80 サンプルコード https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/docs /examples/2048/2048_full.yaml 10 @2025 WealthNavi Inc.

11.

AWS Load Balancer Controller(LBC)の内部動作 0. 1. 2. 3. 4. 5. 開発者がk8sにManifestをapply LBCがingress定義の変更を検知 LBCがALBを作成 LBCがターゲットグループを作成 LBCがALBリスナーを作成 LBCがルーティングルールを ALBリスナーに設 定 https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/how-it-works/ 11 @2025 WealthNavi Inc.

12.

AWS Load Balancer Controller以外の選択肢 AWS Load Balancer Controller AWS Controllers for Kubernetes (ACK) Crossplane 用途 KubernetesアプリをALB経 由で公開したい 複数のAWSリソースを管理し たい(S3, RDS, SNS, SQS, etc) AWS/GCP/Azureなど複数クラ ウドのリソースを柔軟に管理し たい 自由度 低〜中(Ingressをベースに 簡単制御) 高(細かくAWSリソース定義 可) 高(Crossplane独自の抽象化 が可能) 学習コスト 低 中 高(設計思想がやや抽象的) 12 @2025 WealthNavi Inc.

13.

まとめ ● Kubernetes特徴(Reconciliation Loop)やエコシステム (ArgoCDによるGitOps)がIaCを強化してくれる ○ 作りこめばTerraformの運⽤にも取り込める概念 ● 無理に全てのAWSリソースをKubernetesで管理する必要はな く、開発者の認知負荷を下げる⼿段としてLBCなどのツール を部分的に導⼊するのはあり ○ 利⽤者やライフサイクルで考えるのがおすすめ 13 @2025 WealthNavi Inc.

14.

おまけ AWS LoadBalancer Controllerが気になった⼈は チュートリアルをぜひ触ってみて体験してみてください AWSチュートリアルサイト ● クイックスタート: ウェブアプリケーションをデプロイしてデータを保存する - アマゾン EKS 私のブログも参考になるかもです ● EKSのクイックスタートチュートリアルで基本的なEKSアプリケーションのデプロイを学ぶ 14 @2025 WealthNavi Inc.

15.

【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 15 @2025 WealthNavi Inc.

16.

Appendix 1 定期的にWealthNaviの開発(技術‧組織)に関する情報を発信しています。 開発者ブログ ● 技術広報に関する お問い合わせ先 ● https://zenn.dev/p/wn_engineering ブックマーク追加や記事への「いいね」していただけると嬉しいです ウェルスナビ 技術広報チーム([email protected]) 16 @2025 WealthNavi Inc.

17.

Appendix 2 ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● モバイル開発エンジニア エンジニアリングマネージャー バックエンド開発エンジニア QAエンジニア データエンジニア 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://recruit.wealthnavi.com/ 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 17 @2025 WealthNavi Inc.

18.

ご清聴ありがとうございました 18 @2025 WealthNavi Inc.