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

[JAWS-UG コンテナ支部 #22] AWS コンテナサービスアップデート/JAWS-UG Containers 22

[JAWS-UG コンテナ支部 #22] AWS コンテナサービスアップデート/JAWS-UG Containers 22

JAWS-UGコンテナ支部 #22 re:Cap での登壇資料です。

re:Invent 2022 で発表されたものを中心に、AWS コンテナ関連サービスのアップデートをご紹介しています。

https://jawsug-container.connpass.com/event/267606/

Kyosuke Ochimizu

December 20, 2022
Tweet

More Decks by Kyosuke Ochimizu

Other Decks in Technology

Transcript

  1. © 2022, Amazon Web Services, Inc. or its affiliates.
    © 2022, Amazon Web Services, Inc. or its affiliates.
    AWS コンテナサービスアップデート
    ~ re:Invent 2022 ~
    Kyosuke Ochimizu
    Solutions Architect
    Amazon Web Services Japan G.K.

    View Slide

  2. © 2022, Amazon Web Services, Inc. or its affiliates.
    ⾃⼰紹介
    2
    落⽔ 恭介 (Ochimizu Kyosuke)
    コンテナスペシャリストソリューションアーキテクト
    Ø SIer
    Ø 教育業界ベンチャー
    Ø Cloud Integrator
    Ø サポートチーム / アマゾン ウェブ サービス ジャパン
    Ø 現在のロール
    好きな AWS サービス: AWS Fargate

    View Slide

  3. © 2022, Amazon Web Services, Inc. or its affiliates.
    AWS re:Invent イベント概要
    3
    • AWS によるクラウドコンピューティングに
    関する世界規模の「学習型」カンファレンス
    • 2022 年 11 ⽉ 28 ⽇(⽉)〜 12 ⽉ 2 ⽇(⾦)
    • ラスベガスのオフライン会場がメイン。キーノートと
    リーダーシップセッションはストリーミング配信あり
    • 5 つの基調講演と数多くのセッションをご⽤意
    • 過去最⼤規模の参加者数
    • 現地参加︓50,000+
    • オンライン参加登録︓300,000+
    • ⽇本からも多数の⽅が現地でご参加

    View Slide

  4. © 2022, Amazon Web Services, Inc. or its affiliates.
    アジェンダ
    4
    • Amazon Elastic Container Service (Amazon ECS)
    • Amazon Elastic Kubernetes Service (Amazon EKS)
    • その他
    • Red Hat OpenShift Service on AWS (ROSA)
    • Finch

    View Slide

  5. © 2022, Amazon Web Services, Inc. or its affiliates.
    © 2022, Amazon Web Services, Inc. or its affiliates.
    Amazon Elastic Container Service
    (Amazon ECS)
    5

    View Slide

  6. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS タスクのスケールイン保護が可能に
    6
    Amazon ECS
    タスク タスク タスク
    ECS サービス
    スケールイン保護
    処理中のタスクをスケールインやデプロイ時のタスクの終了から保護
    GA

    View Slide

  7. © 2022, Amazon Web Services, Inc. or its affiliates.
    スケールイン保護を有効にする
    7
    ECS API / ECS コンテナエージェントエンドポイントを利⽤
    タスク
    Fargate / コンテナインスタンス
    Amazon ECS
    $ECS_AGENT_URI/task-
    protection/v1/state
    スケールイン保護
    ユーザー
    UpdateTaskProtection API
    スケールイン保護
    ECS コンテナ
    エージェント

    View Slide

  8. © 2022, Amazon Web Services, Inc. or its affiliates.
    Fargate でエフェメラルストレージの利⽤状況が取得可能に
    8
    タスク
    Fargate タスク
    タスクメタデータエンドポイント
    ECS コンテナ
    エージェント
    Amazon ECS
    Amazon CloudWatch
    Container Insights
    GA

    View Slide

  9. © 2022, Amazon Web Services, Inc. or its affiliates.
    Amazon ECS Service Connect
    9
    ECS サービス間のアプリケーションネットワークの構築が容易に
    GA
    Amazon ECS
    service connect
    サービスのデプロイ
    分かりやすい ECS サービスの
    識別名を設定
    サービス間の接続
    ECS サービスの識別名で
    信頼性のある接続を確⽴
    メトリクスの取得
    ECS コンソールや CloudWatch で
    トラフィックのメトリクスを確認
    アプリケーションの定義
    タスク定義でアプリケーション
    のエンドポイントを設定

    View Slide

  10. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS Service Connect service の作成
    10
    コンテナインスタンス
    ユーザー
    Amazon ECS
    ECS コンテナ
    エージェント
    Configure
    ECS タスク
    Service Connect エージェント
    Agent
    コンテナ
    AWS Cloud
    Map
    Configure
    Register
    Fetch

    View Slide

  11. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS Service Connect のトラフィックフロー
    11
    Amazon ECS AWS Cloud Map
    Service Connect エージェント
    Service Connect エージェント
    コンテナ
    コンテナ
    Elastic Load Balancing
    クライアント
    Frontend サービス Backend サービス
    http://elb-endpoint
    ECS タスク
    10.1.2.1
    ECS タスク
    10.1.2.2
    http://10.1.2.1:8080
    http://0.0.0.0:8080
    http://backend:8080
    http://10.1.2.2:8080
    http://0.0.0.0:8080

    View Slide

  12. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS Service Connect のコンセプト
    12
    namespace
    ECS クラスター ECS クラスター
    namespace
    client service
    client-server service
    endpoint
    client-server service が公開する URL
    client service
    client-server
    service
    endpoint
    http://blog:80

    View Slide

  13. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS Service Connect の考慮事項
    13
    • (2022.12.20 時点) その後のアップデートで利⽤可能に

    View Slide

  14. © 2022, Amazon Web Services, Inc. or its affiliates.
    ECS Service Connect の利⽤料⾦
    14

    View Slide

  15. © 2022, Amazon Web Services, Inc. or its affiliates.
    © 2022, Amazon Web Services, Inc. or its affiliates.
    Amazon Elastic Kubernetes Service
    (Amazon EKS)
    15

    View Slide

  16. © 2022, Amazon Web Services, Inc. or its affiliates.
    Amazon EKS が Kubernetes 1.24 のサポートを開始
    16
    GA
    • 2022.11.15 にサポート開始
    • EKS Kubernetes 1.24 の変更点(抜粋)
    Ø Dockershim の削除
    Ø マネージド型ノードグループのゼロスケール
    • Kubernetes バージョン 1.21 のサポート終了
    Ø 2023.2.15 に予定されているため、
    早めのアップグレード計画を
    Kubernetes
    version
    Upstream release Amazon EKS
    release
    Amazon EKS end of
    support
    1.24 May 3, 2022 November 15, 2022 January 2024
    1.23 December 7,
    2021
    August 11, 2022 October 2023
    1.22 August 4, 2021 April 4, 2022 May 2023
    1.21 April 8, 2021 July 19, 2021 February 15, 2023

    View Slide

  17. © 2022, Amazon Web Services, Inc. or its affiliates.
    AWS Marketplace for containers から EKS クラスターへの直接デプロイが可能に
    17
    GA
    EKS add-ons を経由した管理
    Amazon EKS
    ISVs
    • サードパーティソフトウェアの
    検索やデプロイが容易に
    • EKS add-ons で管理可能
    • 2022.12.20 時点で以下をサポート
    Ø Dynatrace Container Agent
    Ø Kpow for Apache Kafka (SE-LM)
    Ø Kubecost
    Ø Teleport OSS
    Ø Tetrate Istio Distro
    Ø Upbound Universal Crossplane (UXP)

    View Slide

  18. © 2022, Amazon Web Services, Inc. or its affiliates.
    Nitro Enclaves Kubernetes Device Plugin がリリース
    18
    GA
    aws/aws-nitro-enclaves-k8s-device-plugin: Nitro Enclaves Kubernetes Device Plugin
    https://github.com/aws/aws-nitro-enclaves-k8s-device-plugin
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: unique_deployment_name
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: application_name
    template:
    metadata:
    labels:
    app: application_name
    spec:
    containers:
    - name: unique container_name
    image: docker_image_name:image_tag
    command: ["docker_image_entry_point"]
    resources:
    limits:
    aws.ec2.nitro/nitro_enclaves: "1”
    hugepages-2Mi: 768Mi
    cpu: 250m
    requests:
    aws.ec2.nitro/nitro_enclaves: "1”
    hugepages-2Mi: 768Mi
    • Nitro Enclaves を利⽤する Pod の
    管理が容易に
    • Device Plugin を OSS で提供
    • EKS やセルフマネージドな
    Kubernetes クラスターで利⽤可能

    View Slide

  19. © 2022, Amazon Web Services, Inc. or its affiliates.
    Amazon VPC Lattice
    19
    Preview
    • サービス同⼠をシンプルかつ安全に接続するための
    アプリケーション層のネットワークサービス
    § サービスディスカバリ、リクエストルーティング、
    ロードバランシング、認証認可、可観測性など
    • クライアントとサービス間の接続を抽象化する
    サービスネットワークを作成
    § サービスの検出と接続は⾃動的に実⾏される
    • AWS Gateway Controller for Kubernetes も提供予定
    • ⽶国⻄部 (オレゴン) リージョンでプレビューを開始
    (現時点で⽇本のリージョンは未対応)

    View Slide

  20. © 2022, Amazon Web Services, Inc. or its affiliates.
    EKS アドオンで柔軟な設定変更が可能に
    20
    GA
    • PRESERVE パラメーターの追加
    Ø アドオンの更新時、ユーザーが変更した
    フィールドの値を保持したままアップデート
    Corefile:
    ----
    .:53 {
    cache 15
    }
    Corefile:
    ----
    .:53 {
    cache 15
    }
    resolveConflicts:
    PRESERVE
    • configurationValues パラメーターの追加
    • アドオンの作成時や更新時、EKS API で
    アドオンの設定変更が可能に
    • アドオンごとに変更可能なフィールドは
    JSON schema で確認
    {
    "env": {
    "ENABLE_PREFIX_DELEGATION": "true"
    }
    }
    Containers:
    aws-node:
    Environment:
    ENABLE_PREFIX_DELEGATION: true
    configurationValues:
    file://example.json
    example.json
    coredns coredns

    View Slide

  21. © 2022, Amazon Web Services, Inc. or its affiliates.
    © 2022, Amazon Web Services, Inc. or its affiliates.
    Red Hat OpenShift Service on AWS
    (ROSA)
    21

    View Slide

  22. © 2022, Amazon Web Services, Inc. or its affiliates.
    クラスター作成が容易に
    22
    Announce

    View Slide

  23. © 2022, Amazon Web Services, Inc. or its affiliates.
    Control Plane をサービス側でホスティング
    23
    Announce

    View Slide

  24. © 2022, Amazon Web Services, Inc. or its affiliates.
    © 2022, Amazon Web Services, Inc. or its affiliates.
    Finch
    24

    View Slide

  25. © 2022, Amazon Web Services, Inc. or its affiliates.
    Finch
    25
    Released
    Linux コンテナをビルド、実⾏、公開するための新しいコマンドラインクライアント
    runfinch/finch: The Finch CLI an open source client for container development
    https://github.com/runfinch/finch

    View Slide

  26. © 2022, Amazon Web Services, Inc. or its affiliates.
    Linux 外でコンテナを開発、実⾏するスタック
    26
    VM 管理、イメージ管理、コンテナランタイム、クライアントツールなど多くの要素が必要

    View Slide

  27. © 2022, Amazon Web Services, Inc. or its affiliates.
    コンテナを開発するための様々なツール
    27
    OSS、商⽤問わず多数存在する

    View Slide

  28. © 2022, Amazon Web Services, Inc. or its affiliates.
    Finch - AWS が提供するコンテナ開発ツールのディストリビューション
    28
    Lima の config と ネイティブクライアント、インストーラーのセット

    View Slide

  29. © 2022, Amazon Web Services, Inc. or its affiliates.
    まとめ
    29
    ECS
    • ECS タスクのスケールイン保護が可能に
    • Fargate でエフェメラルストレージの
    利⽤状況が取得可能に
    • Amazon ECS Service Connect
    EKS
    • Amazon EKS が Kubernetes 1.24 のサポートを開始
    • AWS Marketplace for containers から
    EKS クラスターへの直接デプロイが可能に
    • Nitro Enclaves Kubernetes Device Plugin がリリース
    • Amazon VPC Lattice
    • EKS アドオンで柔軟な設定変更が可能に
    Other
    • [ROSA] クラスター作成が容易に
    • [ROSA] Control Plane をサービス側で
    ホスティング
    • Finch

    View Slide

  30. © 2022, Amazon Web Services, Inc. or its affiliates.
    Thank you!
    © 2022, Amazon Web Services, Inc. or its affiliates.
    @otty246

    View Slide