En aquest bloc, aprendràs sobre AWS Cloud Development Kit mitjançant Java. Sense més preàmbuls comencem!
També us pot interessar: “Funcions de React 18: què hi ha de nou a la caixa?”
Introducció a AWS Cloud Development Kit
L’ AWS CDK us permet crear aplicacions al núvol amb el poder expressiu d’un llenguatge de programació. Es recomana per a usuaris que tinguin una experiència moderada a alta en l’ús dels serveis d’AWS. Fem una ullada a alguns conceptes clau mentre utilitzeu AWS CDK per crear aplicacions CDK.
- Una aplicació utilitza AWS CDK per definir AWS Infrastructure. Podeu escriure aplicacions CDK en idiomes compatibles amb AWS, com ara TypeScript, JavaScript, Python, Java o C#.
- Una aplicació pot tenir una o més piles.
- Les piles contenen construccions. Són equivalents a les piles d’AWS CloudFormation.
- Les construccions defineixen els recursos d’AWS, com ara Amazon RDS, DynamoDB, cubs S3, funcions Lambda, etc.
- Les piles, les construccions i les aplicacions es representen com a classes. Les construccions s’instanciencien dins d’una pila per declarar-les a AWS i connectar-les entre elles mitjançant interfícies ben definides.
Aconseguiràs aquests conceptes després d’implementar l’aplicació sample-cdk-project.
Requisits previs
Primer, heu d’instal·lar AWS CLI al vostre ordinador. A més, també necessiteu una clau d’accés i una clau secreta proporcionades per l’administrador del compte d’AWS.
En primer lloc, confirmeu que l’heu instal·lat correctament al vostre ordinador introduint l’ordre següent.
aws –version
A continuació, introduïu l’ordre següent per configurar la instal·lació de l’AWS CLI al vostre ordinador.
aws configure
A continuació, proporcionareu l’identificador de la clau d’accés d’AWS, la clau d’accés secreta d’AWS, el nom de la regió per defecte i el format de sortida predeterminat.
Com començar amb AWS CDK mitjançant Java
Instal·leu AWS CDK Toolkit
CDK Toolkit és una eina per treballar amb aplicacions i piles AWS CDK. El Toolkit ofereix la possibilitat de convertir una o més piles d’AWS CDK a plantilles de CloudFormation i actius relacionats i de desplegar piles a un compte d’AWS juntament amb altres funcions. Ara és el moment d’instal·lar AWS CDK Toolkit mitjançant l’ordre Node Package Manager. Per això, introduïu la següent comanda
npm install -g aws-cdk
Inicialitzar l’aplicació Sample CDK
Primer, creeu un directori nou per a l’aplicació CDK de mostra amb l’ordre següent.
mkdir sample-cdk-project
A continuació, feu que sigui el directori de treball.
cdk sample-cdk-project
Ara introduïu l’ordre següent que crearà una aplicació CDK de mostra amb java.
cdk init --language java
Fem una ullada a què passa dins del projecte.
Entendre l’aplicació de mostra CDK
La part bona és que podeu obrir el vostre projecte en qualsevol dels vostres IDE preferits. El directori del projecte té l’aspecte següent. Fem una ullada a SampleCdkProjectStack.java i SampleCdkProjectApp.java un per un.
SampleCdkProjectStack.java
Aquesta és la pila per defecte del sample-cdk-project. Per començar, descomentareu el recurs d’exemple. SampleCdkProjectStack amplia la classe base Stack i inclou una única cua d’Amazon SQS amb un temps d’espera de processament d’un missatge establert en 300 segons. Les construccions representen un component del núvol i són els components bàsics de les aplicacions AWS CDK. Amazon SQS Queue és una construcció de l’exemple següent. Tingueu en compte que totes les construccions prenen tres paràmetres a la inicialització: Scope, id i Props.
- L’àmbit és el constructe dins del qual es defineix el constructe.
- Id és un identificador que ha de ser únic dins de l’àmbit.
- Els accessoris són un conjunt de propietats o arguments de paraula clau, depenent del llenguatge, que defineixen la configuració inicial del constructe.
public class SampleCdkProjectStack extends Stack {
public SampleCdkProjectStack(final Construct scope, final String id) {
this(scope, id, null);
}
public SampleCdkProjectStack(final Construct scope, final String id, final StackProps props) {
super(scope, id, props);
// The code that defines your stack goes here
/* final Queue queue = Queue.Builder.create(this, "SampleCdkProjectQueue")
.visibilityTimeout(Duration.seconds(300))
.build(); */
}
}
SampleCdkProjectApp.java
Ara donem una ullada a SampleCdkProjectApp.java. Aquí creareu una instancia de la pila (definida prèviament) en algun àmbit per desplegar-la. Aquesta classe crea una instancia de SampleCdkProjectStack i produeix la plantilla AWS CloudFormation definida per la pila. Aquí també inicialitzareu la construcció de l’aplicació que utilitzareu com a àmbit per definir una instància de SampleCdkProjectStack.
public class SampleCdkProjectApp {
public static void main(final String[] args) {
App app = new App();
new SampleCdkProjectStack(app, "SampleCdkProjectStack", StackProps.builder()
/*If you don't specify 'env', this stack will be environment-agnostic.
Account/Region-dependent features and context lookups will not work,
but you can deploy a single synthesized template anywhere.
Uncomment the next block to specialize this stack for the AWS Account
and Region that is implied by the current CLI configuration. */
/* .env(Environment.builder()
.account(System.getenv("CDK_DEFAULT_ACCOUNT"))
.region(System.getenv("CDK_DEFAULT_REGION"))
.build()) */
/*Uncomment the next block if you know exactly what Account and Region you
want to deploy the stack to */
.env(Environment.builder()
.account("123456789012")
.region("us-east-1")
.build()) */
//For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
.build());
app.synth();
}
}
A la classe anterior, descomenceu el codi per especialitzar aquesta pila per al compte i la regió d’AWS que estan implicats per la configuració actual de la CLI.
Aplicació Bootstrap CDK
Quan despleguem aplicacions AWS CDK en un entorn AWS, hi ha determinats recursos que poden ser necessaris per al desplegament, com ara el bucket d’Amazon S3 per emmagatzemar fitxers i rols IAM amb determinats permisos per dur a terme el desplegament. El procés per proporcionar aquests recursos s’anomena Bootstrapping.
Els recursos anteriors es defineixen en una pila d’AWS CloudFormation que s’anomena CDKToolkit. L’ordre següent desplega la pila de preparació de CDK Toolkit.
cdk bootstrap
Podeu fer un cop d’ull a la plantilla Resources in CDKToolkit CloudFormation.
Sintetitzar la plantilla de formació de núvols
L’ordre següent sintetitza i imprimeix la plantilla de CloudFormation. Hauríeu d’especificar la pila si la vostra aplicació en conté més d’una. Actualment, no cal especificar-ho, ja que la vostra aplicació només conté una pila.
cdk synth
Desplegueu l’aplicació CDK
Ara introduïu l’ordre següent per desplegar els recursos definits a la pila de la vostra aplicació CDK.
cdk deploy
Podeu fer una ullada a la plantilla Recursos a SampleCdkProjectStack CloudFormation.
Aquesta és la cua d’Amazon SQS que heu definit a la pila.
Al final, destruïu els recursos de cdk-sample-project mitjançant l’ordre següent
cdk destroy
Conclusió
Amb això, hem arribat al final del nostre blog. En aquest blog, heu après els conceptes bàsics d’AWS Cloud Development Kit i heu creat una aplicació CDK amb Java. Si voleu practicar més, consulteu el dipòsit oficial de github d’AWS que té exemples implementats a Java.
Estigueu atents a les novetats més informatives que hi haurà. No dubteu a deixar qualsevol comentari a la secció de comentaris.
Feliç aprenentatge!
Referència
https://docs.aws.amazon.com/cdk/v2/guide/home.html
Unimedia Technology
A Unimedia Technology tenim un equip de desenvolupadors nadius al núvol que us poden ajudar a desenvolupar les vostres aplicacions AWS i Azure més complexes.