aws-fargate-kinesisstreams
| Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
| Language | Package |
|---|---|
|
|
|
|
|
|
|
|
|
Overview
This AWS Solutions Construct deploys an AWS Fargate Service that can put records on an Amazon Kinesis Data Stream.
Here is a minimal deployable pattern definition:
Example
Pattern Construct Props
| Name | Type | Description |
|---|---|---|
|
publicApi |
|
True if the VPC provisioned by this construct
should contain Public/Private Subnets, otherwise False for the VPC to
contain Isolated Subnets only. Note this property is ignored if an
existing VPC is specified in the |
|
vpcProps? |
Optional custom properties for a new VPC the construct will create.
Providing both this and |
|
|
existingVpc? |
An existing VPC in which to deploy the Fargate Service. Providing both
this and |
|
|
clusterProps? |
Optional properties to create a new ECS cluster. To provide an existing cluster, use the cluster attribute of fargateServiceProps. |
|
|
ecrRepositoryArn? |
|
The arn of an ECR Repository containing the image to use to generate the containers. Either this or the image property of containerDefinitionProps must be provided. format: arn:aws:ecr:_region_:_account number_:repository/Repository Name |
|
ecrImageVersion? |
|
The version of the image to use from the repository. Defaults to "Latest" |
|
containerDefinitionProps? |
Optional props to define the container created for the Fargate Service. (defaults found in fargate-defaults.ts) |
|
|
fargateTaskDefinitionProps? |
Optional props to define the Fargate Task Definition for this construct. (defaults found in fargate-defaults.ts) |
|
|
fargateServiceProps? |
|
Optional values to override default Fargate Task definition properties (fargate-defaults.ts). The construct will default to launching the service is the most isolated subnets available (precedence: Isolated, Private and Public). Override those and other defaults here. |
|
existingFargateServiceObject? |
A Fargate Service already instantiated (probably by another Solutions Construct). If this is specified, then no props defining a new service can be provided, including: ecrImageVersion, containerDefinitionProps, fargateTaskDefinitionProps, ecrRepositoryArn, fargateServiceProps, clusterProps |
|
|
existingContainerDefinitionObject? |
A container definition already instantiated as part of a Fargate
service. This must be the container in the
|
|
|
existingStreamObj? |
Existing instance of a Kinesis Data Stream. Providing both this and
|
|
|
kinesisStreamProps? |
Optional user-provided props to override the default props for the
Kinesis Data Stream. Providing both this and |
|
|
createCloudWatchAlarms |
|
Whether to create recommended CloudWatch Alarms for the Kinesis Stream (defaults to true). |
|
streamEnvironmentVariableName? |
|
Optional Name to override the Fargate Service default environment variable name that holds the Kinesis Data Stream name value. Default: KINESIS_DATASTREAM_NAME |
Pattern Properties
| Name | Type | Description |
|---|---|---|
|
vpc |
The new or existing VPC used by the construct. |
|
|
service |
The new or existing AWS Fargate service used by this construct. |
|
|
container |
The container associated with the AWS Fargate service in the service property. |
|
|
kinesisStream |
The new or existing Kinesis Data Stream used by this construct. |
|
|
cloudwatchAlarms? |
Returns the CloudWatch Alarms created to monitor the Kinesis Data Stream. |
Default settings
Out of the box implementation of the Construct without any overrides will set the following defaults:
AWS Fargate Service
-
An AWS Fargate Service running in the isolated subnets of a new VPC
-
Minimally-permissive IAM role for the Fargate Service to put records on the Kinesis Data Stream
-
Sets an Environment Variable named KINESIS_DATASTREAM_NAME that holds the Kinesis Data Stream Name, which is a required property of the Kinesis Data Streams SDK when making calls to it
Amazon Kinesis Stream
-
Enable server-side encryption for the Kinesis Data Stream using an AWS Managed CMK
-
Deploy best practices CloudWatch Alarms for the Kinesis Data Stream
-
An Interface Endpoint on the VPC for private communication between the Fargate Service and the Kinesis Data Stream
Architecture
Github
Go to the Github repo