Skip to content

develozombie/cdk-and-copilot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Workshop CDK and Copilot

Creación del ambiente de trabajo.

  1. Ingresar a: https://us-east-1.console.aws.amazon.com/cloud9/home/create
  2. Crear un nombre al espacio de Cloud9 y darle clic en siguiente.
  3. Configuraremos el tipo de instancia en t3.small para este workshop y dejamos el resto de valores por defecto.
  4. Ejecutamos los siguientes comandos para descargar AWS Copilot.
    curl -Lo copilot https://github.com/aws/copilot-cli/releases/latest/download/copilot-linux && chmod +x copilot && sudo mv copilot /usr/local/bin/copilot && copilot --help
  5. Iniciamos el servicio de docker:
    sudo service docker start
  6. Ahora vamos a Settings y desactivamos las credenciales administradas
  7. Creamos una política para Cloud9 llamada Cloud9CDK

    https://us-east-1.console.aws.amazon.com/iam/home#/policies$new?step=edit
    con la siguiente estructura: \
{
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "Stmt1665503038650",
          "Action": "*",
          "Effect": "Allow",
          "Resource": "*"
        }
      ]
 }
  1. Creamos un rol para Cloud9 seleccionando el tipo AWS Service y seleccionamos EC2 https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-1#/roles/create?step=selectEntities
  2. Y le asignamos la política creada previamente.
  3. Ahora vamos a cambiar el rol de la instancia de EC2 que usaremos en el laboratorio. Vamos a https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#Instances:instanceState=running
  4. Y seleccionamos la instancia que contenga Cloud9 en el nombre y que esté activa. Para luego darle clic en Actions>Security>Modify IAM role
  5. Una vez ahí nos pedirá indicar el rol, ahí seleccionaremos el recién creado.
  6. Finalmente crearemos un usuario programático y le asignaremos la política creada previamente.
  7. Necesitaremos configurar credenciales de AWS para poder continuar por lo que crearemos un usuario de terminal y ejecutaremos>
    aws configure
  8. Ahora vamos a poner manos a la obra, comenzamos clonando el repositorio del workshop.
    git clone https://github.com/develozombie/cdk-and-copilot

Trabajando con CDK

  1. Nos ubicamos en el directorio cdk-and-copilot/aws-cdk Y exploramos los archivos del proyecto.
  2. Tenemos que instalar nuestro proyecto antes de comenzar, por lo que ejecutaremos
    npm install
  3. Y ahora vamos a ver como CDK termina siendo la abstracción de CloudFormation ejecutando
    cdk synth
  4. Y finalmente vamos a ejecutar los cambios con
    npm run-script deploy
  5. Nos saldrá un error, eso es debido a que no hemos podido asociar una cuenta a nuestro proyecto
    cdk bootstrap
  6. Vamos a intentar hacer un cambio en el proyecto y ver los cambios con
    npm run-script diff

Trabajando con Copilot

  1. Nos ubicamos en el directorio copilot de nuestro repo y exploramos los archivos.
  2. Ahora debemos iniciar el ambiente de trabajo:
    copilot init
  3. Nos pedirá un nombre de aplicación, la llamaremos hits
  4. Vamos a llamar a nuestro servicio hits, cuando nos lo pida.
  5. Esperamos a que el servicio termine de configurarse.
  6. Nos preguntará si queremos desplegar un ambiente de test y ponemos que sí (Y)
  7. Así como en CDK acá también tenemos que crear nuestra tabla de DynamoDB, para ello usaremos el siguiente comando:
    copilot storage init
  8. Usaremos los siguientes atributos:
    1. DynamoDB
    2. Table Name: hits
    3. Table PK: counter
    4. Table PK Type: String
    5. Sort Table: N
  9. Ya estamos listos para el siguiente paso, que será desplegar la solución. copilot deploy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 58.2%
  • JavaScript 36.3%
  • Dockerfile 5.5%