Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cluster API と VPC Lattice は Amazon EKS マルチクラスターの夢を見るか?

Cluster API と VPC Lattice は Amazon EKS マルチクラスターの夢を見るか?

AWS オンライン セミナー 2023年 夏の Amazon EKS 祭り!

Kenta Goto

August 18, 2023
Tweet

More Decks by Kenta Goto

Other Decks in Technology

Transcript

  1. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API と VPC Lattice は
    Amazon EKS マルチクラスターの夢を見るか?
    2023/08/10
    Kenta Goto
    Amazon Web Services Japan G.K.
    Solutions Architect

    View Slide

  2. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    • 名前
    § 後藤 健汰 (Kenta Goto)
    • 所属
    § ISV/SaaS Solutions Architect
    • 職歴
    § SIer → Web系 (インフラエンジニア)
    • 趣味
    § サウナ
    2
    @kennygt51
    自己紹介

    View Slide

  3. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    3

    View Slide

  4. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    4

    View Slide

  5. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Soft Multi-Tenancy と Hard Multi-Tenancy
    Hard Multi-Tenancy
    5
    cluster
    Namespace A
    Tenant A
    複数のテナントが EKS クラスター上で動作する際に、ユーザーやアプリケー
    ションを他のテナントと分離したい
    Soft Multi-Tenancy
    Namespace B
    Tenant B
    Namespace C
    Tenant C
    cluster A
    Namespace
    Tenant A
    Namespace
    Tenant B
    Namespace
    Tenant C
    cluster B cluster C
    Namespace、Role、RoleBinding などの
    Kubernetes の機能を活用
    テナント間の論理的な分離を実現する
    テナントごとに EKS クラスターを構築
    クラスター単位での分離を実現する

    View Slide

  6. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Soft Multi-Tenancy と Hard Multi-Tenancy
    Hard Multi-Tenancy
    6
    分離レベルや運用コストから、要件に応じて分離戦略を選定する
    Soft Multi-Tenancy
    • Kubernetes のネイティブの機能を
    使って論理的な分離を実現
    • 通常、異なるテナントの Pod が
    Node を共有する
    • nodeSelector/Affinity/Taint/Toler
    ation などのスケジューリングの仕
    組みによって Node の分離を実現
    できるが、運用が複雑化する
    • 運用対象のクラスター数が最小限
    • クラスターを分割するため、テナ
    ント間の分離が強固になる
    • クラスター障害時の影響範囲を分
    離できる
    • テナント数が多い場合に、コスト
    増につながる
    • 多くのクラスターを運用する必要
    がある

    View Slide

  7. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Soft Multi-Tenancy と Hard Multi-Tenancy
    Hard Multi-Tenancy
    7
    本資料では Hard Multi-Tenancy (マルチクラスター) にフォーカス
    Soft Multi-Tenancy
    • クラスターを分割するため、テナ
    ント間の分離が強固になる
    • クラスター障害時の影響範囲を分
    離できる
    • テナント数が多い場合に、コスト
    増につながる
    • 多くのクラスターを運用する必要
    がある
    • Kubernetes のネイティブの機能を
    使って論理的な分離を実現
    • 通常、異なるテナントの Pod が
    Node を共有する
    • nodeSelector/Affinity/Taint/Toler
    ation などのスケジューリングの仕
    組みによって Node の分離を実現
    できるが、運用が複雑化する
    • 運用対象のクラスター数が最小限

    View Slide

  8. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    8

    View Slide

  9. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 9
    VPC
    モノリス
    アプリケーション
    モノリスの課題
    • 開発速度の遅さ
    • 大きなデプロイ範囲
    • 信頼性
    • 新規テクノロジーの導入
    • スケーラビリティ
    背景
    • モノリスアプリケーションは、機能数や複雑さに応じて様々な課題が生じうる

    View Slide

  10. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 10
    VPC
    サービス
    AWS account
    VPC
    サービス
    AWS account
    VPC
    サービス
    AWS account
    VPC
    サービス
    AWS account
    背景
    • 複数サービス (マイクロサービス) へ分割される
    • その場合、複数の VPC、複数の AWS アカウントで構成されうる

    View Slide

  11. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    背景
    11
    VPC
    サービス
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    • EKS マルチクラスター環境のケース

    View Slide

  12. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    考慮点 サービス間通信の必要性
    12
    VPC
    サービス
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    • サービス間通信の課題は多種多様
    疎通性の確保、ロードバランシング、
    認証認可、オブザーバビリティ など

    View Slide

  13. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    考慮点 マルチクラスターの管理
    13
    VPC
    サービス
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    VPC
    AWS account
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    サービス
    EKS Cluster
    • EKS クラスターの管理工数の肥大化
    サービス追加時のクラスターの構築や管理
    新規サービス
    既存のクラスターのバージョンアップ

    View Slide

  14. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    まとめ
    14
    マルチクラスターの管理
    サービス間通信の必要性
    • 複数のVPC、複数の AWS アカウン
    トにまたがるワークロード間の通

    • 様々な選択肢がある中で、よりシ
    ンプルな運用を実現したい
    • Hard Multi-Tenancy 戦略を採用し
    、複数の EKS クラスターを運用す
    る場合、クラスターの管理工数が
    肥大化する
    • クラスターの管理工数を下げたい

    View Slide

  15. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    まとめ
    15
    • 複数のVPC、複数の AWS アカウン
    トにまたがるワークロード間の通

    • 様々な選択肢がある中で、よりシ
    ンプルな運用を実現したい
    • Hard Multi-Tenancy 戦略を採用し
    、複数の EKS クラスターを運用す
    る場合、クラスターの管理工数が
    肥大化する
    • クラスターの管理工数を下げたい
    Amazon VPC Lattice
    +
    AWS Gateway API Controller
    Cluster API
    +
    Cluster API Provider AWS
    マルチクラスターの管理
    サービス間通信の必要性

    View Slide

  16. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    16

    View Slide

  17. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 17
    Amazon VPC Lattice

    View Slide

  18. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Amazon VPC Lattice とは
    18
    • 接続性
    • アカウント、VPC をまたいだ L7 レイヤーでのサービス間接続
    • CIDR が重複する VPC 間での接続が可能
    • コンピューティングサービスの一貫性
    • Amazon EC2、AWS Lambda、Amazon EKS との統合
    • オブザーバビリティ、トラフィックコントロール
    • Amazon S3、Amazon CloudWatch、Amazon Kinesis Data Firehose への
    メトリクス及びログの出⼒
    • ALB/NLB が不要なロードバランシング
    • セキュリティ
    • IAM による認証
    様々なサービス間通信を、特定の技術 (コンテナなど) に依存せず、
    Amazon VPC のネットワークサービスのみでシンプルに実現するサービス
    Amazon VPC Lattice

    View Slide

  19. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    VPC Lattice の主要コンポーネント
    19
    Service
    Directory
    VPC
    サービス A
    EKS
    サービス B
    VPC
    EC2
    サービス C
    Lambda
    Service
    Directory
    サービス
    • 単一のアプリケーションユニットで、1 つのサービ
    スコンポーネントを「サービス」として定義する
    • リスナーやルール、ターゲットグループといった
    ALB と似たコンポーネントから構成される
    サービスネットワーク
    • 論理的なアプリケーション層ネットワークの境界
    • VPC やアカウントをまたいでクライアントとサービス
    を接続
    認証ポリシー
    • IAM を活用した認証ポリシー
    • サービスネットワークや個々のサービスに関連付け
    ることで、アクセス制御をおこなう
    サービスディレクトリ
    • すべての「サービス」の一元化されたレジストリ
    • AWS RAM を通じてアカウント間で共有された「サービ
    ス」を含む

    View Slide

  20. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    VPC Lattice コンポーネント間の関係
    20
    サービスネットワークA
    サービスネットワークB
    サービス#1 サービス#2 サービス#3
    サービス#3
    サービス#2
    サービス#1 サービス#2
    VPC
    サービス
    VPC
    サービス
    VPC
    サービス
    VPC
    サービス
    関連付け
    関連付け 関連付け
    関連付け
    VPC Lattice
    1. 「サービス」を作成
    2. 「サービスネットワーク」を作成し、サービスを「関連付け」する
    3. 「サービスネットワーク」を VPC に「関連付け」する

    View Slide

  21. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    VPC Lattice で実現可能なネットワーク接続
    21
    • アカウントや VPC をまたいだ HTTP/S、gRPC での通信を実現
    • Transit Gateway や VPC Peering は不要
    • DNS 名によるシンプルな名前解決
    • ターゲットとして EC2 インスタンスや Lambda 関数、Kubernetes コンテナな
    ど複数のリソースに対応
    EC2 インスタンス
    IP アドレス
    (VPC ローカル IP)
    Lambda 関数
    (VPC Lambda/非 VPC Lambda いずれも可)
    Kubernetes
    コンテナ (実体は IP アドレス)
    AutoScaling
    グループ
    NLB ALB
    (internal)

    View Slide

  22. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 22
    AWS Gateway API Controller for VPC Lattice

    View Slide

  23. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Kubernetes Gateway API とは
    • Kubernetes Gateway API は SIG-NETWORK コミュニ
    ティを中心に開発が行われている API リソース
    • クラスター外部からのトラフィックを制御するための
    もので、Ingress リソースが抱える各種課題の解決を
    目的として開発された
    • Ingress が基本的に単一のリソースで構成されるのに対
    して、Gateway は GatewayClass、Gateway、
    HTTPRoute といった複数のリソースから構成される
    • ロールによる権限分離が可能になる
    GatewayClass
    Gateway
    HTTPRoute
    Service
    Pod
    Cloud Operator
    Application
    Developer

    View Slide

  24. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Kubernetes Gateway API とは
    • Gateway API には複数の実装が存在 (※1)
    • Istio
    • NGINX Kubernetes Gateway
    • AWS Gateway API Controller for VPC Lattice (※2)
    ※1 https://gateway-api.sigs.k8s.io/implementations/
    ※2 https://github.com/aws/aws-application-networking-k8s

    View Slide

  25. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    AWS Gateway API Controller for VPC Lattice とは
    • Kubernetes Gateway API を実装するコントローラー
    • AWS Gateway API Controller for VPC Lattice は Gateway API で定義されたカスタム
    リソースに対応する VPC Lattice のリソースを作成する
    • Gateway や HTTPRoute といった Kubernetes のリソースを作成することで、
    VPC Lattice のサービスといった AWS のリソースを作成する
    • EKS 上のワークロードで VPC Lattice を使う場合は、このコントローラーをクラス
    ターにデプロイする
    AWS Gateway API
    Controller
    for VPC Lattice
    EKS Cluster
    kubectl apply
    VPC Lattice
    Service Network
    Service
    Target Group
    Target
    作成
    カスタムリソース
    (Gateway,HTTPRoute)

    View Slide

  26. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Gateway API と VPC Lattice リソースの対応
    GatewayClass
    Gateway
    HTTPRoute
    Service
    Pod
    Amazon EKS
    Service Network
    Service
    Target Group
    Target
    VPC Lattice
    Kubernetes Gateway API リソースと VPC Lattice のリソースは、以下のように
    対応する

    View Slide

  27. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    GatewayClass リソース
    • GatewayClass は、実際にどのよう
    なコンポーネントでトラフィックを
    処理するかを定義する
    • Infrastructure provider (AWS など)
    によって事前定義される
    § PersistentVolume における
    StorageClass と似た位置付け
    • AWS Gateway API Controller for
    VPC Latticeでは amazon-vpc-
    lattice GatewayClass がサポート

    View Slide

  28. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Gateway リソース
    • Gateway は、GatewayClass を指定
    したうえで、リスナー (トラフィッ
    クを受け付けるポートやプロトコル
    など) を定義する
    • AWS Gateway API Controller for
    VPC Latticeは、Gateway リソース
    が作成され EKS クラスターが存在
    する VPC をサービスネットワーク
    に関連付ける際にサービスネット
    ワークが存在しなかった場合に、
    サービスネットワークリソースを作
    成する

    View Slide

  29. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    HTTPRoute リソース
    • HTTPRoute は、Gateway を指定し
    たうえで、受信した HTTP トラ
    フィックのバックエンドサービスへ
    のルーティングを定義する
    • URL パスやリクエストヘッダーを
    元に転送先の Service を指定した
    り、weight を指定して加重ルー
    ティングをおこなう
    • AWS Gateway API Controller for
    VPC Lattice は、指定した Service
    をターゲットグループとしてリソー
    スを作成し、Pod の IP アドレスを
    ターゲット IP アドレスとして登録
    する

    View Slide

  30. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    VPC Lattice と AWS Gateway API Controller で実現できること
    30
    VPC
    AWS account
    VPC
    AWS account
    VPC
    VPC

    View Slide

  31. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    31

    View Slide

  32. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 32
    Cluster API

    View Slide

  33. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    EKS クラスターの構築/管理における選択肢
    eksctl
    AWS CDK
    AWS CloudFormation
    AWS Management Console
    Terraform

    View Slide

  34. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    EKS クラスターの構築/管理における選択肢
    eksctl
    AWS CDK
    AWS CloudFormation
    AWS Management Console
    Terraform Cluster API

    View Slide

  35. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    • SIG-Cluster Lifecycle コミュニティで管理されている
    プロジェクト
    • 複数の Kubernetes クラスターのライフサイクル (プ
    ロビジョニング、アップグレードなど) を管理するた
    めの仕組み
    • Deployment や Pod などのリソースと同じく、宣言
    的 API を使用してクラスターのライフサイクルを管
    理する
    • 様々なインフラストラクチャで利用可能
    • 共通のオペレーションを定義し、デフォルトの実装
    を提供する。また、利用するインフラストラクチャ
    に応じて、代替となる実装をプラグインのような形
    で利用できる
    35
    Cluster API

    View Slide

  36. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    36
    Management Cluster
    kubectl
    User
    clusterctl
    Cluster API Controller
    Bootstrap provider
    Infrastructure provider
    ControlPlane provider
    Workload Cluster
    Workload Cluster
    Workload Cluster
    CRDs

    View Slide

  37. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    37
    Management Cluster
    kubectl
    User
    clusterctl
    Workload Cluster
    Workload Cluster
    Workload Cluster
    CRDs
    Cluster API Controller
    Bootstrap provider
    Infrastructure provider
    ControlPlane provider
    Workload Cluster
    Cluster API によって管理される
    Kubernetes クラスターのこと

    View Slide

  38. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    38
    Management Cluster
    kubectl
    User
    clusterctl
    Worlload Cluster
    Workload Cluster
    Workload Cluster
    CRDs
    Cluster API Controller
    Bootstrap provider
    Infrastructure provider
    ControlPlane provider
    Management Cluster
    Workload Cluster を管理する Kubernetes ク
    ラスターのこと
    Kubernetes リソースが保存される

    View Slide

  39. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    39
    Management Cluster
    kubectl
    User
    clusterctl
    Workload Cluster
    Workload Cluster
    Worlload Cluster
    CRDs
    Cluster API Controller
    Bootstrap provider
    Infrastructure provider
    ControlPlane provider
    CRD
    Cluster API の CRD によってカスタムリソースが
    定義されている。kubectl apply などによってリ
    ソースが登録されると、Cluster API によって
    Workload Cluster が作成される

    View Slide

  40. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API とは
    40
    Management Cluster
    kubectl
    User
    clusterctl
    Worlload Cluster
    Workload Cluster
    Workload Cluster
    CRDs
    Cluster API Controller
    Bootstrap provider
    Infrastructure provider
    ControlPlane provider
    clusterctl
    Cluster API Management Cluster を管理するための
    CLI ツール
    Management Cluster としての初期化などをおこなう

    View Slide

  41. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API で AWS 上に クラスターを構築する
    • Cluster API は複数の環境 (オンプレミス、クラウド) でのクラスター
    の構築をサポート
    • 環境固有の CRD とコントローラーは Provider として切り出されてい

    § AWS 上でのクラスター構築もサポートしている
    • Cluster API Provider AWS
    § AWS 上にクラスターを構築するための Provider

    View Slide

  42. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 42
    Cluster API Provider AWS

    View Slide

  43. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API Provider AWS とは
    43
    • Cluster API Provider AWS (CAPA) とは
    § Cluster API を拡張する Provider
    • Cluster API から AWS 上に Kubernetes クラスターを構築する際に利用する
    § クラスター及び関連するインフラストラクチャリソースを作成する
    • 2 つの異なるタイプのクラスターをサポートしている
    § Amazon EC2 ベース
    § Amazon EKS ベース

    View Slide

  44. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Cluster API Provider AWS とは
    44
    Management Cluster
    kubectl
    User
    clusterctl
    Core Operator
    Bootstrap Provider
    Infrastructure Provider
    ControlPlane Provider
    Workload Cluster (EC2)
    CRDs
    Workload Cluster (EKS)

    View Slide

  45. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    45

    View Slide

  46. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 46
    AWS account
    AWS アカウント作成
    マルチ EKS クラスター作ってみた

    View Slide

  47. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 47
    AWS account
    Cluster API
    Provider
    EKS Cluster
    VPC
    管理用 EKS クラスター (Management Cluster) を構築
    マルチ EKS クラスター作ってみた

    View Slide

  48. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 48
    VPC
    AWS account
    EKS Cluster
    VPC
    EKS Cluster
    VPC
    EKS Cluster
    VPC
    EKS Cluster
    Cluster API
    Provider
    EKS Cluster
    VPC
    マルチ EKS クラスター作ってみた Cluster API を用いて
    複数のワークロード用 EKS クラスター
    (Workload Cluster) を構築

    View Slide

  49. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 49
    VPC
    サービス
    AWS account
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    Cluster API
    Provider
    EKS Cluster
    VPC
    管理用クラスターの Argo CD から
    ワークロード用クラスターにサービスをデプロイ
    マルチ EKS クラスター作ってみた

    View Slide

  50. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 50
    VPC
    サービス
    AWS account
    EKS Cluster
    VPC Lattice
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    Cluster API
    Provider
    EKS Cluster
    VPC
    VPC Lattice 経由で
    ワークロード用クラスターで稼働する
    サービスを繋ぐ
    マルチ EKS クラスター作ってみた

    View Slide

  51. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. 51
    VPC
    サービス
    AWS account
    EKS Cluster
    VPC Lattice
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    VPC
    サービス
    EKS Cluster
    Cluster API
    Provider
    EKS Cluster
    VPC
    マルチ EKS クラスター作ってみた

    View Slide

  52. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Agenda
    • Soft Multi-Tenancy と Hard Multi-Tenancy
    • マルチクラスターの考慮点
    • Amazon VPC Lattice と AWS Gateway API Controller for VPC Lattice
    • Cluster API と Cluster API Provider AWS
    • Amazon EKS マルチクラスターを作ってみた
    • まとめ
    52

    View Slide

  53. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    本セッションのまとめ
    53
    • Kubernetes クラスター上でのテナント分離には Soft Multi-tenancy と Hard Multi-
    Tenancy という考え方があり、要件に応じて適切な戦略を選択する
    • VPC やアカウントをまたいだ マルチ EKS クラスター間の通信には様々な選択肢があり、
    Amazon VPC Lattice はそのひとつ
    § EKS だけではなく、様々なワークロード間の通信を実現
    • Cluster API を用いた宣言的 API によるマルチクラスター管理という選択肢
    § Kubernetes に対する深い知見を要求される
    • クラスター数が増えることで、考慮事項も増える
    • 設計段階で「本当にマルチクラスターが必要なのか」をしっかりと検討する
    § Soft Multi-Tenancy で十分なケースも多い
    § どういった状況でクラスターを分離する必要があるかを考慮する

    View Slide

  54. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
    Thank you!

    View Slide