Systems Manager에 저장된 파라미터를 AWS CloudFormation 스택에서 동적으로 사용하려면 어떻게 해야 하나요?

2분 분량
0

AWS Systems Manager Parameter Store에 파라미터 값이 여러 개 저장되어 있습니다. 요구 사항에 따라 AWS CloudFormation 스택에서 이러한 파라미터를 동적으로 사용하고자 합니다.

해결 방법

다음 해결 방법에서는 Windows와 Linux를 예제 환경으로 사용하여 CloudFormation 스택에서 다양한 파라미터를 동적으로 사용하는 방법을 보여줍니다.

  1. AWS Systems Manager 콘솔을 엽니다.

  2. 탐색 창에서 Parameter Store를 선택합니다.

  3. Systems Manager 파라미터를 문자열 유형으로 생성하여 Linux 또는 Windows용 Amazon Machine Image(AMI) ID를 저장합니다.

    Linux:

    LinuxAmiId - AMI-Id-for-Linux-resources

    -또는-

    Windows:

    WindowsAmiId - AMI-Id-for-Windows-resources

    참고: AMI-Id-for-Linux-resourcesAMI-Id-for-Windows-resources를 리소스의 AMI ID로 바꾸십시오.

  4. 다음 예제 CloudFormation 템플릿을 사용하여 배포에 사용할 AMI를 선택하는 파라미터를 생성합니다.

    {
      "Parameters": {
        "AmiToUse": {
          "Type": "String",
          "AllowedValues": [
            "windows",
            "linux"
          ]
        }
      },
      "Conditions": {
        "CreateWindowsResources": {
          "Fn::Equals": [
            "windows",
            {
              "Ref": "AmiToUse"
            }
          ]
        }
      },
      "Resources": {
        "EC2Instance": {
          "Type": "AWS::EC2::Instance",
          "Properties": {
            "ImageId": {
              "Fn::If": [
                "CreateWindowsResources",
                "{{resolve:ssm:WindowsAmiId:1}}",
                "{{resolve:ssm:LinuxAmiId:1}}"
              ]
            }
          }
        }
      }
    }

    참고: 앞선 템플릿에서 AmiToUsewindows로 선택된 경우 CreateWindowsResources 조건이 true로 평가됩니다. CloudFormation은 WindowsAmiId에 저장된 값을 사용하여 AWS::EC2::Instance 리소스를 프로비저닝합니다. Linux의 경우 조건이 false로 평가되고 CloudFormation은 LinuxAmiId에 저장된 값을 사용하여 AWS::EC2::Instance 리소스를 프로비저닝합니다.

동적 참조에 대한 자세한 내용은 동적 참조를 사용하여 다른 서비스에 저장된 값 가져오기를 참조하십시오.

관련 정보

동적 참조

AWS 공식
AWS 공식업데이트됨 6달 전
댓글 없음

관련 콘텐츠