翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Direct Change モードを使用したスタックの作成
を使用して CloudFormation でスタックを起動する場合AWSManagedServicesCloudFormationAdminRole、スタックを AMS で管理するには、次の 2 つの要件があります。
テンプレートには が含まれている必要があります
AmsStackTransform。スタック名はプレフィックスで始まり、その後に 17 文字の英数字文字列が
stack-続く必要があります。
注記
を正常に使用するにはAmsStackTransform、 CloudFormation (CFN) がスタックを作成または更新するために、スタックテンプレートに CAPABILITY_AUTO_EXPAND機能が含まれていることを確認する必要があります。これを行うには、 を create-stack リクエストCAPABILITY_AUTO_EXPANDの一部として渡します。がテンプレートに含まれているときにこの機能が確認されない場合、CFN AmsStackTransformはリクエストを拒否します。CFN コンソールでは、テンプレートに 変換がある場合にこの機能を渡すことができますが、APIs を介して CFN とやり取りしている場合、この機能が失われる可能性があります。
この機能は、次の CFN API コールを使用するたびに渡す必要があります。
DCM を使用してスタックを作成または更新する場合、CFN Ingest および Stack Update CTsCloudFormation 「Ingest Guidelines」、「Best Practices」、および「Limitations」を参照してください。ただし、AMS デフォルトセキュリティグループ (SGs) はAuto Scaling グループ (ASGs) のスタンドアロン EC2 インスタンスまたは EC2 インスタンスにはアタッチされません。スタンドアロン EC2 インスタンスまたは ASGs を使用して CloudFormation テンプレートを作成する場合、デフォルトの SGs をアタッチできます。
注記
IAM ロールを で作成および管理できるようになりましたAWSManagedServicesCloudFormationAdminRole。
AMS デフォルト SGs には、インスタンスが正常に起動し、後で AMS オペレーションとユーザーによる SSH または RDP を介してアクセスできるようにする進入および退出ルールがあります。で AMS のデフォルトのセキュリティグループが許容されすぎることがわかった場合は、より制限の厳しいルールを使用して独自の SGs を作成し、インスタンスにアタッチできます。ただし、インシデント発生時にユーザーと AMS オペレーションがインスタンスにアクセスできる場合に限ります。
AMS のデフォルトのセキュリティグループは次のとおりです。
SentinelDefaultSecurityGroupPrivateOnly: この SSM パラメータを使用して CFN テンプレートでアクセスできます
/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlySentinelDefaultSecurityGroupPrivateOnlyEgressAll: この SSM パラメータを使用して CFN テンプレートでアクセスできます
/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll
AMS 変換
CloudFormation テンプレートにTransformステートメントを追加します。これにより、起動時にスタックを検証して AMS に登録する CloudFormation マクロが追加されます。
JSON の例
"Transform": { "Name": "AmsStackTransform", "Parameters": { "StackId": {"Ref" : "AWS::StackId"} } }
YAML の例
Transform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId'
また、既存のスタックのテンプレートを更新するときに Transformステートメントを追加します。
JSON の例
{ "AWSTemplateFormatVersion": "2010-09-09", "Description" : "Create an SNS Topic", "Transform": { "Name": "AmsStackTransform", "Parameters": { "StackId": {"Ref" : "AWS::StackId"} } }, "Parameters": { "TopicName": { "Type": "String", "Default": "HelloWorldTopic" } }, "Resources": { "SnsTopic": { "Type": "AWS::SNS::Topic", "Properties": { "TopicName": {"Ref": "TopicName"} } } } }
YAML の例
AWSTemplateFormatVersion: '2010-09-09' Description:Create an SNS TopicTransform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId' Parameters: TopicName: Type: String Default:HelloWorldTopicResources: SnsTopic: Type: AWS::SNS::Topic Properties: TopicName: !RefTopicName
スタック名
スタック名はプレフィックスで始まり、その後に 17 文字の英数字文字列がstack-続く必要があります。これは、AMS スタック IDs。
互換性のあるスタック IDs を生成する方法の例を次に示します。
Bash:
echo "stack-$(env LC_CTYPE=C tr -dc 'a-z0-9' < /dev/urandom | head -c 17)"
Python:
import string import random 'stack-' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=17))
Powershell:
"stack-" + ( -join ((0x30..0x39) + ( 0x61..0x7A) | Get-Random -Count 17 | % {[char]$_}) )