Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第107回 雲勉【オンライン】Amazon ECSとCodeシリーズでCICDに入門!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
iret.kumoben
July 07, 2023
Technology
0
140
第107回 雲勉【オンライン】Amazon ECSとCodeシリーズでCICDに入門!
下記、勉強会での資料です。
https://youtu.be/HRamhqFDnWk
iret.kumoben
July 07, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
47
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
46
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
71
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
100
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
71
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
79
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
65
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
98
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
140
Other Decks in Technology
See All in Technology
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
420
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
410
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
140
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
RailsConf 2023
tenderlove
30
1.3k
Test your architecture with Archunit
thirion
1
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Thoughts on Productivity
jonyablonski
74
5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
第107回 雲勉【オンライン】 Amazon ECSとCodeシリーズでCICDに⼊⾨︕ 2023/7/6
0. 自己紹介 松田 啓佑 • 所属 ◦ クラウドインテグレーション事業部 構築第2セクション •
業務 ◦ AWSを中心としたインフラ設計/構築/運用 ◦ New Relic/Datadogを利用した監視の設計/実装 • 好きなAWSサービス ◦ Amazon ECS ◦ AWS Step Functions • 認定 ◦ 2023 Japan AWS Top Engineers ◦ iretテクニカルアンバサダー advanced • 趣味 ◦ テニス ◦ 飲酒 2
本日のゴール 3 ❏ コンテナ、Amazon ECSが何かを理解する ❏ CI/CD、AWS Codeシリーズを何か理解する ❏ AWS
Codeシリーズを利用したECSのCI/CDパイプライン構成をイメージできるようになる
本日のアジェンダ 4 - 0. 自己紹介 - 1. 座学(19:05-19:25) - コンテナとは
- Amazon ECSとは - CI/CDとは - AWS Codeシリーズとは - 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する (19:25-50) - 3. 質疑応答 (19:50-20:00)
5 [座学] コンテナとは
[座学] コンテナとは 6 • アプリケーション実行環境 ◦ コンテナ以外の実行環境:仮想マシン(VM)、ベアメタルサーバ • 仮想マシンに比べて容量が少なく、起動時間が短い =>
軽量 • 軽量という特徴により、構築からデプロイを迅速に行うことができる => アジリティ 開発スピードが求められる昨今において、 コンテナが実行環境の主流になりつつある
7 [座学] Amazon ECSとは
8 • ECS(Elastic Container Service)とは ◦ AWSが提供するフルマネージドコンテナオーケストレーションサービス ◦ オーケストレーション =
管理 [座学] Amazon ECSとは
9 オーケストレーションがない世界(管理対象1つ) 管理対象が少なければ問題はないが.... [座学] Amazon ECSとは
10 オーケストレーションサービスがない世界(管理対象複数) 対象が増えると管理が煩雑になり、オペレーションミス発生などを招いてしまう! [座学] Amazon ECSとは
11 オーケストレーションがある世界 面倒な管理作業はオーケストレーションサービスにお任せ! [座学] Amazon ECSとは
12 • ECS(Elastic Container Service)とは ◦ AWSが提供するフルマネージドコンテナオーケストレーションサービス ◦ オーケストレーション =
管理 [座学] Amazon ECSとは コンテナをいい感じに管理してくれるサービス
13 AWSのオーケストレーションサービス • ECS(Elastic Container Service) ◦ 小/中規模ワークロード向け ◦ AWS独自ソフトウェアがベース
• EKS(Elastic Kubernetes Service) ◦ 大規模ワークロード向け ◦ Kubernetesがベース [座学] Amazon ECSとは
14 [ 起動タイプ:Fargate ] • ECSで利用可能なサーバレスコンテナ実行環境 • ECSの基盤となるインスタンスの管理をオフロードする • つまり管理者はインスタンスの運用から解放される
• コストは起動タイプEC2よりやや割高 [ 起動タイプ:EC2 ] • EC2インスタンスをコンテナ実行環境とした起動タイプ • EC2インスタンスの運用/保守は利用者の責任範囲 • EC2インスタンスの細かいカスタマイズを行うことができる [座学] Amazon ECSとは
15 • クラスター : 入れ物 • タスク : アプリケーションを実行するコンテナ群 =
アプリケーション本体 • タスク定義 : タスク(アプリケーション)の金型 • サービス:タスクの管理人 ECSの構成要素 [座学] Amazon ECSとは
16 [座学] CI/CDとは
17 [座学] CI/CDとは • Continuous Integration/Continuous Delivery = 継続的インテグレーション/継続的デリバリー •
アプリケーション開発の各ステージを自動化することにより、アプリケーション開発を高速/効率化する手法
[座学] CI/CDとは 18 時間がかかる ヒューマンエラーが発生する ソースコードの変更 ビルド実施 テスト実施 デプロイ実施 リリース
人がやる範囲 CI/CDがない世界
[座学] CI/CDとは 19 ソースコードの変更 ビルド実施 テスト実施 デプロイ実施 リリース 人がやる範囲 時間はかからない
ヒューマンエラーはゼロ CI/CDがある世界
20 [座学] CI/CDとは • Continuous Integration/Continuous Delivery = 継続的インテグレーション/継続的デリバリー •
アプリケーション開発の各ステージを自動化することにより、アプリケーション開発を高速/効率化する手法 CI/CD + コンテナ => 開発の高速化を実現
21 [座学] CI/CDとは • ソース:ソースコードの更新 • ビルド:コンパイル、単体テスト、コンテナイメージの作成 • テスト:結合テスト、UIテスト、ロードテスト •
デプロイ:本番環境への適用 CI/CDではこれら各フェーズを自動化する => 自動化した一連のプロセスをCI/CDパイプラインと呼ぶ ソース ビルド テスト デプロイ アプリケーションの一般的なリリースサイクル
22 [座学] AWS Codeシリーズとは
23 [座学] AWS Codeシリーズとは • アプリケーションのリリースプロセスを担うサービス
24 [座学] AWS Codeシリーズとは ECSのCI/CDパイプラインをCodeシリーズで構成した際のイメージ ソースコード レポジトリ ① ② ③
① Code Commitのレポジトリに変更をPUSH ② Code Buildがソースコードの変更を検知して、ECRに新しいイメージをPUSH ③ Code Deployがタスク定義を更新して、新しいイメージを利用したコンテナを 起動
25 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する
2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する 26 ◆実施すること AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する ◆ゴール ソースコード更新をトリガーにCI/CDパイプラインが実行されて、ECSのコンテナが更新されることを 確認する
2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する 27 完成イメージ
2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する 28 - 0. 事前準備 - 0.1 事前に作成したリソース説明
- 0.2 ALBエンドポイントへのリクエスト確認 - 1. 構築 - 1.1 Code Commitレポジトリ作成 - 1.2 Code Build ビルドプロジェクト作成 - 1.3 Code Deploy アプリケーション/デプロイグループ作成 - 1.4 必要なファイルをレポジトリにPUSH - 1.5 Code Pipeline パイプラインの作成 - 1.6 動作確認
29 - 0. 事前準備 - 0.1 事前に作成したリソース説明 - 0.2 ALBエンドポイントへのリクエスト確認
- 1. 構築 - 1.1 Code Commitレポジトリ作成 - 1.2 Code Build ビルドプロジェクト作成 - 1.3 Code Deploy アプリケーション/デプロイグループ作成 - 1.4 必要なファイルをレポジトリにPUSH - 1.5 Code Pipeline パイプラインの作成 - 1.6 動作確認 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する
30 ネットワークとECS周りのリソースを作成して、ALBのエンドポイントを叩けばApacheのWebページが 見れる状態にする 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する ALB周りの詳細な構成
31 - 0. 事前準備 - 0.1 事前に作成したリソース説明 - 0.2 ALBエンドポイントへのリクエスト確認
- 1. 構築 - 1.1 Code Commitレポジトリ作成 - 1.2 Code Build ビルドプロジェクト作成 - 1.3 Code Deploy アプリケーション/デプロイグループ作成 - 1.4 必要なファイルをレポジトリにPUSH - 1.5 Code Pipeline パイプラインの作成 - 1.6 動作確認 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する
32 - 0. 事前準備 - 0.1 事前に作成したリソース説明 - 0.2 ALBエンドポイントへのリクエスト確認
- 1. 構築 - 1.1 Code Commitレポジトリ作成 - 1.2 Code Build ビルドプロジェクト作成 - 1.3 Code Deploy アプリケーション/デプロイグループ作成 - 1.4 必要なファイルをレポジトリにPUSH - 1.5 Code Pipeline パイプラインの作成 - 1.6 動作確認 2. AWS Codeシリーズを利用してECSのCI/CDパイプラインを実装する
33 3. 質疑応答
3