|
|
|
@ -10,3 +10,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
* AWS WAF
|
|
|
|
* AWS WAF
|
|
|
|
* AWS Shield
|
|
|
|
* AWS Shield
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Create `ECR` to store docker image
|
|
|
|
|
|
|
|
* `903306222264.dkr.ecr.ap-southeast-1.amazonaws.com/gold-web-api:develop_v5`
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
2. Create Jenkins
|
|
|
|
|
|
|
|
* To build container image and push to `ECR`
|
|
|
|
|
|
|
|
* To generate `taskdefinition.json` from `config/taskdef-develop.json`
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
* *Note* : After delete the ecs instance, seems like script still execute the `aws ecs update-service ...` instead of `aws ecs create-service ...`
|
|
|
|
|
|
|
|
3. Create `Target Group`
|
|
|
|
|
|
|
|
* `zgd-tg-ecs-gold-web-api`
|
|
|
|
|
|
|
|
* To map host port to container port (443)
|
|
|
|
|
|
|
|
* Health Check interval `30s`
|
|
|
|
|
|
|
|
* Host port is auto assigned when ECS instance started. Eg. `44212`
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
4. Create `CloudWatch` log group
|
|
|
|
|
|
|
|
* log group `ZGD-gold-web-api` for ECS instance to log
|
|
|
|
|
|
|
|
* *Note* : If log group not created, container will not be able to start. Fail code `500`
|
|
|
|
|
|
|
|
5. Create ECS
|
|
|
|
|
|
|
|
* Cluster : `zdg-ecs-cluster`
|
|
|
|
|
|
|
|
* Spin-Up instance : `gold-web-api`
|
|
|
|
|
|
|
|
* Goto `Services` -> `gold-web-api` ->` Tasks`, and select the task to view below
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
6. Setup ALB (Application Load Balancer)
|
|
|
|
|
|
|
|
* `zgd-alb-wan-ecs`
|
|
|
|
|
|
|
|
* Add Listener Rules for `HTTPS:443`
|
|
|
|
|
|
|
|
* 
|
|
|
|
|
|
|
|
7. Setup Route 53
|
|
|
|
|
|
|
|
* Add `webapi.zgold-dev.com` domain name
|
|
|
|
|
|
|
|
* ONLY `Daryl Chew` have rights to do this for QA & Dev
|
|
|
|
|
|
|
|
* Production need SRE team
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Troubleshoot
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Route 53 : Hostname Creation `webapi.zgold-dev.com`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. ALB (Load Balancer) : `zgd-alb-wan-ecs`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Target Group : `zgd-tg-ecs-gold-web-api`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. ECS : `gold-web-api`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Cloudwatch : `ZGD-gold-web-api`.
|