CLI로 CreateStack 사용 - AWS SDK 코드 예제

AWS SDK 예제 GitHub 리포지토리에 더 많은 AWS문서 SDK 예제가 있습니다.

CLI로 CreateStack 사용

다음 코드 예시는 CreateStack의 사용 방법을 보여 줍니다.

CLI
AWS CLI

CloudFormation 스택을 생성하는 방법

다음 create-stacks 명령에서는 sampletemplate.json 템플릿을 사용하여 이름이 myteststack인 스택을 생성합니다.

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2

출력:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

자세한 내용을 알아보려면 AWS CloudFormation 사용 설명서의 스택을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateStack 섹션을 참조하세요.

PowerShell
Tools for PowerShell V4

예 1: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백되지 않습니다.

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

예 2: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다.

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"

예 3: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback $false를 지정하는 것과 동일).

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

예 4: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback $false를 지정하는 것과 동일). 지정된 알림 AEN은 게시된 스택 관련 이벤트를 수신합니다.

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V4)CreateStack을 참조하세요.

Tools for PowerShell V5

예 1: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백되지 않습니다.

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

예 2: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다.

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"

예 3: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback $false를 지정하는 것과 동일).

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

예 4: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback $false를 지정하는 것과 동일). 지정된 알림 AEN은 게시된 스택 관련 이벤트를 수신합니다.

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V5)CreateStack을 참조하세요.