Posts

AWS Code Build - CI/CD Series Part 2

Image
  AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to worry about provisioning and managing your own build infrastructure.  CodeBuild integrates with other AWS services like CodePipeline, so you can easily automate your entire software release process. Buildspec file: The Buildspec file is a configuration file used by AWS CodeBuild to define how to build and deploy your application or software project. It is written in YAML or JSON format and contains a series of build commands, environment variables, settings, and artifacts that CodeBuild will use during the build process. Let's start with building a project in CodeBuild. Next, I need to select the source. The source is where my code exists. I am selecting "Code Commit" as my source. When selecting "Code Commit" I have to mention the repository name and the branch name (main). Next, We se...

AWS Code Commit - CI/CD Series Part 1

Image
  This is a multi-part series to show how to implement a CI/CD pipeline in AWS. In this post, We will see how to use AWS Code Commit. AWS CodeCommit is a fully managed source control service that allows you to store and manage your code securely in the cloud.  It provides a private Git repository for your code and supports all Git commands and workflows. CodeCommit also integrates with other AWS services like AWS CodePipeline and AWS CodeBuild, allowing you to automate your entire software release process. This can help you streamline your development workflows and improve the overall efficiency of your team. I created a repo from AWS CodeCommit -> Create Repository. And I begin with cloning the repo locally. So that I can make changes and push it. To clone the repo click on "HTTPS" under Clone URL. I make changes to index.html file. Now push it to AWS CodeCommit. Let’s verify the changes in AWS Code commit. Changes are reflected in AWS CodeCommit. We are done with Part ...

AWS Beanstalk - Part 1

Image
  Amazon Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. You simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, and automatic scaling to web application health monitoring, with ongoing fully managed patch and security updates. Elastic Beanstalk automatically collects more than 40 key metrics and attributes to determine the health of your web application in one unified interface. Components of Beanstalk: 1)     Application. 2)     Environment. 3)     Change history. Let’s start with creating an application. Creating an application is setting up the infra. While creating an application , we can upload the code, or we can upload it later. Think of the application environm...

AWS - S3 Multi Region Access Point

Image
  Amazon S3 Multi-Region Access Points provide a global endpoint that applications can use to fulfill requests from S3 buckets that are located in multiple AWS Regions. You can use Multi-Region Access Points to build multi-Region applications with the same architecture that's used in a single Region, and then run those applications anywhere in the world.  Let's get started. I am going to create 2 buckets each under a different region. Next, We need to create a multi-regional access point with the 2 buckets. Next, We need to configure bi-directional replication between the buckets. This replication can be configured from the Multi-Region Access Point.  If the buckets are configured using AWS KMS, then the replication has to be configured manually.  Now, We have the replication configured. And we need to setup failover configuration. There are 2 configurations:  1) ACTIVE-ACTIVE. 2) ACTIVE-PASSIVE. I am going to set up ACTIVE-PASSIVE. Next comes the IAM. To access...

AWS S3 - Batch Operations

Image
  In this post, we will see how to use batch replication - S3.  A job is used to execute batch operations on a list of S3 objects. The list of S3 objects is contained in a manifest object, which can be an S3 inventory report or a list of objects that you generate. After the total number of objects listed in the manifest has been confirmed, the job status will update to Awaiting your confirmation to run, and you must Run the job within 30 days. I am going to create a replication job to tag the existing objects in the bucket. NOTE: The batch job relies on manifest.json which is an inventory of objects. This can be collected from bucket management. It takes 48 hrs to get the first inventory created. Let's create a batch job. Select the location were the manifest.json is created. I am to create tags for all the objects. Next, the critical portion is assigning the correct IAM role for the batch to perform action. I created a role with S3 full access. Please refer to the link for th...