Skip to content

AWS FastAPI deployment on top of ALB and ECS with Docker containers implementing ECS as the orchestration tool for an AWS-managed infrastructure. IaC with CDK.

License

san99tiago/aws-cdk-ecs-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔱 AWS-CDK-ECS-API 🔱

AWS FastAPI CDK deployment on top of ALB and ECS with Docker containers implementing ECS as the orchestration tool for an AWS-managed infrastructure.

Summary/Overview 📝

AWS Architecture Diagram 🏆

The AWS infrastructure solution is deployed with CDK-TypeScript with the resources defined on the cdk folder:


Folders Explained 📜

This repository consists of multiple folders/files, which are explained as follows:

Usage ✅

Follow these steps to configure the project locally:

Clone the repository

First, clone the repository:

git clone https://github.com/san99tiago/aws-cdk-ecs-api
cd aws-cdk-ecs-api

Configure Python

Review the step by step commands for the source code (Python) development and testing at:

Note: python dependencies for this project are managed by Poetry. Review ./pyproject.toml for details.

Configure CDK

Review the step by step commands for configuring the CDK at:

Note: for deploying or destroying the solution, see ("part 3") inside ./commands_cdk.sh.

Dependencies 💯

Software

  • Visual Studio Code
    Visual Studio Code is my main code editor for high-level programming. This is not absolutely necessary, but from my experience, it gives us a great performance and we can link it with Git and GitHub easily.

  • NodeJs
    NodeJs is a JavaScript runtime built on Chrome's V8 JavaScript engine programming language. The community is amazing and lets us handle async functionalities in elegant ways.

  • Python
    Python is an amazing dynamic programming language that let us work fast, with easy and powerful integration of different software solutions.

Tools

  • CDK CLI (Toolkit)
    To work with the CDK, it is important to install the main toolkit as a NodeJs global dependency. Please refer to the official AWS Getting started with the AWS CDK

  • AWS CLI
    The AWS Command Line Interface (AWS CLI) is a unified tool to manage your AWS services. We will use it for connecting to our AWS account from the terminal (authentication and authorization towards AWS).

Special thanks 🍻

  • I am grateful to the talented individuals who have dedicated their time and effort to develop the exceptional open-source projects that have been used in the creation of this solution.

Author 🎹

Santiago Garcia Arango

As a curious DevOps Engineer, I am deeply passionate about implementing cutting-edge cloud-based solutions on AWS.
I firmly believe that today's greatest challenges must be solved by the expertise of individuals who are truly passionate about their work.

LICENSE

Copyright 2023 Santiago Garcia Arango