

终止支持通知：2026 年 5 月 20 日， AWS 将终止对的支持。 AWS SimSpace Weaver 2026 年 5 月 20 日之后，您将无法再访问 SimSpace Weaver 控制台或 SimSpace Weaver 资源。有关更多信息，请参阅[AWS SimSpace Weaver 终止支持](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用管理您的资源 AWS CloudFormation
<a name="working-with_cloudformation"></a>

您可以使用 AWS CloudFormation 来管理您的 AWS SimSpace Weaver 资源。 CloudFormation 是一项单独的 AWS 服务，可帮助您以代码形式指定、配置和管理 AWS 基础架构。通过 CloudFormation 创建名为*[模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html#cfn-concepts-templates template)*的 JSON 或 YAML 文件。您的模板指定了基础设施的详细信息。 CloudFormation 使用您的模板将基础架构配置为一个单元，称为*[堆栈](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html#w2ab1b5c15b9)*。当您删除堆栈时，您可以同时 CloudFormation 删除堆栈中的所有内容。您可以使用标准源代码管理流程来管理模板（例如，在像 [Git](https://git-scm.com/) 这样的版本控制系统中进行跟踪）。有关的更多信息 CloudFormation，请参阅《[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide)。

**模拟资源**  
在中 AWS，*资源*是您可以使用的实体。示例包括亚马逊 EC2 实例、Amazon S3 存储桶或 IAM 角色。您的 SimSpace Weaver 模拟是一种资源。在配置中，您通常在表单中指定 AWS 资源`AWS::service::resource`。对于 SimSpace Weaver，您可以将模拟资源指定为`AWS::SimSpaceWeaver::Simulation`。有关您的模拟资源的更多信息 CloudFormation，请参阅《*AWS CloudFormation 用户指南*》中的[SimSpace Weaver](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)部分。

**我该如何 CloudFormation 搭配使用 SimSpace Weaver？**  
您可以创建一个 CloudFormation 模板来指定要置备的 AWS 资源。您的模板可以指定整个架构、架构的一部分或小型解决方案。例如，您可以为 SimSpace Weaver 解决方案指定一个架构，其中包括 Amazon S3 存储桶、IAM 权限、Amazon Relational Database Service 或 Amazon DynamoDB 中的支持数据库以及您的资源。`Simulation`然后，您可以使用 CloudFormation 将所有这些资源作为一个单元同时置备。

**Example 创建 IAM 资源并启动模拟的示例模板**  
以下示例模板创建 SimSpace Weaver 在您的账户中执行操作所需的 IAM 角色和权限。当你创建项目 AWS 区域 时， SimSpace Weaver App SDK 脚本会创建特定角色和权限，但你可以使用 CloudFormation 模板将模拟部署到另一个模拟， AWS 区域 而无需再次运行脚本。例如，您可以这样设置用于灾难恢复目的的备份模拟。  
在本示例中，原始模拟名为 `MySimulation`。架构的存储桶已存在于构建堆栈 CloudFormation 的 AWS 区域 位置中。该存储桶包含已正确配置为在 AWS 区域中运行模拟的架构版本。回想一下，该架构指定了应用程序 zip 文件的位置，该文件是与模拟 AWS 区域 位于相同 中的 Amazon S3 存储桶。应用程序压缩存储桶和文件在 CloudFormation 构建堆栈 AWS 区域 时必须已经存在，否则您的模拟将无法启动。请注意，此示例中的存储桶名称包括 AWS 区域，但这并不能确定存储桶的实际位置。您必须确保存储桶实际上位于该存储桶中 AWS 区域 （您可以在 Amazon S3 控制台、使用 Amazon S3 或使用中的 APIs Amazon S3 命令查看存储桶属性 AWS CLI）。  
此示例使用中的一些内置函数和参数 CloudFormation 来执行变量替换。有关更多信息，请参阅《AWS CloudFormation 用户指南》中的[内置函数参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html)和[伪参数参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html)。**  

```
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'
```

# 将快照用于 AWS CloudFormation
<a name="working-with_cloudformation_snapshots"></a>

[快照](working-with_snapshots.md)是模拟的备份。以下示例从快照启动新的模拟，而不是从架构启动。此示例中的快照是根据 SimSpace Weaver 应用程序 SDK 项目模拟创建的。 CloudFormation 创建新的仿真资源并使用快照中的数据对其进行初始化。新模拟可能与原始模拟的 `MaximumDuration` 不同。

我们建议您创建并使用原始模拟应用程序角色的副本。如果您删除原始模拟的 CloudFormation 堆栈，则可能会删除该模拟的应用程序角色。

```
Description: "Example - Start a simulation from a snapshot"
Resources:
  MyTestSimulation:
    Type: "AWS::SimSpaceWeaver::Simulation"
    Properties:
      MaximumDuration: "2D"
      Name: "MyTestSimulation_from_snapshot"
      RoleArn: "arn:aws:iam::111122223333:role/weaver-MyTestSimulation-app-role-copy"   
      SnapshotS3Location:
        BucketName: "weaver-mytestsimulation-111122223333-artifacts-us-west-2"
        ObjectKey: "snapshot/MyTestSimulation_22-12-15_12_00_00-230428-1207-13.zip"
```