$30 off During Our Annual Pro Sale. View Details »

いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜

horsewin
October 31, 2024

いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜

2024年10月31日に株式会社ビッグツリーテクノロジー&コンサルティング様のイベントで登壇した際の資料です。

発売から3年たった、「AWSコンテナ[本格]入門ハンズオン」を今ならどう作り変えるだろう?という観点で話をしています。

horsewin

October 31, 2024
Tweet

More Decks by horsewin

Other Decks in Technology

Transcript

  1. ECS Service Connect • ECSサービス間の新たな接続⽅法 • ECS Service Connect Proxy

    コンテナをタスク内で起動する • 2024年9⽉にAWS App Meshの 代替としても推奨されている https://aws.amazon.com/jp/blogs/news/announcing-aws-graviton2-support-for-aws-fargate-get-up-to-40-better-price-performance-for-your-serverless-containers/
  2. • 旧来のClair[*1]とは異なる 「AWS_NATIVE」エンジンによる スキャン • プッシュ時 or ⼿動による実⾏[*2] • 継続実⾏やアプリレベルまでのス

    キャンが可能であるため書籍では 引き続きTrivy[*3]を利⽤想定 ECRの脆弱性スキャンのアップデート *1: https://github.com/quay/clair *2: https://aws.amazon.com/inspector/faqs/ *3: https://github.com/aquasecurity/trivy https://aws.amazon.com/jp/about-aws/whats-new/2024/08/new-version-amazon-ecr-basic-scanning/
  3. Seekable OCI(SOCI)利⽤によるコンテナ起動速度改善 *1: https://github.com/awslabs/soci-snapshotter https://aws.amazon.com/jp/about-aws/whats-new/2022/09/introducing-seekable-oci-lazy-loading-container-images • コンテナイメージPull速度改善の 1つであるLazy Pullのアプローチ •

    コンテナ起動の76%を占めるイ メージPullだが実際に有効に使わ れるデータは6.4%のみ [*1] • 必要なレイヤーのみを部分的に Pull して準備ができ次第コンテナ の起動を開始するアプローチ
  4. 今回はなした、AWSコンテナ本に関係があるアップデート • FargateのGraviton2サポート • ECS Service Connect • ECRの脆弱性スキャンのアップデート •

    ECRがイメージ署名へ対応 • Seekable OCI(SOCI)利⽤によるコンテナ起動速度改善 • CloudshellからのVPCアクセスが可能 • Cloud9/CodeCommitの新規利⽤受付終了
  5. それぞれの通信⽅式の特徴 ECS Service Connect 内部ALB ECS Service検出 Pros ・トラフィックのメトリクスを取得可 能

    ・ECSネイティブな通信 ・Blue/Greenデプロイ可能 ・リスナールールの活用 ・シンプルな構成 ・コストが安価 Cons ・Proxyサイドカーのキャパシティ の考慮が必要 ・ALBのコストがかかる ・トラフィックの詳細メトリク スが取得できない • ⽬標:コストとセキュリティを最重要とする 懸念)Service ConnectではCloud Mapの料⾦は無料だがService検出ではRoute53とCloud Mapのコストを考える必要あり
  6. Cloud9の代替策を考える • DBメンテナンス作業 ◦ CloudshellからのVPCアクセスが可能となり代替可能? ▪ NAT Gatewayが必要となり追加コストがかかる ◦ PublicなCloudshellとRDS

    Data APIの⽅向で検討 • コンテナイメージのビルドとプッシュ ◦ Cloudshellの永続ストレージが1GBのためビルドが困難 ◦ ローカル、SageMaker StudioまたはEC2で代替が考えら れるが本質からズレる。。。 https://docs.aws.amazon.com/ja_jp/cloudshell/latest/userguide/limits.html https://aws.amazon.com/jp/about-aws/whats-new/2024/09/amazon-aurora-mysql-rds-data-api/ めちゃくちゃ 悩んでます
  7. • こちらのほうはエスケープハッチが少ない :-( • 外部のリポジトリサービスの利⽤が主流となる (GitHub / GitLab) ◦ エンタープライズ向けの場合は⾃社で中央管理する

    コード管理システムやEC2上にGitLabサーバを⽴て るなどもある • AWSコンテナ本では、CodeStar(AWS Connector for GitHub)を利⽤したGitHub 接続を⾏う CodeCommitの代替策を考える