jaws-ug ecs best practice
TRANSCRIPT
![Page 1: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/1.jpg)
![Page 2: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/2.jpg)
![Page 3: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/3.jpg)
![Page 4: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/4.jpg)
![Page 5: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/5.jpg)
![Page 6: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/6.jpg)
Container
Container
Container
CentOS 7CentOS 7
Docker Docker
Container Container
JenkinsDocker
Registry
cAdvisor
InfluxDB
Grafana
Container
MySQL
Container
Grails
App
Container
Fess
ポータル/クローラ
Container
Nginx
Tomcat Solr
VMware基盤(自社DC)
RDS
(PostgreSQL)
SpotFleet
ECS
Admin Service
ECS Cluster
Admin
ALB
API
ALB
User
ALB
API Service User Service
Route53
SES
email delivery
Docker Image
CloudWatch
Logs
log
ECR
![Page 7: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/7.jpg)
![Page 8: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/8.jpg)
development test staging production
build
app
app engineer infra engineer
deploy
config
stack
config
stackconfig
stack
BEFORE
![Page 9: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/9.jpg)
development test staging production
build/deploy
image with app
app engineer infra engineer
config
stack
pull/run
AFTER
![Page 10: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/10.jpg)
development test staging production
build/deploy
image with app
app engineer infra engineer
config
stack
on AWS
![Page 11: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/11.jpg)
Service A Service B
ECS Cluster
Service A Service B Service A
Service B
New Service New Service
Service B Service A
![Page 12: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/12.jpg)
![Page 13: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/13.jpg)
![Page 14: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/14.jpg)
![Page 15: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/15.jpg)
ECS Cluster
Service A Service B Service A
Service BService B Service A
container
instance
container
instance
container
instance
![Page 16: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/16.jpg)
ECS Cluster
Service A Service B Service A
Service BService B Service A
container
instance
container
instance
container
instance
CloudWatch Logs
S3 DynamoDB
RDS
![Page 17: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/17.jpg)
![Page 18: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/18.jpg)
パスベースルーティングECS Cluster
Service C
Service B
Service A
/api/*
/sub/* /health
/health
/health
example.com/api/health
example.com/health
example.com/sub/health ALB
![Page 19: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/19.jpg)
ECS Cluster
Service B Service A
_JAVA_OPTIONS :-DdataSource.url='jdbc:postgresql://rds.example.com:5432/database'
Private Hosted Zone
Route53
rds.example.com CNAMEmyrdsinstance.*.*.rds.amazonaws.com
RDS
Task Definition
環境変数
![Page 20: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/20.jpg)
![Page 21: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/21.jpg)
![Page 22: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/22.jpg)
RI
入札アドバイザーや
スポットアドバイザー
も参考に
![Page 23: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/23.jpg)
更新通知は
SNS Topicでも
受け取れるよ
![Page 24: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/24.jpg)
ECS Cluster
Service AService A Service B
ECS Cluster
Service BService B Service AService A
ALB A ALB B ALB A ALB B
![Page 25: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/25.jpg)
![Page 26: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/26.jpg)
user-data で ECS_CLUSTER を指定
インスタンスロール
AmazonEC2ContainerServiceforEC2Role
をアタッチ
動的ポートマッピング利用の場合は
ホストポートを指定しない
ロググループを awslogs-group に指定
![Page 27: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/27.jpg)
![Page 28: JAWS-UG ECS Best Practice](https://reader031.vdocuments.mx/reader031/viewer/2022030307/58e52aa91a28abac7e8b4bd7/html5/thumbnails/28.jpg)
ECS
たーのしー!