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

AWSのコンテナサービス / jawsug_niigata21_aws_container_s...

AWSのコンテナサービス / jawsug_niigata21_aws_container_services

2025/03/15 (土) JAWS-UG新潟#21 の補足資料

イベントページ:
https://jawsug-niigata.connpass.com/event/343520/

kasacchiful

March 15, 2025
Tweet

More Decks by kasacchiful

Other Decks in Programming

Transcript

  1. 引用: https://aws.amazon.com/jp/containers/ コンテナオーケストレーション Amazon ECS Amazon EKS (Kubernetesで管理) コンピューティング AWS

    Fargate Amazon EC2 Amazon EC2 スポットインスタンス サポートツール・サービス AWS Copilot Amazon ECR AWS App Mesh AWS Cloud Map AWS Lambda AWS App Runner Amazon Lightsail AWS App2Container AWS Migration Hub Orchestrator AWSのコンテナサービス一覧 3 / 11
  2. 引用: https://aws.amazon.com/jp/containers/ オンプレミス Amazon ECS Anywhere Amazon EKS Anywhere エンタープライズ規模のコンテナ管理

    AWS Proton AWS での Red Hat OpenShift サービス (ROSA) オープンソース Amazon EKS Distro AWS App2Container AWSのコンテナサービス一覧(続き) 4 / 11
  3. Amazon ECR Amazon Lightsail コンテナサービス AWS Lambda コンテナ AWS App

    Runner Amazon ECS / Amazon EKS AWS Batch コンテナ実行環境・まずはここから押さえておこう 5 / 11
  4. ビルド済のDockerイメージを格納するリポジトリ ECRへの反映は、基本的にDocker CLIで行う マネコン上のECRリポジトリページでも確認できる ## login aws ecr get-login-password --region

    ap-northeast-1 | \ docker login --username AWS --password-stdin \ <AWS ACCOUNT ID>.dkr.ecr.ap-northeast-1.amazonaws.com ## build docker build --platform linux/amd64 -t <Dockerイメージ名>:latest . ## push先に元イメージを参照するtagを作成 docker tag <Dockerイメージ名>:latest \ <AWS ACCOUNT ID>.dkr.ecr.ap-northeast-1.amazonaws.com/<ECRリポジトリ名>:latest ## push docker push <AWS ACCOUNT ID>.dkr.ecr.ap-northeast-1.amazonaws.com/<ECRリポジトリ名>:latest Amazon ECR 6 / 11
  5. Lambdaは、Zipパッケージの他にコンテナを動かすことができる AWSが用意しているコンテナイメージをベースで使えるし、独自コンテナでラン タイム同梱利用もできる ECRにプッシュした後、Lambda関数へ反映する必要がある ARG FUNCTION_DIR=/function RUN mkdir -p ${FUNCTION_DIR}

    COPY lambda_function.py ${FUNCTION_DIR} COPY requirements.txt / # Install dependencies RUN python3 -m pip install --target ${FUNCTION_DIR} awslambdaric RUN python3 -m pip install --target ${FUNCTION_DIR} -r /requirements.txt # Set runtime interface WORKDIR ${FUNCTION_DIR} ENTRYPOINT [ "/usr/local/bin/python3", "-m", "awslambdaric" ] CMD [ "lambda_function.handler" ] AWS Lambda コンテナ 8 / 11
  6. ウェブアプリケーションを自動的に構築してデプロイ、負荷分散・スケールなど も自動的に行ってくれるサービス インフラに詳しくなくても、アプリケーションコードが書ければ動かせる Google Cloud Run / Azure App Service

    に近いかも ECRにプッシュするか、GitHub/Bitbucketにソースコードをプッシュすると、自 動検知していい感じにデプロイされる ソースコードからAmazon LinuxベースのDockerイメージを自動生成 触ってみたい方は、2023年8月開催の「JAWS-UG新潟#14」でApp Runnerのハン ズオンやってるので、見てください https://github.com/kasacchiful/jawsug-niigata_20230805 参考: AWS入門ブログリレー2024〜AWS App Runner編〜 | DevelopersIO AWS App Runner 9 / 11