기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Direct Change 모드를 사용하여 스택 생성
AMS에서 스택을 관리하려면를 사용하여 CloudFormation에서 스택을 시작할 때 다음 두 가지 요구 사항이 있습니다AWSManagedServicesCloudFormationAdminRole.
템플릿에는가 포함되어야 합니다
AmsStackTransform.스택 이름은 접두사 뒤에 17자의 영숫자 문자열
stack-로 시작해야 합니다.
참고
를 성공적으로 사용하려면 스택 템플릿에 CloudFormation (CFN)가 스택을 생성하거나 업데이트하기 위한 CAPABILITY_AUTO_EXPAND 기능이 포함되어 있음을 확인해야 AmsStackTransform합니다. 이렇게 하려면를 create-stack 요청의 CAPABILITY_AUTO_EXPAND 일부로 전달합니다. 가 템플릿에 포함될 때이 기능이 확인되지 않으면 CFNAmsStackTransform은 요청을 거부합니다. CFN 콘솔은 템플릿에 변환이 있는 경우이 기능을 전달하도록 보장하지만 APIs를 통해 CFN과 상호 작용할 때이 기능을 놓칠 수 있습니다.
다음 CFN API 호출을 사용할 때마다이 기능을 전달해야 합니다.
DCM을 사용하여 스택을 생성하거나 업데이트할 때 스택에 대해 동일한 CFN 수집 및 스택 업데이트 CTs 검증 및 증강이 수행됩니다. 자세한 내용은 CloudFormation 수집 지침, 모범 사례 및 제한을 참조하세요. 단, AMS 기본 보안 그룹(SGs)은 독립형 EC2 인스턴스 또는 Auto Scaling 그룹(ASGs)의 EC2 인스턴스에 연결되지 않습니다. 독립형 EC2 인스턴스 또는 ASGs를 사용하여 CloudFormation 템플릿을 생성할 때 기본 SGs.
참고
이제를 사용하여 IAM 역할을 생성하고 관리할 수 있습니다AWSManagedServicesCloudFormationAdminRole.
AMS 기본 SGs에는 인스턴스를 성공적으로 시작하고 나중에 AMS 작업 및 사용자에 의해 SSH 또는 RDP를 통해 액세스할 수 있는 수신 및 송신 규칙이 있습니다. AMS 기본 보안 그룹이 너무 허용적이라고 판단되면 사용자와 AMS 작업이 인시던트 발생 시 인스턴스에 액세스할 수 있도록 허용하는 한 보다 제한적인 규칙을 사용하여 자체 SGs를 생성하고 인스턴스에 연결할 수 있습니다.
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]$_}) )