From e684d5a1f2afec014bf884f8c88eb1794f5c0c71 Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Tue, 25 Aug 2020 01:56:19 +0100 Subject: [PATCH 1/4] Adding first stage of AWS doc --- doc/AWS.md | 142 ++++++++++++++++++++++++++++++++++++++ doc/images/SAS_on_AWS.jpg | Bin 0 -> 312882 bytes 2 files changed, 142 insertions(+) create mode 100644 doc/AWS.md create mode 100644 doc/images/SAS_on_AWS.jpg diff --git a/doc/AWS.md b/doc/AWS.md new file mode 100644 index 00000000..1466ffab --- /dev/null +++ b/doc/AWS.md @@ -0,0 +1,142 @@ +# Deployment of SimpleAnnotationServer (SAS) on Amazon Web Services (AWS) + +The aim of this guide is to give information on how to host the SimpleAnnotationServer (SAS) in the Cloud using Amazon Web Services (AWS). The setup allows the management of SAS in GitHub and the automatic deployment to AWS when changes are made to the `master` branch. This is achieved through the use of Docker and hosting the Docker instance in Amazon's Elastic Container Service (ECS). The SAS Cloud service is made up of the following four components: + +**Deployment** +This does the following: + * Monitor GitHub for changes to the master branch + * Build a Docker Image + * Store the image using the AWS Image Repository (part of ECS) + +**Management** +This component is responsible for taking a Docker image and making it available as an ECS service. A ECS service can scale instances to cope with load and also monitors errors and replaces instances which are no longer healthy. In the diagram below this part is split into two: + + * Amazon ECS - Service + * Responsible for managing Docker Images (ECS Repository) + * Responsible for creating ECS Tasks that have running containers built from Docker Images + * A Service that manages scaling and health monitoring of ECS Tasks + * Amazon ECS - Cluster + * A Cluster is responsible for running a service + * A cluster has assigned machines either a EC2 machine or Fargate. + +**Storage** +It is possible to setup SAS with a number of backends that could be hosted using AWS but in this guide the storage will be an ElasticSearch instance as this is one of the available managed services through AWS. A managed service means Amazon will take care of backup and upgrades to the service. + +**Access** +The access component uses an Elastic Load Balancer to coordinate the incoming requests to an available ECS Service. The ECS service looks after the process of adding tasks to a Target Group. The Elastic Load Balancer manages the incoming requests and sends them to one of the ECS tasks that is in the Target group. + +A diagram of these components can be seen below: + +![SAS in the Cloud](images/SAS_on_AWS.jpg) + +## Rough Costs + + +## Setup + +To ensure the components work together it is important to do the following steps in order. The AWS interfaces change regularly so rather than doing specific screen shots and specific instructions this guide gives information on the important fields and what they are used for. The setup detailed here is the cheapest setup that will work but notes will be given where it is possible to scale up the infrastructure if this is required. + +### Storage - Elastic Search Service + +Before creating a Elastic Search domain we must create a user. To do this go to the Identity and Access Management (IAM) part of the AWS console. Add a User with **Programmatic access* and attach the `AmazonESReadOnlyAccess` policy. The Policy contains the following JSON: + +``` +{ + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "es:Describe*", + "es:List*", + "es:Get*" + ], + "Effect": "Allow", + "Resource": "*" + } + ] +} +``` + +When creating the user make note of the **Access Key** and **Secret Access Key** as this will be required when configuring the SAS container. Also make note of the user's ARN which can be copied from the User Summary screen after the user has been created. + +Next we need to create the ElasticSearch service by going to the AWS `Elasticsearch Service` in the list of AWS services. To use SAS we need to create a new Domain (which is equivalent to an Elastic Search Cluster). The configuration options are: + +**Deployment type** + * For this guide the recommended option is 'Development and testing' as this will create a single node in one availability zone. For larger instances you may want to use a production type. + +**Elasticsearch version** + * Select the latest version of ElasticSearch. At the time of writing the latest version is `7.7`. + +**Elasticsearch domain name** + * This is the name of your ElasticSearch service. I used `elastic-sas` but it should be a name that would distinguish the SAS use of ElasticSearch as apposed to other services that might need an ElasticSearch cluster. + +**Data nodes** + * This is where you could scale your ElasticSearch interface and have multiple nodes. AWS recommends a minimum of 3 nodes. + * For this guide we will go for the cheapest option which is: + * Instance type: **t2.small.elasticsearch** + * Number of nodes: 1 + +**Data nodes storage** +This is the data storage for your ElasticSearch instance. Annotations with SAS are generally very small so the defaults should be fine here: + * **Data nodes storage type**: EBS + * **EBS volume type**: General Purpose (SSD) + * **EBS storage size per node**: 10 - this is 10GB of storage + +**Dedicated master nodes** +As we only have 1 node in our cluster (see **Data nodes** above) it is not possible to set a dedicated master node so do not enable this. + +**Network configuration** +To allow you to view the ElasticSearch index it is advisable to give it Public Access but restrict who can access the instance. To do this select **Public Access** rather than VPC in Network configuration. + +**Fine-grained access control** +As we are using a small instance, Fine grained access control isn't available. + +**Amazon Cognito authentication** +For this guide we will be creating an IAM role rather than using Cognito. Do not enable Amazon Cognito authentication if you are following this guide. + +**Access Policy** +To allow SAS access to the ElasticSearch cluster we need to add a custom access policy. This will be fully populated after the ElasticSearch instance has been created but for now enter the user's ARN that you created here and set the first drop down to `IAM ARN`. The third drop down should be `Allow`. + + +Making the following changes: + * **USER_ARN**: You should find this on the summary screen of the IAM user you created at the start of the Storage part of this guide. + * **ELASTIC_SEARCH_ARN**: You should find this on the ElasticSearch information screen for your domain. It will be named **Domain ARN**. + * **DEV_SERVER_IP**: To allow you to view data in ElasticSearch add your IP address so that you can view ElasticSearch and Kabana without using the IAM login. + +**Encryption** + +Check **Require HTTPS for all traffic to the domain**. Do not select **Node-to-node encryption** or **Enable encryption of data at rest**. There is no need to fill in any of the **Optional Elasticsearch cluster settings**. + +Now click `Confirm` to create your ElasticSearch instance. To aid development you may want to access ElasticSearch and Kabana from your development machine. If this is the case then select your domain and in the `Actions` drop down select **Modify access policy)**. + +Enter the following policy JSON: + +``` +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "AWS": "USER_ARN" + }, + "Action": "es:*", + "Resource": "ELASTIC_SEARCH_ARN" + }, + { + "Effect": "Allow", + "Principal": { + "AWS": "*" + }, + "Action": "es:ESHttp*", + "Resource": "ELASTIC_SEARCH_ARN", + "Condition": { + "IpAddress": { + "aws:SourceIp": "DEV_SERVER_IP" + } + } + } + ] +} +``` + diff --git a/doc/images/SAS_on_AWS.jpg b/doc/images/SAS_on_AWS.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b02670562b8615b0e038c248fe6c1bcef9d6e04 GIT binary patch literal 312882 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

>?B+L64VdC1z956# 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 VqKTLdiP?~t4gY@GkmPvy{{a{{BFF#$ literal 0 HcmV?d00001 From 568206af1530984a20075c4e7b559bc13a9c2aaf Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Wed, 26 Aug 2020 03:21:48 +0100 Subject: [PATCH 2/4] 0.1 version of doc --- doc/AWS.md | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 192 insertions(+), 11 deletions(-) diff --git a/doc/AWS.md b/doc/AWS.md index 1466ffab..3c1710dd 100644 --- a/doc/AWS.md +++ b/doc/AWS.md @@ -38,7 +38,7 @@ To ensure the components work together it is important to do the following steps ### Storage - Elastic Search Service -Before creating a Elastic Search domain we must create a user. To do this go to the Identity and Access Management (IAM) part of the AWS console. Add a User with **Programmatic access* and attach the `AmazonESReadOnlyAccess` policy. The Policy contains the following JSON: +Before creating a Elastic Search domain we must create a user. To do this go to the Identity and Access Management (IAM) part of the AWS console. Add a User with **Programmatic access** and attach the `AmazonESReadOnlyAccess` policy. The Policy contains the following JSON: ``` { @@ -57,7 +57,7 @@ Before creating a Elastic Search domain we must create a user. To do this go to } ``` -When creating the user make note of the **Access Key** and **Secret Access Key** as this will be required when configuring the SAS container. Also make note of the user's ARN which can be copied from the User Summary screen after the user has been created. +When creating the user make note of the **Access Key** and **Secret Access Key** as this will be required when configuring the SAS container. Also make note of the user's ARN which can be copied from the User Summary screen after the user has been created. In later parts of this guide this user will be referred to as the ELASTIC_USER. Next we need to create the ElasticSearch service by going to the AWS `Elasticsearch Service` in the list of AWS services. To use SAS we need to create a new Domain (which is equivalent to an Elastic Search Cluster). The configuration options are: @@ -95,21 +95,15 @@ As we are using a small instance, Fine grained access control isn't available. For this guide we will be creating an IAM role rather than using Cognito. Do not enable Amazon Cognito authentication if you are following this guide. **Access Policy** -To allow SAS access to the ElasticSearch cluster we need to add a custom access policy. This will be fully populated after the ElasticSearch instance has been created but for now enter the user's ARN that you created here and set the first drop down to `IAM ARN`. The third drop down should be `Allow`. - - -Making the following changes: - * **USER_ARN**: You should find this on the summary screen of the IAM user you created at the start of the Storage part of this guide. - * **ELASTIC_SEARCH_ARN**: You should find this on the ElasticSearch information screen for your domain. It will be named **Domain ARN**. - * **DEV_SERVER_IP**: To allow you to view data in ElasticSearch add your IP address so that you can view ElasticSearch and Kabana without using the IAM login. +To allow SAS access to the ElasticSearch cluster we need to add a custom access policy. We will have to edit this after the ElasticSearch instance has been created but for now enter set the first drop down to `IAM ARN`. In the text box enter (Enter Principal) put the User ARN you created earlier in the IAM screen. The third drop down should be `Allow`. **Encryption** Check **Require HTTPS for all traffic to the domain**. Do not select **Node-to-node encryption** or **Enable encryption of data at rest**. There is no need to fill in any of the **Optional Elasticsearch cluster settings**. -Now click `Confirm` to create your ElasticSearch instance. To aid development you may want to access ElasticSearch and Kabana from your development machine. If this is the case then select your domain and in the `Actions` drop down select **Modify access policy)**. +Now click `Confirm` to create your ElasticSearch instance. -Enter the following policy JSON: +To aid development you may want to access ElasticSearch and Kabana from your development machine. If this is the case then select your domain and in the `Actions` drop down select **Modify access policy)**. Ensure JSON defined access policy is set and paste the following JSON: ``` { @@ -140,3 +134,190 @@ Enter the following policy JSON: } ``` +Making the following changes: + * **USER_ARN**: You should find this on the summary screen of the IAM user you created at the start of the Storage part of this guide. + * **ELASTIC_SEARCH_ARN**: You should find this on the ElasticSearch information screen for your domain. It will be named **Domain ARN**. + * **DEV_SERVER_IP**: To allow you to view data in ElasticSearch add your IP address so that you can view ElasticSearch and Kabana without using the IAM login. + +You should now have an ElasticSearch instance that is ready to be used with SAS. + + +### Access - Elastic Load Balancer + +To be able to use ECS and Fargate we need to create an Elastic Load Balancer that will route incoming traffic to the correct ECS Task. To do this navigate to the EC2 service and scroll down to Load Balancers. Click Create load Balancer. + +**Load balancer type**: Application Load Balancer + +**Name**: https-LoadBalancer + +**Scheme**: Internet facing + +**IP address type**: ipv4 + +**Listeners**: If you want to access your application using http then leave the default listener in place. You should also add a https listener by clicking Add listener and selecting https. + +**Availability Zones**: use the default for VPC and select two zones. + +**Configure Security Settings**: If you have a certificate then assign this to your Load balancer. As load balancers are quite expensive it makes sense to re-use them for different services. If you plan to do this then it is a good idea to create a wildcard certificate and assign it here. + +**Security policy**: BEN WHAT DO YOU SEE HERE? + +**Configure Security groups**: BEN WHAT DO YOU SEE HERE? + +**Configure routing**: This is where you setup the routing to the task and health check. + +**Target group**: New target group + +**Name**: SAS-target-group + +**Type**: Instance + +**Protocol**: HTTP + +**PORT**: 80 + +**Health checks**: Protocol: http, path: `/index.html` + +Due to another chicken and egg situation you won't be able to register targets as you haven't yet created the ECS service so skip to the Review step and click create Load Balancer. You need to do this step before the ECS steps as the service requires the Load Balancer to be available. + +### Management - Amazon Elastic Container Service + +The Elastic Container Service (ECS) is the part of the Amazon Web Services that deal with the hosting and running of Docker images. The advantage of using this service is that you can use Docker locally when developing an application and then deploy it to AWS and know that all of the tools and environment will be consistently the same. + +The Docker process has two parts. The first is building an Image and the second process is running this image. In AWS the building part is done with code pipeline and ECS is only concerned with running an image. Due to a chicken and egg issue, we need to create the ECS configuration before setting up the code pipeline. ECS has the following components: + +### Repositories +These are collections of Docker images. There is a charge for storing built images here and you may be able to use other repositories like [Docker Hub](https://hub.docker.com/) but I have only used the AWS repositories. We will need to create a new Repository to store our SAS Docker image. To do this navigate to the Amazon Container Service and click on Repositories then `create repository`. + +Options are: + +__Repository name__: the name of the image. I used `sas` + +__Image scan settings__: I left this disabled + +__Encryption setting__: I left this disabled + +Click `Create repository`. In the list of images make note of the URI for the image as this will be required in the CodePipeline build step. The CodePipeline build process will automatically add new image versions when a change is detected in GitHub. + +### Tasks +Tasks are running Docker images. This is where you configure the Docker Image, allocate minimum system requirements (RAM /CPU) and attach persistent storage. + +Services are mentioned in more detail below but a Service is made up of 1 or more copies of a Task. A service then runs on a cluster. The service is responsible for making sure the correct number of tasks are run and that they are all healthy. A service can create new tasks or replace unhealthy tasks. + +We are going to create a SAS task and attach the Docker image as a container within this task. To do this navigate to Tasks Definitions and click `Create new Task Definition`. + +#### EC2 or Fargate? +After you create a task it will ask you if you want to use EC2 or Fargate. + +With EC2 you have to create an EC2 instance and add it to your cluster. You can setup your cluster to automatically add extra EC2 instances if the first instance is becoming overloaded but there is more configuration for this option. The advantages are that you can run multiple services on a single EC2 machine and if they don't use much resources this could be a cheaper option. The second big advantage is that you can ssh into a EC2 instance and diagnose any issues you come across. Although with ECS managed tasks if a task becomes unhealthy then it is replaced which can make trouble shooting difficult as you may connect to an instance but not be able to read the logs as it may have been replaced. + +Fargate creates a virtual machine which your task runs on. You can't ssh into this machine but it has the advantage of being isolated from other tasks so if your SAS task is under heavy load it won't affect the other services you are running. + +For this guide we will be using Fargate as it makes the process easier to manage. + +Once you have selected Fargate you can create the Task with the following options: + +**Task name**: SAS-task (note it is useful to include the type of thing you are creating in the name so that you can see where different things are considered, the first time I did this I called everything SAS and couldn't see which things were tasks and which were services). + +**Task Role**: None + +**Network Mode**: awsvpc (hard coded if using Fargate) + +**Task execution IAM role**: allow ECS to create a role for you + +**Task size**: Memory 0.5GB. CPU 0.25 - this is the resources to allocate to SAS. If you find SAS is too slow these can be increased. + +#### Container + +The add Container screen is where you configure the SAS Docker image. Up until now most of the configuration has been general to ECS but the Container configuration is where you setup the specific SAS configuration. The options are: + +**Container name**: SAS_container (see note above about including the name of components in names) + +**Image**: Paste in the id of your repository and add `:latest` to the end for example: + +`082101253860.dkr.ecr.eu-west-2.amazonaws.com/sas:latest` + +**Memory Limits (MiB)**: this is where you configure the minimum amount of memory the SAS task needs to run. Set this too high and ECS won't deploy your task. You can set a hard or soft limit. If you set a hard limit your task will be killed if SAS goes over this limit. A soft limit makes sure this memory is available before it is deployed. A low value means the task will almost always be deployed. Set it to soft limit of 300MB which is the minimum recommend for a Web Application. + +**Port Mappings**: This is where you map your internal Docker ports to ports you can access. The only port that SAS listens to is 8888 so enter that here and set the protocol to TCP. + +Leave the rest of the config as defaults and scroll down to **Environment variables**. This is where you tell SAS which backend to use and pass in credentials to log in. You will need to set the following values: + + * `AWS_ACCESS_KEY_ID` the access key for the ELASTIC_USER created earlier + * `AWS_SECRET_ACCESS_KEY` the secret key for the ELASTIC_USER created earlier + * `AWS_REGION`: AWS region e.g. `eu-west-2` + * `SAS_elastic_connection`: your Elastic Search domain URL plus an index. In this case the index is `annotations` e.g: + +`https://search-elastic-sas-nfskj6q5cw7664b3cszjo6gwmi.eu-west-2.es.amazonaws.com/annotations` + + * `SAS_store`: `elastic` + +Leave the rest of the container configuration to the defaults and click create. + +You can also leave the rest of the task configuration as defaults and click create. + +You should now have a SAS task which can be added to a service and run on a cluster. + +#### ECS Cluster + +To run tasks they need to be added to a Service. Services then run on a cluster so we will create the cluster. Navigate to ECS and click on Clusters then create new cluster. + +You will then be given the option of a template. Select the Networking only Fargate template. + +Give your cluster a name. + +For this guide don't create a VPC or enable CloudWatch insights. Click create cluster. Now you have a cluster we will create a service that will run the SAS tasks. + +#### ECS Service +A service is responsible for creating and running tasks. If configured to do so it will add tasks to cope with load and then remove them when they are no longer needed. Service will also monitor the health of tasks and replace them if they are no longer healthy. + +The CodePipeline component will create a new version of SAS task and the service is responsible for removing the previous task version and running the new version. + +To create a service navigate to ECS and click on your cluster. You should see a Service tab with a create button. Select the following options: + +**Launch type**: Fargate + +**Task Definition**: SAS-Task + +**Revision**: Choose latest + +**Platform version**: Latest + +**Cluster**: select your cluster + +**Service name**: SAS-Service + +**Number of tasks**: 1 - this is where you can set the ideal number of SAS tasks. If you run a very busy site you may think of increasing this. There are options later on to automatically add tasks if the load becomes too high. + +**Minimum healthy percent**: 100 - this means there will always be one running task + +**Maximum percent**: 200 + +**Deployment type**: Rolling update + +**Task Placement**: AZ Balanced Spread + +**VPC and security groups**: BEN - could you screen shot this? + +**Health check grace period**: 0 + +**Load balancing**: Application Load Balancer - Load balancing allows you to have multiple tasks and it will route incoming traffic to the correct task. + +**Service IAM role**: createNewRole + +**Load balancer name**: Select the load balancer you create earlier. + +**Container to load balance**: sas-container:0:8888 + +Don't enable **App Mesh** or **Service discovery**. + +**Set Auto Scaling**: Optionally set auto scaling dependent on load. This will create new tasks if required. Note this can only be set on service creation. + +Now create the service. + +You have now create the infrastructure to Run SAS and you now need to create the process to deploy changes from GitHub to ECS. + +### Deployment - CodePipeline + + + From 3739b42fb0f99be1abaafc4a3b873df61e7a9fca Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Wed, 26 Aug 2020 23:48:52 +0100 Subject: [PATCH 3/4] Version 0.2 but ready for testing --- doc/AWS.md | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 144 insertions(+), 1 deletion(-) diff --git a/doc/AWS.md b/doc/AWS.md index 3c1710dd..572bf405 100644 --- a/doc/AWS.md +++ b/doc/AWS.md @@ -264,7 +264,7 @@ To run tasks they need to be added to a Service. Services then run on a cluster You will then be given the option of a template. Select the Networking only Fargate template. -Give your cluster a name. +Give your cluster a name e.g. ECSCluster. For this guide don't create a VPC or enable CloudWatch insights. Click create cluster. Now you have a cluster we will create a service that will run the SAS tasks. @@ -319,5 +319,148 @@ You have now create the infrastructure to Run SAS and you now need to create the ### Deployment - CodePipeline +Now you have the service setup we need to connect it to GitHub so that any changes to the master branch will cause the service to update with the latest version of the code. The Annotations that have been created will be stored in ElasticSearch and so will be unaffected by the upgraded code. Before starting the work on creating this automated build process we need to fork the SAS github repo into your own account. This allows you to make changes and maintain your own version of SAS. To do this navigate to: +https://github.com/glenrobson/SimpleAnnotationServer +and click on the fork link at the top right of the screen. This will copy the SAS source to your GitHub repo. To make the build process work for your ECS setup you will need to change the buildspec.yml file which is used to know where to send DockerImages to and how to build them. The buildspec.yml looks like: + +``` +version: 0.2 + +phases: + pre_build: + commands: + - echo Logging in to Amazon ECR... + - aws --version + - $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) + - IMAGE_NAME="sas" + - REPOSITORY_URI=082101253860.dkr.ecr.eu-west-2.amazonaws.com/sas + - IMAGE_TAG=prod_$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7) + build: + commands: + - echo Build started on `date` + - echo Building the Docker image... + - echo Image_tag $IMAGE_TAG + - docker build -t $REPOSITORY_URI:$IMAGE_TAG -f docker/sas-tomcat/Dockerfile . + - docker tag $REPOSITORY_URI:$IMAGE_TAG $REPOSITORY_URI:latest + post_build: + commands: + - echo Build completed on `date` + - echo Pushing the Docker images... + - docker push $REPOSITORY_URI + - echo Writing image definitions file... + - printf '[{"name":"SAS","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json +artifacts: + files: imagedefinitions.json +``` + +You will need to make two changes. The first is with the following line: + +``` + - REPOSITORY_URI=082101253860.dkr.ecr.eu-west-2.amazonaws.com/sas +``` + +Where you will have to change the Repository URI to your own repository. Remember to leave `/sas` at the end. The second changes is with the imagedefinitions.json file and this line: + +``` + - printf '[{"name":"SAS","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json +``` + +Name `"SAS"` should be change to the name of your container configured above. The suggested name was SAS_container so the line would look like: + +``` + - printf '[{"name":"SAS_container","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json +``` + +Now you have the copy of SAS in your own GitHub repo you are ready to get started configuring the build process. + +#### Stage 1 - Pipeline + +To build this process we will be using a tool from AWS called CodePipeline. To start navigate to `CodePipeline` in the list of AWS services and click Create Pipeline. The creation is split into 5 stages. The first is pipeline settings and you can use the following options: + +**Pipeline name**: Again ensure that the name of the process is included in the name. I went for SASPipeline + +**Service role**: Select New service role unless you already have a pipeline configure. Call it CodePipelineRole + +Leave advanced settings as is. + +#### Stage 2 - Source +For the source section we need to connect to the GitHub site and select the correct repository and branch. Select `GitHub` as the source provider and click Connect to GitHub to give AWS permission to your repository. Then select the following options: + +**Repository**: Your forked copy of SimpleAnnotationServer + +**Branch**: Master + +**Change detection**: GitHub webhooks + +#### Stage 3 - Build stage + +This is the process that will build the Docker Image and there are two options but we will use AWS Code Build to build the image. This realise on a `buildspec.yml` file that needs to be in the root of your repository. As explained earlier you will have to customise the copy in your forked repository to ensure it points to the correct ECS repository. First enter the following build configuration: + +**Build provider**: AWS CodeBuild + +**Region**: enter the region you are using + +**Project name**: here we will have to create a new project to build our Docker Image. We will make the process generic enough that this build process (AWS CodeBuilder build) can be used for any future pipelines that need to build using Docker. When you click Create Project you will be taken to a new window where you will configure AWS CodeBuild. Use the following options but note new versions are made available so if there is a new version choose that one rather than the ones specified below: + +**Name**: DockerBuilder + +**Description**: Optional but I used: "Build a Docker Image from Github" + +**Environment image**: Managed image + +**Operating system**: Amazon Linux 2 + +**Runtime**: Standard + +**Image**: aws/codebuild/amazonlinux2-x86_64-standard:3.0 + +**Image version**: Always use the latest image for this runtime version + +**Environment type**: Linux + +**Privileged**: Yes + +**Service role**: New service role + +**Role name**: Codebuild-Docker-role + +**Build specifications**: Use a `buildspec` file + +**Batch configuration**: leave unchecked + +**CloudWatch logs**: Tick this but leave everything else blank. + +Click continue to CodePipeline. You should now have a populated build process and you can fill in the rest of the build stage configuration: + +**Environment variables**: Don't add any. + +**Build type**: Single build + +Now click next to go on to the deploy stage. + +#### Stage 4 - Deploy + +This connects the build process with the ECS service you want to update. Use the following values: + +**Deploy provider**: Amazon ECS + +**Region**: select your AWS region + +**Cluster name**: select your cluster (ECSCluster was suggeted earlier) + +**Service name**: select your service (SAS-Service was suggested earlier) + +**Image definitions file**: `imagedefinitions.json` this comes from the buildspec.yml file + +**Deployment timeout**: leave this blank. + +#### Stage 5 - Review + +Check the settings and then click create pipeline. + +You should now have a pipeline that automatically runs when you make a change to the master branch on your forked repositorty. To check this works commit a change to master and see if it is picked up by CodePipeline. You can monitor the process by clicking on the pipline and watching the animation as it goes through the source, build and deploy processes. If you want to manually trigger a release click the release change button. + + +## Troubleshooting and mointoring From 26a88d4c4d6ee8c7ae4776499cff2081cffb05a1 Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Wed, 9 Sep 2020 23:03:47 +0100 Subject: [PATCH 4/4] Adding trouble shooting section --- doc/AWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/AWS.md b/doc/AWS.md index 572bf405..b835d03f 100644 --- a/doc/AWS.md +++ b/doc/AWS.md @@ -463,4 +463,4 @@ Check the settings and then click create pipeline. You should now have a pipeline that automatically runs when you make a change to the master branch on your forked repositorty. To check this works commit a change to master and see if it is picked up by CodePipeline. You can monitor the process by clicking on the pipline and watching the animation as it goes through the source, build and deploy processes. If you want to manually trigger a release click the release change button. -## Troubleshooting and mointoring +## Troubleshooting and monitoring