翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation によるリソースの管理
AWS CloudFormation を使用して AWS SimSpace Weaver リソースを管理できます。AWS CloudFormation は、AWS インフラストラクチャをコードとして指定、プロビジョニング、管理するのに役立つ独立した AWS サービスです。AWS CloudFormation を使用して、テンプレートと呼ばれる JSON または YAML ファイルを作成します。テンプレートはインフラストラクチャの詳細を指定します。AWS CloudFormation はテンプレートを使用して、スタックと呼ばれる単一のユニットとしてインフラストラクチャをプロビジョニングします。スタックを削除すると、AWS CloudFormation は同時にスタックのすべてのデータを削除できます。標準のソースコード管理プロセスを使用してテンプレートを管理できます (例えば、Git
シミュレーションリソース
AWS では、リソースはユーザーが操作できるエンティティです。例として、Amazon EC2 インスタンス、Amazon S3 バケット、IAM ロールなどがあります。SimSpace Weaver シミュレーションはリソースです。構成では、通常、フォーム AWS::
で AWS リソースを指定します。SimSpace Weaver では、シミュレーションリソースを service
::resourceAWS::SimSpaceWeaver::Simulation
として指定します。AWS CloudFormation でのシミュレーションリソースの詳細については、「AWS CloudFormation ユーザーガイド」の「SimSpace Weaver」セクションを参照してください。
SimSpace Weaver での AWS CloudFormation の使用方法
プロビジョニングする AWS リソースを指定する AWS CloudFormation テンプレートを作成できます。テンプレートでは、アーキテクチャ全体、アーキテクチャの一部、または小規模なソリューションを指定できます。例えば、Amazon S3 バケット、IAM アクセス許可、Amazon Relational Database Service または Amazon DynamoDB のサポートデータベース、および Simulation
リソースを含む SimSpace Weaver ソリューションのアーキテクチャを指定できます。その後、AWS CloudFormation を使用して、これらすべてのリソースを 1 つの単位として同時にプロビジョニングできます。
例 IAM リソースを作成してシミュレーションを開始するテンプレート
以下のテンプレート例は、SimSpace Weaver がアカウントでアクションを実行するために必要な IAM ロールとアクセス許可を作成します。SimSpace Weaver アプリケーション SDK スクリプトはプロジェクトの作成時に特定の AWS リージョン でのロールとアクセス許可を作成しますが、AWS CloudFormation テンプレートを使用して、スクリプトを再実行しなくても別の AWS リージョン にシミュレーションをデプロイできます。例えば、ディザスタリカバリを目的としたバックアップシミュレーションを設定できます。
この例では、元のシミュレーション名は MySimulation
です。AWS CloudFormation がスタックを構築する AWS リージョン には、スキーマのバケットがすでに存在しています。バケットには、その AWS リージョン でシミュレーションを実行するように適切に設定されたバージョンのスキーマが含まれています。スキーマはアプリケーションのの場所を指定していることに留意します。この zip ファイルは、シミュレーションと同じ AWS リージョン にある Amazon S3 バケットです。AWS CloudFormation がスタックをビルドするときに、アプリケーション zip バケットとファイルがすでに AWS リージョン に存在している必要があります。そうでない場合、シミュレーションは開始されません。この例のバケット名には AWS リージョン が含まれていますが、それによってバケットが実際にどこにあるかが決まるわけではないことに注意してください。バケットが実際にその AWS リージョン にあることを確認する必要があります (バケットのプロパティは AWS CLI の Amazon S3 コンソール、Amazon S3 API、または Amazon S3 コマンドで確認できます)。
この例では、AWS CloudFormation に組み込まれている関数とパラメータを使用して変数置換を行っています。詳細については、「AWS CloudFormation ユーザーガイド」の「組み込み関数リファレンス」と「疑似パラメータリファレンス」を参照してください。
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'