Machine to Cloud Connectivity Framework | 🚧 Feature request | 🐛 Bug Report | ❓ General Question
Note: If you want to use the solution without building from source, navigate to Solution Landing Page.
- Solution Overview
- Architecture Diagram
- AWS CDK and Solutions Constructs
- Customizing the Solution
- License
The Machine to Cloud Connectivity Framework solution helps factory production managers connect their operational technology assets to the cloud, providing robust data ingestion from on-premises machines into AWS. This solution allows for seamless connection to factory machines using either the OPC Data Access (OPC DA) protocol or the OPC Unified Architecture (OPC UA) protocol.
This solution automatically deploys AWS IoT Greengrass and provides integration with AWS IoT SiteWise, so you can ingest OPC DA and OPC UA telemetry data into AWS IoT SiteWise. This solution also provides the capability to store telemetry data in an Amazon Simple Storage Service (Amazon S3) bucket, thereby allowing for analysis of factory machine data for insights and advanced analytics.
This solution is a framework for connecting factory equipment, allowing you to focus on extending the solution's functionality rather than managing the underlying infrastructure operations. For example, you can push the equipment data to Amazon S3 using Amazon Kinesis Data Streams and Amazon Kinesis Data Firehose and run machine learning models on the data for predictive maintenance, or create notifications and alerts.
For more information and a detailed deployment guide, visit the Machine to Cloud Connectivity Framework solution page.
AWS Cloud Development Kit (AWS CDK) and AWS Solutions Constructs make it easier to consistently create well-architected infrastructure applications. All AWS Solutions Constructs are reviewed by AWS and use best practices established by the AWS Well-Architected Framework. This solution uses the following AWS Solutions Constructs:
In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly to create infrastructure resources.
- AWS Command Line Interface
- Node.js 14.x or later
- Python 3.7 or later
git clone https://github.com/awslabs/machine-to-cloud-connectivity-framework.git
cd machine-to-cloud-connectivity-framework
export MAIN_DIRECTORY=$PWD
export REGION=aws-region-code # the AWS region to launch the solution (e.g. us-east-1)
export DIST_OUTPUT_BUCKET=my-bucket-name # bucket where customized code will reside, randomized name recommended
export SOLUTION_NAME=my-solution-name # the solution name
export VERSION=my-version # version number for the customized code
After making changes, run unit tests to make sure added customization passes the tests:
cd $MAIN_DIRECTORY/deployment
chmod +x run-unit-tests.sh
./run-unit-tests.sh
cd $MAIN_DIRECTORY/deployment
chmod +x build-s3-dist.sh
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION
To deploy the customized solution, create a regional Amazon S3 bucket so that AWS Lambda functions can get the source code zip files from the regional bucket.
aws s3 md s3://$DIST_OUTPUT_BUCKET-$REGION --region $REGION
cd $MAIN_DIRECTORY/deployment
aws s3 sync ./regional-s3-assets/ s3://$DIST_OUTPUT_BUCKET-$REGION/$SOLUTION_NAME/$VERSION/ --acl bucket-owner-full-control
aws s3 sync ./global-s3-assets/ s3://$DIST_OUTPUT_BUCKET-$REGION/$SOLUTION_NAME/$VERSION/ --acl bucket-owner-full-control
- Get the link of the
machine-to-cloud-connectivity.template
uploaded to your Amazon S3 bucket. - Deploy the Machine to Cloud Connectivity Framework solution to your account by launching a new AWS CloudFormation stack using the S3 link of the
machine-to-cloud-connectivity.template
.
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the implementation guide.
Copyright 2019-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0