End of support notice: On May 20, 2026, AWS will end support for AWS SimSpace Weaver. After May 20, 2026, you will no longer be able to access the SimSpace Weaver console or SimSpace Weaver resources. For more information, see AWS SimSpace Weaver end of support.
Managing your resources with AWS CloudFormation
You can use AWS CloudFormation to manage your AWS SimSpace Weaver resources. CloudFormation is a separate AWS service
that helps you specify, provision, and manage your AWS infrastructure as code. With CloudFormation you
create a JSON or YAML file, called a template. Your template specifies the details of your infrastructure. CloudFormation
uses your template to provision your infrastructure as a single unit, called a
stack. When you delete your stack, you can have CloudFormation delete everything in
the stack at the same time. You can manage your template using standard source code management
processes (for example, tracking it in a version control system like
Git
Your simulation resource
In AWS, a resource
is an entity that you can work with. Examples include an Amazon EC2 instance, an Amazon S3 bucket, or an
IAM role. Your SimSpace Weaver simulation is a resource.
In configurations, you usually specify an AWS resource in the form
AWS::. For SimSpace Weaver, you specify your simulation
resource as service::resourceAWS::SimSpaceWeaver::Simulation. For more
information about your simulation resource in CloudFormation, see the SimSpace Weaver
section in the AWS CloudFormation User Guide.
How can I use CloudFormation with SimSpace Weaver?
You can create an CloudFormation template
that specifies the AWS resources that you want to provision. Your template can specify an
entire architecture, part of an architecture, or a small solution. For example, you
could specify an architecture for your SimSpace Weaver solution that includes Amazon S3 buckets,
IAM permissions, a supporting database in Amazon Relational Database Service or Amazon DynamoDB, and
your Simulation resource. You can then use CloudFormation to provision all of
those resources as a unit, and at the same time.
Example template that creates IAM resources and starts a simulation
The following example template creates an IAM role and permissions that SimSpace Weaver needs to perform actions in your account. The SimSpace Weaver app SDK scripts create the role and permissions in a specific AWS Region when you create a project, but you can use an CloudFormation template to deploy the simulation to another AWS Region without running the scripts again. For example, you can do this to set up a backup simulation for disaster recovery purposes.
In this example, the original simulation name is MySimulation.
A bucket for the schema already exists in the AWS Region where CloudFormation will build
the stack. The bucket contains a version of the schema that is properly configured
to run the simulation in that AWS Region. Recall that the schema specifies the
location of your app zip files, which is an Amazon S3 bucket in the same AWS Region
as the simulation. The app zips bucket and files must already exist in the
AWS Region when CloudFormation builds the stack, otherwise your simulation won't start.
Note that the bucket name in this example includes the AWS Region, but that
doesn't determine where the bucket is actually located. You must make sure that
the bucket is actually in that AWS Region (you can check the bucket properties
in the Amazon S3 console, with the Amazon S3 APIs, or with the Amazon S3 commands in the AWS CLI).
This example uses some built-in functions and parameters in CloudFormation to perform variable substitution. For more information, see Intrinsic function reference and Pseudo parameters reference in the AWS CloudFormation User Guide.
AWSTemplateFormatVersion: 2010-09-09 Resources: WeaverAppRole: Type: AWS::IAM::Role Properties: RoleName: SimSpaceWeaverAppRole AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - simspaceweaver.amazonaws.com Action: - sts:AssumeRole Path: / Policies: - PolicyName: SimSpaceWeaverAppRolePolicy PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - logs:PutLogEvents - logs:DescribeLogGroups - logs:DescribeLogStreams - logs:CreateLogGroup - logs:CreateLogStream Resource: * - Effect: Allow Action: - cloudwatch:PutMetricData Resource: * - Effect: Allow Action: - s3:ListBucket - s3:PutObject - s3:GetObject Resource: * MyBackupSimulation: Type: AWS::SimSpaceWeaver::Simulation Properties: Name: !Sub 'mySimulation-${AWS::Region}' RoleArn: !GetAtt WeaverAppRole.Arn SchemaS3Location: BucketName: !Sub 'weaver-mySimulation-${AWS::AccountId}-schemas-${AWS::Region}' ObjectKey: !Sub 'schema/mySimulation-${AWS::Region}-schema.yaml'