스택 배포 검증
배포 전 검증을 통해 CloudFormation에서 리소스를 프로비저닝하기 전에 잠재적 배포 문제를 식별하고 해결할 수 있습니다. 배포 전 검증은 스택 생성, 스택 업데이트 및 변경 세트 생성 작업에서 자동으로 실행되어 몇 초 만에 일반적인 오류를 포착합니다.
사전 배포 검증 작동 방식
사전 배포 검증에는 다음 단계가 포함됩니다.
-
스택 작업 시작 - 평소와 같이 스택을 생성하거나 스택을 업데이트하거나 변경 세트를 생성합니다. 배포 전 검증은 세 작업 모두에서 기본적으로 활성화됩니다.
-
검증 실행 - CloudFormation은 템플릿 및 대상 환경에 대해 여러 검증 검사를 실행합니다. CloudFormation은 여섯 가지 유형의 배포 전 검증을 지원합니다. 속성 구문 검증 및 리소스 이름 충돌 감지는 지원되는 모든 작업에서 실행됩니다. 변경 세트 생성 중에 네 개의 추가 검증(S3 버킷 빈 상태 검증, 서비스 할당량 검사, 레코더 충돌 감지, ECR 리포지토리 삭제 준비 상태)이 실행됩니다
-
검증 결과 검토 - CloudFormation은 템플릿에서 문제 위치를 정확히 식별하는 정확한 경로를 포함하여 발견된 모든 문제에 대한 자세한 피드백을 제공함으로써 수동 템플릿 디버깅을 수행하지 않아도 됩니다.
-
문제 해결 - 배포를 진행하기 전에 템플릿을 업데이트하거나 충돌을 해결하여 식별된 문제를 해결합니다.
-
자신 있게 실행 - 일반적인 장애 시나리오가 미리 검증되었음을 아는 상태에서 변경 세트를 배포합니다.
참고
스택 생성 및 스택 업데이트 작업의 경우 검증은 작업 자체의 일부로 실행됩니다. FAIL 모드에서 검증에 실패하면 리소스를 프로비저닝하기 전에 작업이 중지되고 스택 상태가 검증 실패를 반영합니다. 변경 세트의 경우 변경 세트 상태는 FAILED를 표시합니다.
고려 사항
사전 배포 검증을 사용할 경우 다음 사항에 유의하세요.
-
배포 전 검증은 세 가지 일반적인 배포 장애 시나리오에 중점을 둡니다. 배포의 성공을 보장하지는 않지만 일반적인 장애의 가능성을 줄입니다.
-
다음과 같이 검증 모드는 서로 다르게 작동합니다.
-
검증에서 오류를 감지하면 리소스를 프로비저닝하기 전에 FAIL 모드에서 작업을 중지합니다. CreateStack 및 UpdateStack의 경우 작업에 실패하고 스택 상태가 검증 실패를 반영합니다. CreateChangeSet의 경우 변경 세트 상태는 FAILED를 표시합니다. 이는 속성 구문 오류 및 리소스 이름 충돌에 적용됩니다.
-
WARN 모드에서는 검증 실패에도 불구하고 변경 세트를 생성하며 개발자가 실행 전에 검토하고 해결할 수 있는 경고를 제공합니다. 수동 개입을 통해 해결할 수 있는 S3 버킷 비어 있음과 같은 제약 조건 위반에 적용됩니다.
-
-
변경 세트 작업의 경우 검증 결과는 특정 변경 세트와 연결됩니다. 템플릿을 수정하는 경우 업데이트된 검증 결과를 얻기 위해 새 변경 세트를 생성합니다. CreateStack 및 UpdateStack 작업의 경우 작업 ID와 함께
describe-events명령을 사용하여 검증 결과에 액세스합니다. -
S3 버킷 검증은 객체 존재만 확인하며 삭제를 방지할 수 있는 버킷 정책 또는 기타 제약 조건은 확인하지 않습니다.
-
배포 전 검증은 검증 실행 동안 스택 생성 및 스택 업데이트 작업에 약간의 지연 시간을 추가합니다. 보통 몇 초면 됩니다. 특정 작업에 대한 검증을 건너뛰어야 하는 경우
DisableValidation파라미터를 사용합니다.
사전 조건
사전 배포 검증을 사용하려면 다음이 필요합니다.
-
계정에서 스택을 생성하거나 스택을 업데이트하거나 변경 세트를 생성하고 리소스를 읽는 데 필요한 IAM 권한. 변경 세트 생성 중에 실행하는 검증 검사에는 다음과 같은 추가 권한이 필요합니다.
-
서비스 할당량 확인 -
cloudwatch:GetMetricData,lambda:GetAccountSettings,servicequotas:GetServiceQuota,ec2:DescribeSecurityGroups,iam:GetAccountSummary -
레코더 충돌 검사 -
config:ListConfigurationRecorders -
S3 버킷 빈 상태 및 ECR 리포지토리 검사 -
s3:ListBucketV2및ecr:ListImages
-
-
스택이 배포된 AWS 리전에 대한 액세스 권한.
-
배포 전에 검증하려는 CloudFormation 템플릿.
배포 전 검증 비활성화
배포 전 검증은 기본적으로 실행됩니다. 특정 작업에 대한 검증을 건너뛰려면 DisableValidation 파라미터를 사용합니다.
다음과 같은 상황에서는 검증을 비활성화합니다.
-
다른 방법(예:
cfn-lint,cdk validate또는 CI 검사)을 통해 템플릿을 이미 검증한 경우 -
시간에 민감한 배포에 대한 작업 지연 시간을 최소화해야 하는 경우
-
알려진 거짓 긍정이 배포를 차단하고 있지만 계속 진행해야 하는 경우
AWS CLI 예제:
aws cloudformation create-stack --stack-nameMyStack--template-body file://template.yaml --disable-validation
aws cloudformation update-stack --stack-nameMyStack--template-body file://template.yaml --disable-validation
API: CreateStack 또는 UpdateStack API 직접 호출에서 DisableValidation 파라미터를 true로 설정합니다.
참고
검증을 비활성화하면 CloudFormation은 리소스 프로비저닝을 시도할 때까지 일반적인 오류를 포착하지 못합니다.
스택 배포 검증(콘솔)
배포 전 검증은 CreateStack 및 UpdateStack 작업에서 자동으로 실행됩니다. 추가 단계는 필요하지 않습니다.
스택 생성 또는 업데이트 중에 검증하는 방법
-
평소와 같이 스택을 생성하거나 업데이트하세요.
-
검증에서 오류를 감지하면 프로비저닝을 시작하기 전에 작업이 중지됩니다. 스택 상태는 검증 장애를 반영합니다.
-
검증 결과를 검토하려면 스택의 이벤트 탭을 열고 작업 ID를 선택하거나 배너의 링크 또는 상태 이유 열을 선택하세요. 작업 보기 페이지가 배포 검증 탭에서 바로 열립니다. 여기에는 논리적 ID, 리소스 유형, 검증 유형, 모드 및 상태 이유를 포함한 검증 세부 정보가 표시됩니다.
-
템플릿에서 식별된 문제를 수정하고 작업을 다시 시도하세요.
변경 세트를 사용하여 검증(콘솔)
또한 변경 세트를 사용하여 배포 전에 템플릿을 검증할 수 있습니다. 변경 세트는 변경 세트 생성 중에만 사용할 수 있는 WARN 모드 검증(S3 버킷 빈 상태, 서비스 할당량, 구성 레코더 충돌 및 ECR 리포지토리 삭제 준비 상태)을 포함한 여섯 가지 검증 유형을 모두 지원합니다. 변경 세트를 사용하여 새 스택을 생성하기 전에 검증하거나 기존 스택에 대한 업데이트를 검증할 수 있습니다.
변경 세트를 사용하여 검증하는 방법
AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudformation
에서 CloudFormation 콘솔을 엽니다. -
화면 상단의 탐색 모음에서 스택이 위치한 AWS 리전을 선택하세요.
-
스택 페이지에서 변경 세트를 생성하려는 실행 중인 스택을 선택합니다.
-
스택 세부 정보 창에서 스택 업데이트를 선택하고 변경 세트 생성을 선택하세요.
-
stack-name에 대한 변경 세트 생성 페이지에서 업데이트된 템플릿을 업로드하거나 템플릿 소스를 지정하세요. -
다음을 선택하여 나머지 변경 세트 구성 단계를 진행하세요.
-
템플릿에 IAM 리소스가 포함된 경우 기능에서 CloudFormation에서 IAM 리소스를 생성할 수 있음을 확인함을 선택합니다. IAM 리소스는 AWS 계정의 권한을 수정할 수 있습니다. 이러한 리소스를 검토하여 의도한 작업만 허용하는지 확인하세요. 자세한 내용은 CloudFormation 템플릿에서 IAM 리소스 승인을 참조하세요.
-
검토 및 생성 페이지에서 변경 세트 생성을 선택하세요.
-
CloudFormation은 변경 세트를 생성하고 검증 검사를 실행합니다. 배포 검증 탭에서 검증 결과를 검토하세요.
-
검증에 통과하거나 경고에 만족하는 경우 변경 세트 실행을 선택하여 변경 내용을 배포하세요.
-
검증에 실패하면 문제를 해결하고 새 변경 세트를 생성하여 배포를 다시 검증하세요.
스택 배포 검증(AWS CLI)
배포 전 검증은 create-stack 및 update-stack 명령에서 자동으로 실행됩니다.
검증과 함께 스택 생성
다음 명령을 사용하여 스택을 생성합니다. 배포 전 검증은 자동으로 실행됩니다.
aws cloudformation create-stack \ --stack-nameMyStack\ --template-bodyfile://template.yaml
검증과 함께 스택 업데이트
다음 명령을 사용하여 스택을 업데이트합니다. 배포 전 검증은 자동으로 실행됩니다.
aws cloudformation update-stack \ --stack-nameMyStack\ --template-bodyfile://updated-template.yaml
검증 결과 보기
다음 명령을 사용하여 스택 작업에 대한 검증 결과를 확인합니다.
aws cloudformation describe-events \ --stack-nameMyStack
검증 오류 출력 예제:
{ "OperationEvents":[ { "EventId":"9b5c9a29-4704-4ad0-8082-afb49418d55b", "StackId":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/c3908380-b357-11f0-a97f-0ad08f35df65", "OperationId":"f558b823-e1e3-4de3-a222-e6b930ddcad4", "OperationType":"CREATE_STACK", "OperationStatus":"FAILED", "EventType":"STACK_EVENT", "Timestamp":"2025-10-27T17:10:02.923Z", "StartTime":"2025-10-27T17:09:57.537Z", "EndTime":"2025-10-27T17:10:02.923Z" }, { "EventId":"2d8c3262-3468-4283-82fb-6e780e9e4f1d", "StackId":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/c3908380-b357-11f0-a97f-0ad08f35df65", "OperationId":"f558b823-e1e3-4de3-a222-e6b930ddcad4", "OperationType":"CREATE_STACK", "EventType":"VALIDATION_ERROR", "LogicalResourceId":"NotificationBucket", "PhysicalResourceId":"", "ResourceType":"AWS::S3::Bucket", "Timestamp":"2025-10-27T17:10:02.461Z", "ValidationFailureMode":"FAIL", "ValidationName":"PROPERTY_VALIDATION", "ValidationStatus":"FAILED", "ValidationStatusReason":"#/NotificationConfiguration/QueueConfigurations/0: required key [Event] not found", "ValidationPath":"/Resources/NotificationBucket/Properties/NotificationConfiguration/QueueConfigurations/0" } ] }
변경 세트를 사용하여 검증(AWS CLI)
또한 변경 세트는 직접 스택 작업에서 사용할 수 없는 WARN 모드 검증을 표시합니다.
변경 세트를 사용하여 검증하는 방법
-
create-stack-set 명령을 사용하세요.
aws cloudformation create-change-set \ --stack-nameMyStack\ --change-set-nameMyChangeSet\ --change-set-type "CREATE" \ --template-bodyfile://updated-template.yaml명령은 변경 세트 ARN 및 스택 ARN을 모두 반환하세요.
-
변경 세트 ARN과 함께 describe-events 명령을 사용하여 검증 상태 및 결과를 검토하세요.
aws cloudformation describe-events \ --change-set-name "arn:aws:cloudformation:us-east-1:123456789012:changeSet/MyChangeSet/94498df5-1afb-43b1-9869-9f82b2d877ac" -
템플릿을 업데이트하여 검증 오류를 해결한 다음 새 변경 세트를 생성하세요.
-
검증에 통과하면 변경 세트를 실행하세요.
aws cloudformation execute-change-set \ --change-set-nameMyChangeSet\ --stack-nameMyStack
검증 유형
사전 배포 검증에는 다음과 같은 유형의 검사가 포함됩니다.
-
속성 구문 검증 - AWS 리소스 스키마를 기준으로 리소스 속성을 검증합니다. 필요한 속성과 유효한 속성 값을 확인하고 더 이상 사용되지 않거나 지원되지 않는 속성 조합을 식별합니다.
-
리소스 이름 충돌 감지 - 기존 AWS 리소스와의 이름 충돌이 있는지 확인합니다. 리소스 이름이 AWS 이름 지정 요구 사항을 충족하는지 검증하고 배포 시도 전에 잠재적 충돌을 식별합니다.
-
S3 버킷 비어 있음 검증 - 객체가 포함된 S3 버킷을 삭제하려고 할 때 경고합니다. 삭제 영향을 평가하고 일반적인 S3 삭제 실패를 방지하는 데 도움이 되도록 객체 수를 제공합니다.
-
서비스 할당량 검증 - 리소스 생성이 AWS 서비스 할당량을 초과하는지 확인합니다. 이 검증은 현재 변경 세트 생성 중에만 실행되며 WARN 모드로 작동합니다. 작업이 계속 진행되고 사용자는 잠재적 할당량 문제에 대한 알림을 받습니다.
-
레코더 충돌 감지 - 템플릿에서 레코딩이 활성화되지 않은 계정에 규칙을 추가하거나 이미 활성 항목이 있는 계정에서 레코더를 정의할 때 경고합니다. 이 검증은 현재 변경 세트 생성 중에만 실행되며 WARN 모드로 작동합니다.
-
ECR 리포지토리 삭제 준비 상태 - 삭제 대상으로 지정된 ECR 리포지토리가 비어 있거나 해당 리포지토리에 적절한 강제 삭제 설정이 있는지 확인합니다. 이 검증은 현재 변경 세트 생성 중에만 실행되며 WARN 모드로 작동합니다.
다음 표에서는 각 검증 유형, 해당 모드 및 실행하는 작업을 요약합니다.
| 검증 유형 | Mode | 제공 위치 |
|---|---|---|
| 속성 구문 검증 | FAIL | CreateStack, UpdateStack, CreateChangeSet |
| 리소스 이름 충돌(RAE) | FAIL | CreateStack, UpdateStack, CreateChangeSet |
| S3 버킷 빈 상태 | WARN | CreateChangeSet |
| Service Quotas | WARN | CreateChangeSet |
| 레코더 충돌 | WARN | CreateChangeSet |
| ECR 리포지토리 삭제 준비 상태 | WARN | CreateChangeSet |
각 검증 유형은 문제를 신속하게 해결하는 데 도움이 되도록 템플릿에 특정 오류 메시지와 오류 위치를 함께 제공합니다.
리소스 제한 사항
사전 배포 검증에 대해서는 다음 리소스 유형이 지원되지 않습니다.
-
AWS::ApiGatewayV2::ApiGatewayManagedOverrides -
AWS::ApiGatewayV2::Stage -
AWS::AppMesh::GatewayRoute -
AWS::AppMesh::Mesh -
AWS::AppMesh::Route -
AWS::AppMesh::VirtualGateway -
AWS::AppMesh::VirtualNode -
AWS::AppMesh::VirtualRouter -
AWS::AppMesh::VirtualService -
AWS::AppStream::Fleet -
AWS::AppStream::Stack -
AWS::AppStream::StackFleetAssociation -
AWS::AppStream::StackUserAssociation -
AWS::AppStream::User -
AWS::AppSync::ApiCache -
AWS::AppSync::ApiKey -
AWS::AppSync::GraphQLSchema -
AWS::AutoScalingPlans::ScalingPlan -
AWS::Budgets::Budget -
AWS::CertificateManager::Certificate -
AWS::Cloud9::EnvironmentEC2 -
AWS::CloudFormation::CustomResource -
AWS::CloudFormation::Macro -
AWS::CloudFormation::WaitCondition -
AWS::CloudFormation::WaitConditionHandle -
AWS::CloudFront::StreamingDistribution -
AWS::CloudWatch::AnomalyDetector -
AWS::CloudWatch::InsightRule -
AWS::CodeBuild::Project -
AWS::CodeBuild::ReportGroup -
AWS::CodeBuild::SourceCredential -
AWS::CodeCommit::Repository -
AWS::CodeDeploy::DeploymentGroup -
AWS::CodeStar::GitHubRepository -
AWS::Config::ConfigurationRecorder -
AWS::Config::DeliveryChannel -
AWS::Config::OrganizationConfigRule -
AWS::Config::RemediationConfiguration -
AWS::DAX::Cluster -
AWS::DAX::ParameterGroup -
AWS::DAX::SubnetGroup -
AWS::DirectoryService::MicrosoftAD -
AWS::DLM::LifecyclePolicy -
AWS::DMS::Certificate -
AWS::DMS::Endpoint -
AWS::DMS::EventSubscription -
AWS::DMS::ReplicationInstance -
AWS::DMS::ReplicationSubnetGroup -
AWS::DMS::ReplicationTask -
AWS::DocDB::DBCluster -
AWS::DocDB::DBClusterParameterGroup -
AWS::DocDB::DBInstance -
AWS::DocDB::DBSubnetGroup -
AWS::DocDB::EventSubscription -
AWS::EC2::ClientVpnAuthorizationRule -
AWS::EC2::ClientVpnEndpoint -
AWS::EC2::ClientVpnRoute -
AWS::EC2::ClientVpnTargetNetworkAssociation -
AWS::EC2::NetworkInterfacePermission -
AWS::ElastiCache::CacheCluster -
AWS::ElastiCache::ReplicationGroup -
AWS::ElastiCache::SecurityGroup -
AWS::ElastiCache::SecurityGroupIngress -
AWS::ElasticLoadBalancing::LoadBalancer -
AWS::ElasticLoadBalancingV2::ListenerCertificate -
AWS::Elasticsearch::Domain -
AWS::EMR::Cluster -
AWS::EMR::InstanceFleetConfig -
AWS::EMR::InstanceGroupConfig -
AWS::FSx::FileSystem -
AWS::FSx::Snapshot -
AWS::FSx::StorageVirtualMachine -
AWS::FSx::Volume -
AWS::Glue::Classifier -
AWS::Glue::Connection -
AWS::Glue::CustomEntityType -
AWS::Glue::DataCatalogEncryptionSettings -
AWS::Glue::DataQualityRuleset -
AWS::Glue::DevEndpoint -
AWS::Glue::MLTransform -
AWS::Glue::Partition -
AWS::Glue::SecurityConfiguration -
AWS::Glue::Table -
AWS::Glue::TableOptimizer -
AWS::Glue::Workflow -
AWS::Greengrass::ConnectorDefinition -
AWS::Greengrass::ConnectorDefinitionVersion -
AWS::Greengrass::CoreDefinition -
AWS::Greengrass::CoreDefinitionVersion -
AWS::Greengrass::DeviceDefinition -
AWS::Greengrass::DeviceDefinitionVersion -
AWS::Greengrass::FunctionDefinition -
AWS::Greengrass::FunctionDefinitionVersion -
AWS::Greengrass::Group -
AWS::Greengrass::GroupVersion -
AWS::Greengrass::LoggerDefinition -
AWS::Greengrass::LoggerDefinitionVersion -
AWS::Greengrass::ResourceDefinition -
AWS::Greengrass::ResourceDefinitionVersion -
AWS::Greengrass::SubscriptionDefinition -
AWS::Greengrass::SubscriptionDefinitionVersion -
AWS::IAM::AccessKey -
AWS::IAM::UserToGroupAddition -
AWS::IoT::PolicyPrincipalAttachment -
AWS::IoT::ThingPrincipalAttachment -
AWS::IoTThingsGraph::FlowTemplate -
AWS::KinesisAnalytics::Application -
AWS::KinesisAnalytics::ApplicationOutput -
AWS::KinesisAnalytics::ApplicationReferenceDataSource -
AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption -
AWS::KinesisAnalyticsV2::ApplicationOutput -
AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource -
AWS::LakeFormation::DataLakeSettings -
AWS::LakeFormation::Permissions -
AWS::LakeFormation::Resource -
AWS::ManagedBlockchain::Member -
AWS::ManagedBlockchain::Node -
AWS::MediaConvert::JobTemplate -
AWS::MediaConvert::Preset -
AWS::MediaConvert::Queue -
AWS::MediaLive::Channel -
AWS::MediaLive::Input -
AWS::MediaLive::InputSecurityGroup -
AWS::MediaStore::Container -
AWS::OpsWorks::App -
AWS::OpsWorks::ElasticLoadBalancerAttachment -
AWS::OpsWorks::Instance -
AWS::OpsWorks::Layer -
AWS::OpsWorks::Stack -
AWS::OpsWorks::UserProfile -
AWS::OpsWorks::Volume -
AWS::Pinpoint::ADMChannel -
AWS::Pinpoint::APNSChannel -
AWS::Pinpoint::APNSSandboxChannel -
AWS::Pinpoint::APNSVoipChannel -
AWS::Pinpoint::APNSVoipSandboxChannel -
AWS::Pinpoint::App -
AWS::Pinpoint::ApplicationSettings -
AWS::Pinpoint::BaiduChannel -
AWS::Pinpoint::Campaign -
AWS::Pinpoint::EmailChannel -
AWS::Pinpoint::EmailTemplate -
AWS::Pinpoint::EventStream -
AWS::Pinpoint::GCMChannel -
AWS::Pinpoint::PushTemplate -
AWS::Pinpoint::Segment -
AWS::Pinpoint::SMSChannel -
AWS::Pinpoint::SmsTemplate -
AWS::Pinpoint::VoiceChannel -
AWS::PinpointEmail::ConfigurationSet -
AWS::PinpointEmail::ConfigurationSetEventDestination -
AWS::PinpointEmail::DedicatedIpPool -
AWS::PinpointEmail::Identity -
AWS::QLDB::Ledger -
AWS::RDS::DBSecurityGroup -
AWS::RDS::DBSecurityGroupIngress -
AWS::Redshift::ClusterSecurityGroup -
AWS::Redshift::ClusterSecurityGroupIngress -
AWS::Route53::RecordSet -
AWS::Route53::RecordSetGroup -
AWS::SageMaker::CodeRepository -
AWS::SageMaker::EndpointConfig -
AWS::SageMaker::Model -
AWS::SageMaker::NotebookInstance -
AWS::SageMaker::NotebookInstanceLifecycleConfig -
AWS::SageMaker::Workteam -
AWS::SDB::Domain -
AWS::ServiceCatalog::AcceptedPortfolioShare -
AWS::ServiceCatalog::LaunchRoleConstraint -
AWS::ServiceCatalog::Portfolio -
AWS::ServiceCatalog::StackSetConstraint -
AWS::ServiceDiscovery::HttpNamespace -
AWS::ServiceDiscovery::Instance -
AWS::ServiceDiscovery::PrivateDnsNamespace -
AWS::ServiceDiscovery::PublicDnsNamespace -
AWS::ServiceDiscovery::Service -
AWS::SES::ReceiptFilter -
AWS::SES::ReceiptRule -
AWS::SES::ReceiptRuleSet -
AWS::SSM::MaintenanceWindow -
AWS::SSM::MaintenanceWindowTarget -
AWS::SSM::MaintenanceWindowTask -
AWS::WAF::ByteMatchSet -
AWS::WAF::IPSet -
AWS::WAF::Rule -
AWS::WAF::SizeConstraintSet -
AWS::WAF::SqlInjectionMatchSet -
AWS::WAF::WebACL -
AWS::WAF::XssMatchSet -
AWS::WAFRegional::ByteMatchSet -
AWS::WAFRegional::GeoMatchSet -
AWS::WAFRegional::IPSet -
AWS::WAFRegional::RateBasedRule -
AWS::WAFRegional::RegexPatternSet -
AWS::WAFRegional::Rule -
AWS::WAFRegional::SizeConstraintSet -
AWS::WAFRegional::SqlInjectionMatchSet -
AWS::WAFRegional::WebACL -
AWS::WAFRegional::WebACLAssociation -
AWS::WAFRegional::XssMatchSet -
AWS::WorkSpaces::Workspace -
AWS::AmazonMQ::ConfigurationAssociation -
AWS::ApiGateway::DomainNameAccessAssociation -
AWS::AppConfig::ExtensionAssociation -
AWS::AppStream::ApplicationEntitlementAssociation -
AWS::AppStream::ApplicationFleetAssociation -
AWS::AppSync::DomainNameApiAssociation -
AWS::AppSync::SourceApiAssociation -
AWS::CleanRooms::ConfiguredTableAssociation -
AWS::CleanRooms::IdNamespaceAssociation -
AWS::CodeGuruReviewer::RepositoryAssociation -
AWS::Cognito::IdentityPoolRoleAttachment -
AWS::Cognito::UserPoolRiskConfigurationAttachment -
AWS::Cognito::UserPoolUICustomizationAttachment -
AWS::Cognito::UserPoolUserToGroupAttachment -
AWS::Connect::IntegrationAssociation -
AWS::Deadline::QueueFleetAssociation -
AWS::Deadline::QueueLimitAssociation -
AWS::EC2::EIPAssociation -
AWS::EC2::EnclaveCertificateIamRoleAssociation -
AWS::EC2::GatewayRouteTableAssociation -
AWS::EC2::IPAMResourceDiscoveryAssociation -
AWS::EC2::IpPoolRouteTableAssociation -
AWS::EC2::LocalGatewayRouteTableVPCAssociation -
AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation -
AWS::EC2::NetworkInterfaceAttachment -
AWS::EC2::RouteServerAssociation -
AWS::EC2::SecurityGroupVpcAssociation -
AWS::EC2::SubnetNetworkAclAssociation -
AWS::EC2::SubnetRouteTableAssociation -
AWS::EC2::TransitGatewayAttachment -
AWS::EC2::TransitGatewayMulticastDomainAssociation -
AWS::EC2::TransitGatewayPeeringAttachment -
AWS::EC2::TransitGatewayRouteTableAssociation -
AWS::EC2::TransitGatewayVpcAttachment -
AWS::EC2::VPCDHCPOptionsAssociation -
AWS::EC2::VPCGatewayAttachment -
AWS::EC2::VolumeAttachment -
AWS::ECS::ClusterCapacityProviderAssociations -
AWS::EKS::PodIdentityAssociation -
AWS::FSx::DataRepositoryAssociation -
AWS::FSx::S3AccessPointAttachment -
AWS::GlobalAccelerator::CrossAccountAttachment -
AWS::LakeFormation::TagAssociation -
AWS::NetworkFirewall::VpcEndpointAssociation -
AWS::NetworkManager::ConnectAttachment -
AWS::NetworkManager::CustomerGatewayAssociation -
AWS::NetworkManager::DirectConnectGatewayAttachment -
AWS::NetworkManager::LinkAssociation -
AWS::NetworkManager::SiteToSiteVpnAttachment -
AWS::NetworkManager::TransitGatewayRouteTableAttachment -
AWS::NetworkManager::VpcAttachment -
AWS::Notifications::ChannelAssociation -
AWS::Notifications::ManagedNotificationAccountContactAssociation -
AWS::Notifications::ManagedNotificationAdditionalChannelAssociation -
AWS::Notifications::OrganizationalUnitAssociation -
AWS::ResourceExplorer2::DefaultViewAssociation -
AWS::Route53Profiles::ProfileAssociation -
AWS::Route53Profiles::ProfileResourceAssociation -
AWS::Route53Resolver::FirewallRuleGroupAssociation -
AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation -
AWS::Route53Resolver::ResolverRuleAssociation -
AWS::SSM::Association -
AWS::SecretsManager::SecretTargetAttachment -
AWS::SecurityHub::PolicyAssociation -
AWS::ServiceCatalog::PortfolioPrincipalAssociation -
AWS::ServiceCatalog::PortfolioProductAssociation -
AWS::ServiceCatalog::ServiceActionAssociation -
AWS::ServiceCatalog::TagOptionAssociation -
AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation -
AWS::ServiceCatalogAppRegistry::ResourceAssociation -
AWS::VpcLattice::ServiceNetworkResourceAssociation -
AWS::VpcLattice::ServiceNetworkServiceAssociation -
AWS::VpcLattice::ServiceNetworkVpcAssociation -
AWS::WAFv2::WebACLAssociation -
AWS::Wisdom::AssistantAssociation -
AWS::WorkspacesInstances::VolumeAssociation -
AWS::IAM::Policy -
AWS::SNS::TopicPolicy -
AWS::SQS::QueuePolicy -
AWS::EC2::NetworkAclEntry -
AWS::EC2::VPNGatewayRoutePropagation -
AWS::CloudFormation::Stack -
AWS::CloudWatch::MetricStream -
AWS::WorkSpaces::ConnectionAlias -
AWS::IoT::ProvisioningTemplate -
AWS::MediaPackage::Channel -
AWS::CloudFront::OriginRequestPolicy -
AWS::Route53Resolver::ResolverQueryLoggingConfig -
AWS::NetworkManager::TransitGatewayRegistration -
AWS::ImageBuilder::Image -
AWS::Config::ConformancePack -
AWS::S3::AccessPoint -
AWS::CodeStarConnections::Connection -
AWS::CloudFront::CachePolicy -
AWS::FMS::NotificationChannel -
AWS::ImageBuilder::InfrastructureConfiguration -
AWS::Detective::Graph -
AWS::EC2::CarrierGateway -
AWS::CloudWatch::CompositeAlarm -
AWS::CodeArtifact::Repository -
AWS::GroundStation::DataflowEndpointGroup -
AWS::ElasticLoadBalancingV2::Listener -
AWS::ImageBuilder::ImageRecipe -
AWS::NetworkManager::Device -
AWS::Kendra::DataSource -
AWS::Timestream::Database -
AWS::CodeGuruProfiler::ProfilingGroup -
AWS::Lambda::EventSourceMapping -
AWS::ECR::Repository -
AWS::WAFv2::IPSet -
AWS::GameLift::Alias -
AWS::IoTSiteWise::Asset -
AWS::OpsWorksCM::Server -
AWS::IoT::Authorizer -
AWS::WAFv2::RuleGroup -
AWS::NetworkManager::Site -
AWS::ResourceGroups::Group -
AWS::MediaPackage::PackagingConfiguration -
AWS::ImageBuilder::ImagePipeline -
AWS::ECS::TaskDefinition -
AWS::Macie::CustomDataIdentifier -
AWS::MediaPackage::OriginEndpoint -
AWS::Logs::LogGroup -
AWS::CodeArtifact::Domain -
AWS::Kendra::Faq -
AWS::ECS::TaskSet -
AWS::WAFv2::RegexPatternSet -
AWS::ECS::Cluster -
AWS::SSO::Assignment -
AWS::GlobalAccelerator::Listener -
AWS::ServiceCatalog::CloudFormationProvisionedProduct -
AWS::RDS::DBProxy -
AWS::EC2::FlowLog -
AWS::ImageBuilder::Component -
AWS::CloudFront::RealtimeLogConfig -
AWS::NetworkManager::GlobalNetwork -
AWS::RDS::DBProxyTargetGroup -
AWS::WAFv2::WebACL -
AWS::IVS::StreamKey -
AWS::IVS::PlaybackKeyPair -
AWS::Macie::Session -
AWS::Route53::HealthCheck -
AWS::Synthetics::Canary -
AWS::Lambda::CodeSigningConfig -
AWS::EFS::AccessPoint -
AWS::Timestream::Table -
AWS::MediaPackage::PackagingGroup -
AWS::ECS::PrimaryTaskSet -
AWS::Config::ConfigurationAggregator -
AWS::GroundStation::Config -
AWS::IoTSiteWise::AssetModel -
AWS::SES::ConfigurationSet -
AWS::ImageBuilder::DistributionConfiguration -
AWS::Config::OrganizationConformancePack -
AWS::EC2::LocalGatewayRoute -
AWS::KMS::Key -
AWS::Detective::MemberInvitation -
AWS::EKS::FargateProfile -
AWS::MediaPackage::Asset -
AWS::GlobalAccelerator::EndpointGroup -
AWS::Macie::FindingsFilter -
AWS::IoT::Certificate -
AWS::SageMaker::MonitoringSchedule -
AWS::IVS::Channel -
AWS::Kendra::Index -
AWS::EventSchemas::RegistryPolicy -
AWS::KinesisFirehose::DeliveryStream -
AWS::GlobalAccelerator::Accelerator -
AWS::EC2::PrefixList -
AWS::GameLift::GameServerGroup -
AWS::NetworkManager::Link -
AWS::EFS::FileSystem -
AWS::Route53::HostedZone -
AWS::GroundStation::MissionProfile -
AWS::KMS::Alias -
AWS::FMS::Policy -
AWS::SSO::PermissionSet -
AWS::StepFunctions::StateMachine -
AWS::QLDB::Stream -
AWS::IoTSiteWise::Gateway -
AWS::ECS::Service -
AWS::ECS::CapacityProvider -
AWS::EC2::SecurityGroup -
AWS::EC2::SecurityGroupIngress -
AWS::EC2::SecurityGroupEgress -
AWS::EC2::EC2Fleet -
AWS::IAM::Group -
AWS::IAM::Role -
AWS::IAM::User -
AWS::ApiGateway::GatewayResponse -
AWS::S3::BucketPolicy -
AWS::SNS::Topic -
AWS::SNS::Subscription -
AWS::RDS::DBInstance -
AWS::RDS::DBParameterGroup -
AWS::RDS::DBCluster -
AWS::RDS::DBClusterParameterGroup -
AWS::RDS::DBSubnetGroup -
AWS::RDS::EventSubscription -
AWS::RDS::GlobalCluster -
AWS::RDS::OptionGroup -
AWS::Neptune::DBInstance -
AWS::Neptune::DBParameterGroup -
AWS::Neptune::DBCluster -
AWS::Neptune::DBClusterParameterGroup -
AWS::Neptune::DBSubnetGroup -
AWS::Redshift::Cluster -
AWS::Redshift::ClusterParameterGroup -
AWS::Redshift::ClusterSubnetGroup -
AWS::Redshift::EndpointAccess -
AWS::Redshift::EndpointAuthorization -
AWS::Redshift::EventSubscription -
AWS::Redshift::ScheduledAction -
AWS::ElastiCache::SubnetGroup -
AWS::ApiGateway::BasePathMapping -
AWS::ApiGatewayV2::DomainName -
AWS::ApplicationAutoScaling::ScalableTarget -
AWS::Connect::ApprovedOrigin -
AWS::EKS::Cluster -
AWS::IAM::InstanceProfile -
AWS::Lambda::EventInvokeConfig