Skip to content

Latest commit

 

History

History
126 lines (91 loc) · 3.12 KB

File metadata and controls

126 lines (91 loc) · 3.12 KB
description cover coverY
Using Terraform
../../../.gitbook/assets/AWS and Memphis (1).jpeg
0

Deploy on AWS

Introduction

Amazon Web Services, one of the world's three most popular cloud providers, offers reliable and scalable cloud computing services. Free to join. Pay only for what you use.

At the moment, memphis utilizing Terraform to automate the entire deployment process from VPC creation, to K8S, to memphis deployment.

Terraform codifies cloud APIs into declarative configuration files.

Prerequisites

IAM Policy to use -

{% code lineNumbers="true" %}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "kms:*",
                "logs:*",
                "ec2:*",
                "eks:*"
            ],
            "Resource": "*"
        }
    ]
}

{% endcode %}

How to configure AWS CLI -

$ aws configure
  AWS Access Key ID [****************EF66]: 
  AWS Secret Access Key [****************Fzna]: 
  Default region name [eu-central-1]:
  Default output format [json]:

Terraform Installation Flow

Step 0: Clone Memphis-Terraform repo

Using git ssh

git clone git@github.com:memphisdev/memphis-terraform.git && \
cd memphis-terraform/AWS/EKS

Using git http

git clone https://github.com/memphisdev/memphis-terraform.git && \
cd memphis-terraform/AWS/EKS

Step 1: Deploy EKS Cluster using Terraform

make infra

{% hint style="warning" %} Instead of running three terraform commands {% endhint %}

Step 2: Deploy Memphis

make cluster

Once deployment is complete, the Application Load Balancer URL will be revealed.

Step 3: Login to Memphis

Display memphis load balancer public IP by running the following -

kubectl get svc -n memphis

The UI will be available through https://<Public IP>:9000

Appendix A: Clean (Remove) Memphis Terraform deployment

Destroy Memphis App -

make destroymemphis

{% hint style="info" %} It might take a few minutes for the ELB to be deleted. {% endhint %}

Destroy Memphis EKS Cluster -

make destroyinfra