Slide 1

Slide 1 text

Re:cap container Services KOITABASHI Yoshitaka 2024/1/20 yoshii0110 1

Slide 2

Slide 2 text

2024/1/20 yoshii0110 2 KOITABASHI Yoshitaka @yoshii0110 Momento/Community Advocate スタートアップへの技術支援 JAWS-UG コンテナ支部運営 Amazon EC2, AWS Fargate, AWS App Runner 🥷 💕

Slide 3

Slide 3 text

Re:Invent期間中に出たアップデート 2024/1/20 yoshii0110 3

Slide 4

Slide 4 text

2024/1/20 yoshii0110 4 Amazon ECR パブリックギャラリーに 新しいナビゲーション機能と検索機能を導入 1.ナビゲーションと検索の向上 ECRパブリックギャラリーで、DockerやAmazonなどの有名なパブリッシャーの イメージを簡単に検索できる新しいフィルターが追加されました。 2.ユーザーフレンドリーなランディングページ 新しいランディングページには、検索結果を簡単にフィルタリングできる機能が 追加され、頻繁に使用されるリポジトリに簡単にアクセスできます。 https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-ecr-public- navigation-search-features-gallery/

Slide 5

Slide 5 text

2024/1/20 yoshii0110 5 Amazon ECR パブリックギャラリー

Slide 6

Slide 6 text

2024/1/20 yoshii0110 6 Amazon ECR パブリックギャラリー

Slide 7

Slide 7 text

2024/1/20 yoshii0110 7 Kubernetes バージョンに対する Amazon EKS の 延長サポートが現在プレビューでご利用可能 1.延長されたサポート期間 Kubernetes v1.23以降、Amazon EKSはKubernetesバージョンを 公開後最大26か月間サポートする これにより、ユーザーはより長期間安定したサポートを受けられます。 2.継続的なセキュリティ更新 延長サポート期間中もAmazon EKSは Kubernetesコントロールプレーンのセキュリティパッチを提供し続ける https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-eks-support- kubernetes-versions-preview/

Slide 8

Slide 8 text

2024/1/20 yoshii0110 8 Kubernetes バージョンに対する Amazon EKS の 延長サポートが現在プレビューでご利用可能 https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-eks-support- kubernetes-versions-preview/

Slide 9

Slide 9 text

2024/1/20 yoshii0110 9 ※ Kubernetes バージョンの延長サポートは現在プレビュー段階にあり、 プレビュー期間中は追加料金は発生しない。

Slide 10

Slide 10 text

2024/1/20 yoshii0110 10 AWS App Runner 周りの改善 1. カスタムドメインの簡単な関連付け App Runnerサービスにカスタムドメインを関連付けるプロセスが 簡素化され、特にAmazon Route 53をDNSプロバイダーとして 使用する場合、自動的に設定される 2. IPv6ベースのトラフィックのサポート ユーザーはIPv4とIPv6の両方をサポートするデュアルスタックの パブリックエンドポイントを作成できるようになった。 3. 新しいリージョンのサポート 欧州(ロンドン)、アジアパシフィック(ムンバイ)、欧州(パリ)の リージョンがApp Runnerの利用可能リストに追加されました。

Slide 11

Slide 11 text

2024/1/20 yoshii0110 11 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上 Amazon ECSは、コンテナまたはロードバランサーのヘルスチェック に合格しなかった異常なタスクを終了する前に、 正常な代替タスクを先に開始するようになった => 予測不可能な負荷のスパイクに対するアプリケーションの回復性が向上 https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-ecs-applications- resiliency-unpredictable-load-spikes/

Slide 12

Slide 12 text

2024/1/20 yoshii0110 12 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上

Slide 13

Slide 13 text

2024/1/20 yoshii0110 13 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上

Slide 14

Slide 14 text

2024/1/20 yoshii0110 14 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上

Slide 15

Slide 15 text

2024/1/20 yoshii0110 15 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上

Slide 16

Slide 16 text

2024/1/20 yoshii0110 16 Amazon ECS が、予測不可能な負荷の スパイクに対するアプリケーションの回復性を向上 設定方法 • ”maximumPercent”パラメータを設定することで、同時に立ち上げる 代替タスクの最大数を制御できる。 • デフォルトでは200%に設定されているので、ここを調整するイメージ

Slide 17

Slide 17 text

2024/1/20 yoshii0110 17 AWS Fargate の Amazon ECS タスクで SOCI の選択的な利用が可能に 1.特定のコンテナイメージの遅延読み込み タスク定義に含まれる特定のコンテナイメージに対して 遅延読み込みを設定できるようになり、 サイズが大きなイメージの効率的な扱いが可能 2.デプロイとスケールアウト時間の短縮 必要なSOCIインデックスのみを生成することで、 アプリケーションのデプロイとスケールアウトに要する時間が短縮 される。 https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-fargate-amazon-ecs- tasks-selectively-leverage-soci/

Slide 18

Slide 18 text

2024/1/20 yoshii0110 18 lazy loading とは?

Slide 19

Slide 19 text

2024/1/20 yoshii0110 19 今までは・・? 以前のlazy loadingでは、すべてのコンテナイメージに対する SOCIインデックスの事前準備が必要だった。

Slide 20

Slide 20 text

2024/1/20 yoshii0110 20 今回のアップデートでは何が変わった? 今回のアップデートで、lazy loadingが必要な コンテナイメージのSOCIインデックスのみが必要になり、 他のコンテナイメージは通常通りにダウンロードする動作となる。

Slide 21

Slide 21 text

2024/1/20 yoshii0110 21 Amazon Elastic Container Service で タスク起動の冪等性のサポートを開始 1.タスク起動の冪等性サポート タスクの起動プロセスに冪等性が導入され、タイムアウトや 接続エラーによる余分なインスタンスの起動を防ぐことができる。 2.時間とコストの節約 この機能により、安全にタスク起動を再試行でき、 意図した数以上のタスクが起動されないため、時間とコストの節 約につながる。 => recap話の中では、よくEventBridge経由で タスクを起動する 際に、処理の再試行などで必要以上のタスクが起動されないよう することができる https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-elastic-container- service-idempotency-launches/

Slide 22

Slide 22 text

2024/1/20 yoshii0110 22 Mountpoint for Amazon S3 CSI ドライバーの 一般提供を開始 1. S3オブジェクトへのファイルシステムインターフェイスアクセス Kubernetesアプリケーションからファイルシステムインターフェイスを経由 してS3オブジェクトにアクセスできるようになり、 アプリケーションに変更を加えずに高い総スループットを実現できる。 2. EKSでの簡単なセットアップと管理 Amazon EKSではEKSアドオンとしてこのCSIドライバーをサポートし、 EKSコンソール、AWS CLI、API、AWS CloudFormationを使用して簡単に インストール、設定、更新できる https://aws.amazon.com/jp/about-aws/whats-new/2023/11/mountpoint-amazon-s3-csi- driver/

Slide 23

Slide 23 text

2024/1/20 yoshii0110 23 ⭕ AWS Fargate を含む Amazon GuardDuty ECS ランタイムモニタリング Amazon ECSワークロードのランタイム脅威検出 Amazon Elastic Container Service (ECS) ワークロード、 特にAWS Fargate上で実行されるサーバーレスコンテナワークロード のランタイム脅威検出が可能になる。 https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-guardduty-ecs-runtime- monitoring-fargate/

Slide 24

Slide 24 text

2024/1/20 yoshii0110 24 AWS Fargate を含む Amazon GuardDuty ECS ランタイムモニタリング ポイント • ECSクラスター上で動作しているコンテナに対して ランタイムセキュリティに関する問題を検出できる • ECS on FargateはGA, ECS on EC2はパブリックプレビュー • サイドカー形式でデプロイされたGuardDutyセキュリティエージェント によって、ランタイムセキュリティに関するイベントを記録 • 専用のVPCエンドポイントが作成される • エージェントが記録したイベントはVPCエンドポイント経由で GuardDutyに送信 • このVPCエンドポイントは無料

Slide 25

Slide 25 text

2024/1/20 yoshii0110 25 AWS Fargate を含む Amazon GuardDuty ECS ランタイムモニタリング 自動エージェント設定とある。

Slide 26

Slide 26 text

2024/1/20 yoshii0110 26 ⭕ Amazon Inspector が開発者ツールと統合することで コンテナイメージのセキュリティを強化 1. 開発ツールとの統合によるコンテナイメージのセキュリティ評価 JenkinsやTeamCityなどの主要な開発ツールとの統合により、開発者は CI/CDツール内でコンテナイメージのソフトウェア脆弱性を評価できるようになり、 ソフトウェア開発ライフサイクルの早い段階でセキュリティを向上させる 2. CI/CDダッシュボード内の評価結果と自動対応 評価結果はCI/CDツールのダッシュボード内で利用可能となり、開発者は 重大なセキュリティ問題に対して、ビルドのブロックやコンテナレジストリへの イメージプッシュの阻止などの自動対応を取ることができる https://aws.amazon.com/jp/about-aws/whats-new/2023/11/mountpoint-amazon-s3-csi- driver/

Slide 27

Slide 27 text

2024/1/20 yoshii0110 27 Amazon Inspector が開発者ツールと統合することで コンテナイメージのセキュリティを強化 今までは、ECRイメージスキャンと呼ばれるものが存在した。 • ベーシックスキャン • オープンソースの Clair プロジェクトのCVEデータベースを使用 • イメージのプッシュ時にスキャンするか、手動実行 • 拡張スキャン • Amazon Inspector と統合しリポジトリの自動継続的なスキャン https://aws.amazon.com/jp/about-aws/whats-new/2023/11/mountpoint-amazon-s3-csi- driver/

Slide 28

Slide 28 text

2024/1/20 yoshii0110 28 Amazon Inspector が開発者ツールと統合することで コンテナイメージのセキュリティを強化 今回のアップデートのポイント • ベーシックスキャンは、オンデマンドスキャンが 可能なので、CI/CDに組み込めたが、拡張スキャンは 対応していなかった。 • アップデートにより、AWS SDK/CLI にて実行が可能になります。 もちろん”inspector-scan API ”というAPIを利用し、 組み込むこともできそう

Slide 29

Slide 29 text

ここ最近でたアップデート 2024/1/20 yoshii0110 29

Slide 30

Slide 30 text

Amazon EKS がクラスターへのアクセスを IAM を使用して管理するための機能を簡素化 EKSにおいて、Kubernetes クラスターに対してIAMユーザーおよび ロールをこれまでよりも簡単に設定できるようなった。 2024/1/20 yoshii0110 30 https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-eks-controls-iam- cluster-access-management/

Slide 31

Slide 31 text

今までの課題感 • EKSでクラスターの管理者を決める際に、重要なことは、 Kubernetes のユーザ/ロールとIAMとのマッピング • 今までは、ManifestのConfigMapを利用して記載する必要があった • クラスターを作成した IAMロールには自動で権限が付与されるが、 他の開発者が同じ権限でアクセスするわけではないので、設定する 必要がある 2024/1/20 yoshii0110 31

Slide 32

Slide 32 text

これからはどうできるの? 2024/1/20 yoshii0110 32 • EKS APIにアクセス管理用の機能が追加 • 管理者がクラスターの作成中または作成後に、 承認された IAM プリンシパルとそのプリンシパルが持つ Kubernetes 権限を EKS API を直接使用して定義できる • なので、IAMアクセスエントリでIAMプリンシパルの権限設定を 行えば、EKS 周りの権限は無くても kubectl コマンドを実行可能になる!!

Slide 33

Slide 33 text

既存のものはどうなるの?? • 今回のアップデートでEKS は Authentication modeを設定できる 1. ConfigMap 2. EKS API and ConfigMap 3. EKS API • 既存のクラスターはこれまでと同じで ConfigMap になる • ConfigMap から EKS API and ConfigMap、 EKS API and ConfigMap から EKS API へ移行ができる 2024/1/20 yoshii0110 33

Slide 34

Slide 34 text

ECRがライフサイクルポリシーで ワイルドカードをサポート • ライフサイクルポリシーでフィルターとしてワイルドカードマッチングを 使用できる • ワイルドカードを使用すると、任意の位置に 1 つ以上の特定の文字 列を含むイメージ タグを照合できる 2024/1/20 yoshii0110 34 https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-elastic-container- registry-wildcards-lifecycle-policies/

Slide 35

Slide 35 text

ECRのライフサイクルポリシーとは? ECRの中のライフサイクルポリシーを設定しておくことで、 不要になったイメージを自動的に有効期限切れ(削除)することができる 2024/1/20 yoshii0110 35

Slide 36

Slide 36 text

設定方法 2024/1/20 yoshii0110 36

Slide 37

Slide 37 text

AWS CloudShellがDockerをサポート • 要はCloudShell上でDocker CLIが使えるようになったという話 • 無理やりインストールすることもできたがデーモンの起動が できなかったとか • 重要なポイント • CloudShellは下記のコンピュートリソースしか持っていない点 • 1 vCPU (仮想 CPU) • 2 GiB メモリ • 1 GB の永続ストレージ 2024/1/20 yoshii0110 37 https://aws.amazon.com/about-aws/whats-new/2024/01/aws-cloudshell-docker-13- regions/

Slide 38

Slide 38 text

ECS およびFargateでAmazon EBS インテグレーションができるようになった • ECS(EC2 and Fargate)とEBSがインテグレーションできるようになった • ECS タスクに EBS ボリュームをプロビジョニングしてアタッチするイメージ なので、EBSボリュームではなくEBSスナップショットを指定する形 • 実行するタイミングで大量のデータを低いレイテンシで読み込ませるときに 使えそう • 今までだと、特定のタスクで大量のデータを使いたい場合は、データ込みの 巨大コンテナイメージを作るかS3から起動時にファイルを取ってくる必要が あった 2024/1/20 yoshii0110 38 https://aws.amazon.com/jp/about-aws/whats-new/2024/01/amazon-ecs-fargate- integrate-ebs/

Slide 39

Slide 39 text

2024/1/20 yoshii0110 39 まとめ 今回のアップデートは、細かい内容のものが多かった印象だ が、開発者にとって痒い所に手が届くそんな機能の アップデートだった気がします。