{"id":2081,"date":"2022-07-12T21:34:33","date_gmt":"2022-07-12T21:34:33","guid":{"rendered":"https:\/\/www.checkmateq.com\/blog\/?p=2081"},"modified":"2024-10-19T17:31:45","modified_gmt":"2024-10-19T17:31:45","slug":"blue-green-deployment","status":"publish","type":"post","link":"https:\/\/www.checkmateq.com\/blog\/blue-green-deployment","title":{"rendered":"How to set up Blue-Green Deployment with ECS and CodeDeploy"},"content":{"rendered":"<h2>Application Deployment: Traditional vs Blue-Green pipeline<\/h2>\n<p>When delivering an application traditionally, <strong>a failed deployment is usually fixed by redeploying an older, stable version of the application<\/strong>. Due to the expense and time involved in provisioning additional resources, <strong>redeployment in traditional data centers often uses the same set of resources<\/strong>. This strategy works, but it has a lot of drawbacks. Rollbacks are difficult to implement since they necessitate starting from scratch with a previous version. Since this process takes time, the application can be inaccessible for extended periods of time. Even though the application is simply compromised, a rollback is necessary to replace the flawed version. As a result, you are unable to troubleshoot the existing problematic program.<\/p>\n<p><strong>Blue-Green Deployment<\/strong> is an application release methodology in which you create<strong> two separate but identical environments<\/strong>. The traffic from the current version (blue environment) of an application or microservice is transferred to a newer version(green environment), both of which are already in production. After the green environment has undergone testing, the blue environment is deprecated, and actual application traffic is switched to the green environment.<\/p>\n<p>The blue-green deployment methodology<strong> increases application availability<\/strong> and<strong> lowers deployment risk<\/strong> by simplifying the rollback process if a deployment fails.<\/p>\n<h2>Advantages of Blue-Green Deployment<\/h2>\n<p>It is challenging to validate your new application version in a production deployment while also continuing to use the older version of the program when using a traditional deployment with in-place upgrades. <strong>Your blue and green application environments will be somewhat isolated thanks to blue\/green deployments<\/strong>. This makes sure that creating a parallel green environment won&#8217;t have an impact on the resources supporting your blue environment. <strong>The danger of deployment is decreased by this separation<\/strong>.<br \/>\nYou have the chance to validate the green environment after deployment. To better mimic genuine user traffic, you may do this using test traffic before sending production traffic to the green environment, or by utilizing a very modest amount of production traffic.<\/p>\n<h2><strong>Steps to set up Blue-Green Deployment in <a href=\"https:\/\/www.checkmateq.com\/aws-cloud\">AWS Cloud<\/a><\/strong><\/h2>\n<h3><strong>Prerequisites:<\/strong><\/h3>\n<ul>\n<li>Docker image stored in the elastic container registry. We will be using a docker image of a web application running on Nginx.<\/li>\n<li>A GitHub repository with Dockerfile in it.<\/li>\n<li>An IAM role for CodeDeploy to manage ECS. Attach <strong>AWSCodeDeployRoleFSeorECS<\/strong> policy to it.<\/li>\n<\/ul>\n<h3><strong>Step1: Create an AWS ECS cluster<\/strong><\/h3>\n<ul>\n<li>Go to the ECS dashboard and then click <strong>Create cluster<\/strong>.<\/li>\n<li>We will use <strong>AWS Fargate<\/strong> for creating the cluster so select <strong>Networking only<\/strong> cluster template.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2120\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-124627-300x160.png\" alt=\"\" width=\"741\" height=\"395\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-124627-300x160.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-124627-1024x547.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-124627.png 1186w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Give name and tag, select or create<strong> VPC<\/strong> and <strong>enable container insights<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2121\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731-300x159.png\" alt=\"\" width=\"738\" height=\"391\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731-300x159.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731-1024x542.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731-768x406.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731-1200x635.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-133731.png 1276w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Scroll down and click <strong>Create cluster<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2124\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-300x63.png\" alt=\"\" width=\"733\" height=\"154\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-300x63.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-1024x216.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-768x162.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-1536x323.png 1536w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629-1200x253.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-134629.png 1885w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<h3><strong>Step2: Create Load Balancer and Target groups<\/strong><\/h3>\n<ul>\n<li>Go to the EC2 console and select Load balancer from the navigation pane on left.<\/li>\n<li>Click <strong>Create Load balancer<\/strong> and then select <strong>Application load balancer<\/strong>.<\/li>\n<li>Give name and make load balancer internet facing.<\/li>\n<li>Select VPC in which the ECS cluster is created. Next, select subnets.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2125\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702-300x186.png\" alt=\"\" width=\"739\" height=\"458\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702-300x186.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702-1024x635.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702-768x476.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702-1200x744.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-150702.png 1225w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Click Create Security group. Allow inbound traffic on port 80. Make sure your security group is in the VPC, in which we have created our ECS cluster.<\/li>\n<li>Next in listeners, click<strong> Create target group<\/strong>.<\/li>\n<li>Select<strong> IP addresses<\/strong> as the target type, give a name, and select the VPC.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2127\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055-300x182.png\" alt=\"\" width=\"737\" height=\"447\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055-300x182.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055-1024x621.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055-768x466.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055-1200x728.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-151055.png 1243w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Click<strong> Next-&gt;Create Target Group<\/strong>.<\/li>\n<li>After that add the target group as the listener.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2128\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-300x144.png\" alt=\"\" width=\"746\" height=\"358\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-300x144.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-1024x492.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-768x369.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-1536x737.png 1536w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507-1200x576.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-154507.png 1606w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Next, click <strong>create load balancer<\/strong>.<\/li>\n<\/ul>\n<h3><strong>Step3: Create Task definition and service<\/strong><\/h3>\n<ul>\n<li>Go to the <strong>ECS console<\/strong>, select <strong>task definition,<\/strong> and then click <strong>create new task definition<\/strong>.<\/li>\n<li>After that select Fargate launch type.<\/li>\n<li>Give a name and select <strong>ecsTaskExecutionRole<\/strong> as the task role and task execution role. If this role is not there, go to the IAM console and create a role with <strong>AmazonECSTaskExecutionPolicy <\/strong>attached to it.<\/li>\n<li>Select Task memory and CPU according to application.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2130\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906-300x186.png\" alt=\"\" width=\"731\" height=\"453\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906-300x186.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906-1024x635.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906-768x476.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906-1200x744.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-161906.png 1216w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Next, click <strong>Add container<\/strong>.<\/li>\n<li>Add the container name and image URI. Our container will run on port 80. We want that we can access it from the load balancer by same port. Add port mapping for that.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2132\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164640-300x145.png\" alt=\"\" width=\"724\" height=\"350\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164640-300x145.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164640-1024x496.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164640-768x372.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164640.png 1122w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2133\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164258-300x46.png\" alt=\"\" width=\"737\" height=\"113\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164258-300x46.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164258-1024x156.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164258-768x117.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164258.png 1047w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Add container and then click<strong> Create<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2135\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-300x75.png\" alt=\"\" width=\"732\" height=\"183\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-300x75.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-1024x255.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-768x191.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-1536x383.png 1536w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944-1200x299.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-164944.png 1846w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Next, go to cluster-&gt;services and click create.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2137\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910-300x70.png\" alt=\"\" width=\"733\" height=\"171\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910-300x70.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910-1024x238.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910-768x178.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910-1200x279.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-170910.png 1515w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select Fargate as the launch type.<\/li>\n<li>After that select the task definition and service that we created.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2138\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-171500-300x201.png\" alt=\"\" width=\"731\" height=\"490\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-171500-300x201.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-171500-768x516.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-171500.png 1011w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>We will keep the number of tasks as 2.<\/li>\n<li>Select deployment type as blue-green deployment, and then select service role for Codedeploy with the adequate policy attached. We will keep the deployment configuration ECSAllAtOnce.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2139\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-172243-300x179.png\" alt=\"\" width=\"738\" height=\"440\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-172243-300x179.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-172243-1024x612.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-172243-768x459.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-172243.png 1126w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Click next, and select VPC, subnets, and security group that we created earlier.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2141\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173150-300x215.png\" alt=\"\" width=\"712\" height=\"510\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173150-300x215.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173150-768x549.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173150.png 952w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select Application load balancer as the balancer type and then add the container to load balancer.<\/li>\n<li>Select production listener port 80.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2142\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173424-300x131.png\" alt=\"\" width=\"721\" height=\"315\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173424-300x131.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173424-1024x448.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173424-768x336.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173424.png 1080w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>For target group 1, select the target group which we created earlier.<\/li>\n<li>Create another target group for target group 2.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2146\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954-300x179.png\" alt=\"\" width=\"741\" height=\"442\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954-300x179.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954-1024x610.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954-768x458.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954-1200x715.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-173954.png 1240w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Click next, select <strong>Do not adjust the service&#8217;s desired count<\/strong> and click next.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2148\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631-300x95.png\" alt=\"\" width=\"733\" height=\"232\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631-300x95.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631-1024x325.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631-768x244.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631-1200x381.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174631.png 1369w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Review and click <strong>Create Service<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2150\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-300x120.png\" alt=\"\" width=\"740\" height=\"296\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-300x120.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-1024x409.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-768x307.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-1536x613.png 1536w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940-1200x479.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-174940.png 1888w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>You can now access your application using load balancer dns.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2180\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-001713-300x67.png\" alt=\"\" width=\"734\" height=\"164\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-001713-300x67.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-001713-1024x230.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-001713-768x172.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-001713.png 1182w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<h3>Step4: Create CodeDeploy Pipeline<\/h3>\n<ul>\n<li>Go to the CodeDepoly dashboard.<\/li>\n<li>Select pipeline from the navigation pane on left and click <strong>Create pipeline<\/strong>.<\/li>\n<li>Give a name and choose the service role.<\/li>\n<li>Select GitHub as<strong> a Source provider<\/strong>. Connect to your Github and select the repository and branch.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2154\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555-300x155.png\" alt=\"\" width=\"743\" height=\"384\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555-300x155.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555-1024x529.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555-768x397.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555-1200x620.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-185555.png 1225w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select Output artifact format as<strong> CodePipeline default<\/strong>.<\/li>\n<li>Select <strong>AWS CodeBuild<\/strong> as the build provider.<\/li>\n<li>Click <strong>Create Project<\/strong>.<\/li>\n<li>Give a name to your project.<\/li>\n<li>Select managed image as environment image and Amazon Linux as the operating system.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2155\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-190409-300x206.png\" alt=\"\" width=\"743\" height=\"510\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-190409-300x206.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-190409-1024x704.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-190409-768x528.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-190409.png 1182w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Choose a service role.<\/li>\n<li>For buildspec choose the <strong>insert build command<\/strong> and then switch to the editor. Copy the following code to the editor.<\/li>\n<\/ul>\n<pre><code>version: 0.2\r\nphases:\r\n pre_build:\r\n   commands:\r\n     - REPOSITORY_URI=YOUR_ECR_URI\r\n     - echo $CODEBUILD_RESOLVED_SOURCE_VERSION      \r\n     - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION)\r\n     - IMAGE_TAG=${COMMIT_HASH}:latest\r\n     - $(aws ecr get-login --no-include-email --region YOUR_REGION)\r\n install:\r\n   runtime-versions:\r\n     java: corretto11\r\n build:\r\n   commands:\r\n     - printf '{\"ImageURI\":\"%s\"}' $REPOSITORY_URI:latest &gt; imageDetail.json\r\n     - docker build -t YOUR_ECR_URI:latest .\r\n     - docker push YOUR_ECR_URI:latest\r\nartifacts:\r\n files: \r\n    - 'image*.json'\r\n    - 'appspec.yaml'\r\n    - 'taskdef.json'\r\n secondary-artifacts:\r\n    DefinitionArtifact:\r\n      files:\r\n        - appspec.yaml\r\n        - taskdef.json\r\n    ImageArtifact:\r\n      files:\r\n        - imageDetail.json\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li>Replace <strong>YOUR_ECI_URI<\/strong> with the docker image URI stored in ECR. Remove tag from image URI. Replace <strong>YOUR_REGION<\/strong> with your AWS region.<\/li>\n<li>Enable <strong>privileged<\/strong> flag to build docker images.<\/li>\n<li>Click Create and then select the project.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2159\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857-300x191.png\" alt=\"\" width=\"740\" height=\"471\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857-300x191.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857-1024x653.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857-768x490.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857-1200x765.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-192857.png 1206w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select Amazon ECS(Blue\/Green) as deploy provider then click<strong> Create application<\/strong>.<\/li>\n<li>Select ECS as compute platform.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2161\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-195247-300x124.png\" alt=\"\" width=\"735\" height=\"304\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-195247-300x124.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-195247-1024x422.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-195247.png 1063w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select the application and deployment group created previously by ECS.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2167\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205540-300x78.png\" alt=\"\" width=\"738\" height=\"192\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205540-300x78.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205540-1024x265.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205540-768x199.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205540.png 1059w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Select BuildArtifact for task definition and AppSpec file. Select BuildArtifact for input artifact and IMAGE in placeholder text.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2168\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205559-300x167.png\" alt=\"\" width=\"738\" height=\"411\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205559-300x167.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205559-1024x569.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205559-768x427.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-205559.png 1155w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Now create a file name<strong> appspec.yaml<\/strong>, paste the following code in it and push it to the root directory of your GitHub repository.<\/li>\n<\/ul>\n<pre><code>version: 0.0\r\nResources:\r\n - TargetService:\r\n     Type: AWS::ECS::Service\r\n     Properties:\r\n       TaskDefinition: \"&lt;TASK_DEFINITION&gt;\"\r\n       LoadBalancerInfo:\r\n         ContainerName: \"YOUR_CONTAINER_NAME\"\r\n         ContainerPort: 80\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li>Replace <strong>YOUR_CONTAINER_NAME\u00a0<\/strong>with the name of your container.<\/li>\n<li>Create another file with the name <strong>taskdef.json<\/strong>. Go to Task definition, open the JSON editor, copy the code and paste it into the<strong> taskdef.json file<\/strong>. Find the following properties in the taskdef.json file and replace them with the following values.<\/li>\n<\/ul>\n<pre>\"image\": \"&lt;IMAGE&gt;\"\r\n\"taskDefinitionArn\": \"&lt;TASK_DEFINITION&gt;\"\r\n<\/pre>\n<ul>\n<li>Push the <strong>taskdef.json<\/strong> file into the root directory of your GitHub repository.<\/li>\n<li>Next review and click <strong>create<\/strong>.<\/li>\n<li>Our pipeline has now started executing.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2174\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-235844-300x191.png\" alt=\"\" width=\"737\" height=\"469\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-235844-300x191.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-235844-1024x650.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-235844-768x488.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-12-235844.png 1173w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>Click on details in the Deploy stage of the pipeline.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2175\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000027-300x145.png\" alt=\"\" width=\"728\" height=\"352\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000027-300x145.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000027-768x371.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000027.png 835w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>In some time we will see the traffic is shifted to the replacement cluster.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2176\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218-300x169.png\" alt=\"\" width=\"730\" height=\"411\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218-300x169.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218-1024x577.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218-768x433.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218-1200x676.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000218.png 1357w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2177\" src=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803-300x88.png\" alt=\"\" width=\"747\" height=\"219\" srcset=\"https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803-300x88.png 300w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803-1024x301.png 1024w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803-768x226.png 768w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803-1200x353.png 1200w, https:\/\/www.checkmateq.com\/blog\/wp-content\/uploads\/2022\/07\/Screenshot-2022-07-13-000803.png 1285w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<ul>\n<li>The original task set will be terminated in 1 hour which is the default time set. It can be changed in deployment settings. To terminate the task set you can click <strong>Terminate original task set<\/strong>.<\/li>\n<li>To stop the updated deployment and go back to the previous version click on <strong>Stop and roll back deployment<\/strong>.<\/li>\n<li>Now, if we push any changes for our application in the GitHub repo, it will automatically trigger the pipeline and set up blue-green deployment.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.checkmateq.com\/contact-us\">Please contact<\/a> our Technical consultants if you have anything to discuss about cloud infrastructure, <a href=\"https:\/\/www.checkmateq.com\/hire-developer\">IT Staff Augmentation Services<\/a>, <a href=\"https:\/\/www.checkmateq.com\/hire-developer\">Hire Software Developer in India<\/a>,\u00a0 <a href=\"https:\/\/www.checkmateq.com\/technology-consulting\">Technology Architecture<\/a>, <a href=\"https:\/\/www.checkmateq.com\/cloud\">cloud services<\/a> cost optimisation or <a href=\"https:\/\/www.checkmateq.com\/cloud\">DevOps Management Services , and <\/a>\u00a0<a href=\"https:\/\/www.checkmateq.com\/virtual-cto-services\">Virtual CTO in India<\/a> .<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Application Deployment: Traditional vs Blue-Green pipeline When delivering an application traditionally, a failed deployment is usually fixed by redeploying an older, stable version of the application. Due to the expense and time involved in provisioning additional resources, redeployment in traditional data centers often uses the same set of resources. This strategy works, but it has &hellip; <a href=\"https:\/\/www.checkmateq.com\/blog\/blue-green-deployment\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to set up Blue-Green Deployment with ECS and CodeDeploy&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":2212,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[4,3,2,71,70,69,68,7],"_links":{"self":[{"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/posts\/2081"}],"collection":[{"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/comments?post=2081"}],"version-history":[{"count":37,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/posts\/2081\/revisions"}],"predecessor-version":[{"id":4626,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/posts\/2081\/revisions\/4626"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/media\/2212"}],"wp:attachment":[{"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/media?parent=2081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/categories?post=2081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.checkmateq.com\/blog\/wp-json\/wp\/v2\/tags?post=2081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}