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

Amazon EKS上でのVNF開発奮闘記

Amazon EKS上でのVNF開発奮闘記

NTT Tech Conference #4 LT発表スライドです。
https://ntt-developers.github.io/ntt-tech-conference/04/

LT概要:
ネットワーク仮想化(NFV;Network Function Vertualization)の世界にも、コンテナ技術の波が押し寄せてきています。

我々のチームでは、AWSのkubernetesマネージドサービスであるEKS上で、NW装置の認証・認可機能であるRadiusの開発に取り組んでいます。

AWS上での閉域網の構築や、RadiusのUDPトラフィックを扱うロードバランサ等の開発内容について紹介し、EKSを利用する上で苦労した事例についてお話します。

Kenta Shinohara

January 31, 2020
Tweet

More Decks by Kenta Shinohara

Other Decks in Technology

Transcript

  1. Copyright©2020 NTT Corp. All Rights Reserved. NTT Tech Conf#4 @2020/1/31 1

    View Slide











  2. Copyright©2020 NTT Corp. All Rights Reserved. 2
    NTT Tech Conf#4 @2020/1/31

    View Slide




  3. Copyright©2020 NTT Corp. All Rights Reserved. 3
    NTT Tech Conf#4 @2020/1/31

    View Slide





  4. Copyright©2020 NTT Corp. All Rights Reserved. 4
    NTT Tech Conf#4 @2020/1/31

    View Slide

  5. Copyright©2020 NTT Corp. All Rights Reserved. 5
    NTT Tech Conf#4 @2020/1/31

    View Slide

  6. 1.
    2.
    3.
    Copyright©2020 NTT Corp. All Rights Reserved. 6
    NTT Tech Conf#4 @2020/1/31

    View Slide




  7. Copyright©2020 NTT Corp. All Rights Reserved. 7
    NTT Tech Conf#4 @2020/1/31

    View Slide

  8. VPC (Virtual Private Cloud)
    public-plane
    private-plane
    I-Gateway
    bastion
    NAT-Gateway
    EC2 EC2 EC2 EC2
    RDS
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    Endpoint Endpoint
    Copyright©2020 NTT Corp. All Rights Reserved. 8
    NTT Tech Conf#4 @2020/1/31

    View Slide

  9. VPC (Virtual Private Cloud)
    private-plane
    NAT-Gateway
    EC2 EC2 EC2 EC2
    RDS
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    Endpoint Endpoint
    public-plane
    I-Gateway
    bastion
    • インターネットリーチャビリティ:双方向
    Copyright©2020 NTT Corp. All Rights Reserved. 9
    NTT Tech Conf#4 @2020/1/31

    View Slide

  10. VPC (Virtual Private Cloud)
    public-plane
    I-Gateway
    bastion
    • インターネットリーチャビリティ:外方向のみ
    • 外抜け通信の細かな制御はNetworkACL +
    security group
    NAT-Gateway
    EC2 EC2 EC2 EC2
    RDS
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    Endpoint Endpoint
    Copyright©2020 NTT Corp. All Rights Reserved. 10
    NTT Tech Conf#4 @2020/1/31
    private-plane

    View Slide

  11. VPC (Virtual Private Cloud)
    public-plane
    I-Gateway
    bastion
    NAT-Gateway
    private-plane
    RDS
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    Endpoint Endpoint
    EC2 EC2 EC2 EC2
    • 静的なIPアドレスを実施するサブネット
    (VNFはIPアドレス狙い撃ちなものが多いので)
    Copyright©2020 NTT Corp. All Rights Reserved. 11
    NTT Tech Conf#4 @2020/1/31

    View Slide

  12. VPC (Virtual Private Cloud)
    public-plane
    I-Gateway
    bastion
    NAT-Gateway
    private-plane
    EC2 EC2 EC2 EC2
    • IPアドレスを動的に払い出すサブネット
    (マネージドサービス等)
    EKSのデフォルトCNI:amazon-vpc-cniはPodに対し
    このサブネットからIPアドレスを直接払い出す
    RDS
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    Endpoint Endpoint
    Copyright©2020 NTT Corp. All Rights Reserved. 12
    NTT Tech Conf#4 @2020/1/31

    View Slide

  13. VPC (Virtual Private Cloud)
    public-plane
    I-Gateway
    bastion
    NAT-Gateway
    private-plane
    EC2 EC2 EC2 EC2
    RDS Endpoint Endpoint
    • Worker(コンテナが稼働するEC2インスタンス)⇔Master(EKS)間で常時通信
    • EKS API serverはVPC外にあるため、VPC外への通信が発生してしまう
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    EKS master
    (API server)
    VPC外への通信が発生
    ECR
    (container registry)
    Copyright©2020 NTT Corp. All Rights Reserved. 13
    NTT Tech Conf#4 @2020/1/31

    View Slide

  14. VPC (Virtual Private Cloud)
    public-plane
    I-Gateway
    bastion
    NAT-Gateway
    private-plane
    EC2 EC2 EC2 EC2
    RDS Endpoint Endpoint
    EKSの閉域利用はver 1.13から対応
    • kubectl<->EKS API serverのprivate化 (2019/3)
    • EKS Worker⇔master間通信のprivate化(2019/6)
    • EKS Worker ⇔ ECR間通信のprivate化(2019/6)
    • CloudFormationでの完全private EKSクラスタ生成は公式ドキュメ
    ント・手順は存在しないが,実施方法有り
    EKS
    Worker
    EKS
    Worker
    EKS
    Worker
    EKS master
    (API server)
    閉域通信(PrivateLink接続)
    ECR
    (container registry)
    Copyright©2020 NTT Corp. All Rights Reserved. 14
    NTT Tech Conf#4 @2020/1/31

    View Slide

  15. Radius
    client
    Radius
    server
    Radius
    server
    Radius
    server
    LB
    10.0.0.5 10.0.0.6
    10.0.2.123
    10.0.2.141
    10.0.2.138
    10.0.2.139
    10.0.2.142
    Copyright©2020 NTT Corp. All Rights Reserved. 15
    NTT Tech Conf#4 @2020/1/31

    View Slide

  16. Radius
    client
    LB
    Radius request/response from radius client
    Radius request/response from radius server
    NAPT
    10.0.0.5 10.0.0.6
    10.0.2.123
    10.0.2.141
    Radius
    server
    Radius
    server
    Radius
    server
    10.0.2.138
    10.0.2.139
    10.0.2.142
    Copyright©2020 NTT Corp. All Rights Reserved. 16
    NTT Tech Conf#4 @2020/1/31

    View Slide

  17. Radius
    client
    LB
    Error: unknown server
    Radius request/response from radius client
    Radius request/response from radius server
    10.0.0.5 10.0.0.6
    10.0.2.123
    10.0.2.141
    NAPT
    Radius
    server
    Radius
    server
    Radius
    server
    10.0.2.138
    10.0.2.139
    10.0.2.142
    Copyright©2020 NTT Corp. All Rights Reserved. 17
    NTT Tech Conf#4 @2020/1/31

    View Slide

  18. Radius
    client
    LB
    Radius request/response from radius client
    Radius request/response from radius server
    10.0.0.5 10.0.0.6
    10.0.2.123
    10.0.2.141
    NAPT
    Radius
    server
    Radius
    server
    Radius
    server
    10.0.2.138
    10.0.2.139
    10.0.2.142
    PodからEKS外への通信経路をLBを経由する様に
    変更
    &
    マネージドLBではこれが出来ないので、
    NGINXを使い構築
    (※type:LoadBalancerが使えないので、
    振分先の動的設定等の機能実装が必要)
    Copyright©2020 NTT Corp. All Rights Reserved. 18
    NTT Tech Conf#4 @2020/1/31

    View Slide












  19. Copyright©2020 NTT Corp. All Rights Reserved. 19
    NTT Tech Conf#4 @2020/1/31

    View Slide


  20. • アンチパターン
    • インターネットから孤立したNWでコンテナ基盤を使わないといけない
    • IPアドレスは使い捨て・・ではなく、静的なIP設計&IPルーティングが必要
    NTT Tech Conf#4 @2020/1/31
    Copyright©2020 NTT Corp. All Rights Reserved. 20

    View Slide