Sign inSign up

arkhotech/aws-backend-tool

By arkhotech

Updated over 6 years ago

Herramienta para devops con aws lamnda

Image
0

565

arkhotech/aws-backend-tool repository overview

aws-backend-tools

Versión: 1.0.0-beta

Herramientas para trabajar con Lambda

Esta herramienta comprende un gramework para desarrollar aplicaciones con Lambda y desplegarlas fácilmente con un par de comandos, sobre AWS usando cloudformation y SAM. Este herramienta genera todos los templates necesarios para el correcto despliegue, en modalidad automática, con poca intervención del usuario. Las intervenciones del usarios se concentran en la modificación de algunos templates (con guía en base a comentarios). Estos templates tienen la configuración por defecto para ser desplegados en AWS.

El usuario sin embargo puede usar la especificación SAM para hacer configuraciones mas complejas ver información avanzada en: AWS Serverless Applicatoin Model.

Adicionalmente se incluye una herramienta para probar las funciones localmente, que incluye tambien la prueba con uno o varios layers en forma local.

Actualmete solo esta desarrollada para Python 3.7, pero en el futuro, se pretende ampliar a otras versiones y a Node.

Pre requisitos

  • Instalar Docker Desktop
  • AWS Client:
  • Instalar cliente AWS sam:
  • Cuenta con acceso programático a AWS (Access Key / Secret Key )
  • Un bucket S3 para usar con la herramienta y el código generado

Setup

Antes de comenzar con el setup, se debe tener instalados las herramientas Docker, AWS Cli, SAM y la cuenta de acceso.

Clonar repositorio
git clone https://gitlab.com/arkhotech/aws-lambda-tool.git
Instalar

En realidad, no hace falta instalar nada, sino que copiar este repo en alguna carpeta en su SO. Podría ser /usr/local o /Users/usurios/lambdatool por ejemplo. Esto queda a criterio del usuario.

Una vez establecido el directorio definitivo, se debe establecer las siguientes variables de ambiente:

export SCRIPT_HOME=[path_to_lambdatool] #Apuntar al directorio clonado

export PATH=$PATH:$SCRIPT_HOME #para usar el comando desde la consola

Probar la instalación


[host]@user >  create-stack.sh --version
Lambda Tools v0.0.1-beta - Arkhotech Spa 2020

Asegurar que estas variables estén siempre establecidas, agreagandolas al archivo ~/.bash_profile o ~/.profile

export BUCKET_NAME=path.to.bucket

Docker Image

Bajar la imagen de Docker (opcional) para que la priemra vez el comando no demore mucho en la ejecución, por que antes necesita hacer un pull de la imagen.

docker pull arkhotech/aws-backend-tool

AWS Client

Asegurar que el cliente AWS tiene los permisos necesarios para ejecutar cloudformation, lambda, codedeploy e IAM. La policy que debe tener asociada la cuenta AWS Cli debe ser como la siguiente:

{
    "Version": "2012-10-17",
    "Statement": [
    	{
    		"Effect": "Allow",
    		"Action": [
             "cloudformation:*",
             "codedeploy:*"
    		],
    		"Resource": "*"
    	},
    	
    	{
    		"Effect" : "Allow",
    		"Action": [
    			"lambda:*"
    		],
    		"Resource" : "*"
    	},
    	{
    		"Effect" : "Allow",
    		"Action": [
    			"iam:CreateRole",
             "iam:AttachRolePolicy",
             "iam:PutRolePolicy",
             "iam:GetRole*",
             "iam:PassRole",
             "iam:CreatePolicy",
             "iam:PutRolePolicy",
    		],
    		"Resource" : "*"
    	},
    	{
    		"Effect" : "Allow",
    		"Action": [
    			"s3:Get*",
    			"s3:Put*"
    		],
    		"Resource" : "*"
    	}
    ]
}

NOTA: La policy descrita anteriormente, es un policy básico. Con esta policy es suficiente para funcioar, este rol es usado por Cloudformation, lo que explica el action "iam:passRole".

Indice

  1. Manual de uso
  2. Trabajar con Layers
  3. Herramienta de testing

Tag summary

Content type

Image

Digest

Size

365.5 MB

Last updated

over 6 years ago

docker pull arkhotech/aws-backend-tool