AWS CloudFormation 템플릿 문법에 대한 메모
7092 단어 CloudFormationAWS
무엇
템플릿
template.yaml
---
# 任意の Mappings セクションでは、キーと名前付きの一連の値とが対応付けられます。
Mappings:
RegionMap:
us-east-1:
Name1: Value01
Name2: Value02
other:
Name1: Value03
Name2: Value04
# オプションの Parameters セクションを使用して、テンプレートをカスタマイズします。
# パラメーターを使用すると、スタックを作成または更新するたびにテンプレートにカスタム値を入力できます。
Parameters:
EnvType:
Description: Environment type.
Default: test
Type: String
AllowedValues:
- prod
- test
ConstraintDescription: must specify prod or test.
# オプションの Conditions セクションには、エンティティが作成または設定される状況を定義する文が含まれています。
Conditions:
CreateProdResources: !Equals [ !Ref EnvType, prod ]
# 必須の Resources セクションでは、スタックに含める AWS リソース (Amazon EC2 インスタンスや Amazon S3 バケットなど) を宣言します。
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: us-east-1a
ImageId: ami-a4c7edb2
InstanceType: t2.micro
# オプションの Outputs セクションは、他のスタックにインポートする (クロススタック参照を作成)、応答として返す (スタック呼び出しについて記述)、
# または、AWS CloudFormation コンソールで表示する出力値を宣言します。
Outputs:
# 組み込み関数 Ref は、指定したパラメータまたはリソースの値を返します。
ByRef:
Description: Ref
Value: !Ref MyInstance
# Export: クロススタック参照にエクスポートされるリソース出力の名前。
Export:
Name: MyInstanceId
# Fn::GetAtt 組み込み関数は、テンプレートのリソースから属性の値を返します
ByGetAtt:
Description: GetAtt
Value: !GetAtt MyInstance.AvailabilityZone
# 組み込み関数 Fn::Sub は特定した値の入力文字列にある変数の代わりになります。
BySub:
Description: Sub
Condition: CreateProdResources
Value: !Sub
- ${A}-${B}
- { A: !FindInMap [RegionMap, !Ref "AWS::Region", Name1], B: !Ref MyInstance }
# 組み込み関数 Fn::Join は、一連の値を特定の区切り文字で区切って 1 つの値に追加します。
ByJoin:
Description: Join
Value: !Join [ ":", [ a, b, z ] ]
출력
메모
例
Fn::GetAtt: [ logicalNameOfResource, attributeName ]
!GetAtt logicalNameOfResource.attributeName
Reference
이 문제에 관하여(AWS CloudFormation 템플릿 문법에 대한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ystkr/items/cb882a247698327c13d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)