Overview
Deprecated
Amazon Web Services (AWS) CloudFormation is a service that helps users model, provision, and manage their AWS infrastructure resources in a consistent, predictable, and repeatable manner. It enables the creation, modification, and deletion of a collection of resources together as a single unit, referred to as a “stack.”
Key Features / Concepts:
-
Templates: CloudFormation uses JSON or YAML formatted templates to define the desired resources, their properties, and their relationships. These templates serve as a blueprint for creating and configuring AWS resources.
-
Stacks: A stack is a collection of AWS resources created from a CloudFormation template. Stacks can be created, updated, or deleted as a single unit, allowing for easy management of resources.
-
Change Sets: Change sets allow users to preview the changes that will be made to a stack before executing them. This helps to identify potential issues before they impact the environment.
-
Nested Stacks: CloudFormation supports the creation of nested stacks, which allows users to break down complex architectures into smaller, reusable components.
Current Usage
The API gateway, together with the integrated Lambda functions, that exposes the endpoints for device configuration purposes are currently defined in cloudformation templates.
- Stack name: device-config-stack
- Template: cloudformation/ApiGatewayMaster.yaml
The template ApiGatewayMaster.yaml
includes 6 nested stacks. Each defines a group of related resources. The nested stacks are
ApiGatewayStack
: defines the REST Api GatewayAuthValidationLambdaStack
: defines all the resources and permissions necessary for the /AuthValidation endpointDeviceConfigLambdaStack
: defines all the resources and permissions necessary for the /config endpointCalibrationPointsLambdaStack
: defines all the resources and permissions necessary for the /calibration_points endpointDevicesLambdaStack
: defines all the resources and permissions necessary for the /devices endpointSensorsLambdaStack
: defines all the resources and permissions necessary for the /sensors endpoint