

# `AWS::CloudFormation::Interface` 메타데이터를 사용하여 CloudFormation 파라미터 구성
<a name="aws-cloudformation-interface"></a>

`AWS::CloudFormation::Interface`는 CloudFormation 콘솔에서 파라미터가 그룹화되고 정렬되는 방식을 정의하는 메타데이터 키입니다. 기본적으로 콘솔에서 스택을 생성하거나 업데이트하면 콘솔에는 입력 파라미터가 논리적 ID를 기준으로 사전순으로 나열됩니다. 이 키를 사용하면 사용자가 파라미터 값을 효율적으로 지정할 수 있도록 고유의 파라미터 그룹화 및 정렬을 정의할 수 있습니다. 예를 들어, 모든 EC2 관련 파라미터를 한 그룹으로 그룹화하고 모든 VPC 관련 파라미터를 다른 한 그룹으로 그룹화할 수 있습니다.

메타데이터 키에서는 생성할 그룹, 각 그룹에 포함할 파라미터, 그리고 콘솔에서 그룹 내 각 파라미터를 표시하는 순서를 지정할 수 있습니다.

파라미터의 레이블을 정의할 수도 있습니다. 레이블은 파라미터의 논리적 ID 대신 콘솔에 표시되는 표시 이름 또는 설명입니다. 레이블은 사용자가 각 파라미터에 지정할 값을 이해하도록 돕는 데 유용합니다. 예를 들어, `KeyPair` 파라미터에 `Select an EC2 key pair`라는 레이블을 지정할 수 있습니다.

메타데이터 키에서 참조하는 모든 파라미터는 템플릿의 `Parameters` 섹션에 선언해야 합니다.

**참고**  
CloudFormation 콘솔만 `AWS::CloudFormation::Interface` 메타데이터 키를 사용합니다. AWS CLI 및 API 호출은 이 키를 사용하지 않습니다.

## 구문
<a name="aws-resource-cloudformation-interface-syntax"></a>

CloudFormation 템플릿에서 이 객체를 선언하려면 다음 구문을 사용합니다.

### JSON
<a name="aws-resource-cloudformation-interface-syntax.json"></a>

```
"Metadata" : {
  "AWS::CloudFormation::Interface" : {
    "ParameterGroups": [
      {
        "Label": {
          "default": "Group Label"
        },
        "Parameters": [
          "Parameter1",
          "Parameter2"
        ]
      }
    ],
    "ParameterLabels": {
      "Parameter1": {
        "default": "Friendly Name for Parameter1"
      }
    }
  }
}
```

### YAML
<a name="aws-resource-cloudformation-interface-syntax.yaml"></a>

```
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: Group Label
        Parameters:
          - Parameter1
          - Parameter2
    ParameterLabels:
      Parameter1:
        default: Friendly Name for Parameter1
```

## 속성
<a name="w2aac11c23c29c17c17"></a>

`ParameterGroups`  
그룹 이름, 각 그룹의 파라미터 및 파라미터가 표시되는 순서를 지정하는 파라미터 그룹 유형의 목록입니다.  
*필수 항목 여부*: 아니요    
`Label`  
파라미터 그룹의 이름입니다.  
*필수 항목 여부*: 아니요  
`default`  
CloudFormation 콘솔이 파라미터 그룹의 이름을 지정하는 데 사용하는 기본 레이블입니다.  
*필수 항목 여부*: 아니요  
*유형*: 문자열  
`Parameters`  
그룹에 포함할 파라미터 논리적 ID(대/소문자 구분)의 목록입니다. 파라미터가 템플릿의 `Parameters` 섹션에 이미 정의되어 있어야 합니다. 파라미터는 한 파라미터 그룹에만 포함될 수 있습니다.  
`Other parameters` 그룹에서 파라미터 그룹과 연결되지 않은 파라미터가 사전 순으로 콘솔에 나열됩니다.  
*필수 항목 여부*: 아니요  
*유형*: 문자열 값의 목록

`ParameterLabels`  
스택을 생성하거나 업데이트할 때 CloudFormation 콘솔에 표시되는 파라미터 및 해당 표시 이름의 매핑입니다.  
*필수 항목 여부*: 아니요    
파라미터 레이블  
파라미터에 대한 레이블입니다. 이 레이블은 스택 생성 또는 업데이트 시 CloudFormation 콘솔이 [**파라미터 지정(Specify Parameters)**] 페이지에 표시하는 기억하기 쉬운 이름 또는 설명을 정의합니다. 파라미터 라벨은 템플릿의 `Parameters` 섹션에서 선언된 유효한 파라미터의 논리적 ID(대/소문자 구분)여야 합니다.  
*필수 항목 여부*: 아니요  
`default`  
CloudFormation 콘솔이 파라미터의 이름을 지정하는 데 사용하는 기본 레이블입니다.  
*필수 항목 여부*: 아니요  
*유형*: 문자열

## 예제
<a name="w2aac11c23c29c17c19"></a>

다음 예제에서는 `Network Configuration` 및 `Amazon EC2 Configuration`이라는 두 개의 파라미터 그룹을 정의합니다. `Network Configuration` 그룹에는 템플릿(표시되지 않음)의 `VPCID` 섹션에서 정의되는 `SubnetId`, `SecurityGroupID` 및 `Parameters` 파라미터가 포함됩니다. 이러한 파라미터가 콘솔에 표시되는 순서는 `VPCID` 파라미터로 시작하여 파라미터가 나열되는 순서에 따라 정의됩니다. 예제에서는 비슷한 방식으로 `Amazon EC2 Configuration` 파라미터를 그룹화하고 정렬합니다.

예제에서는 `VPCID` 파라미터의 레이블도 정의합니다. 콘솔에서 파라미터의 논리적 ID(`VPCID`) 대신 **Which VPC should this be deployed to?(어떤 VPC에 배포합니까?)**가 표시됩니다.

### JSON
<a name="aws-cloudformation-interface-example.json"></a>

```
"Metadata" : {
  "AWS::CloudFormation::Interface" : {
    "ParameterGroups" : [
      {
        "Label" : { "default" : "Network Configuration" },
        "Parameters" : [ "VPCID", "SubnetId", "SecurityGroupID" ]
      },
      {
        "Label" : { "default":"Amazon EC2 Configuration" },
        "Parameters" : [ "InstanceType", "KeyName" ]
      }
    ],
    "ParameterLabels" : {
      "VPCID" : { "default" : "Which VPC should this be deployed to?" }
    }
  }
}
```

### YAML
<a name="aws-cloudformation-interface-example.yaml"></a>

```
Metadata: 
  AWS::CloudFormation::Interface: 
    ParameterGroups: 
      - Label: 
          default: "Network Configuration"
        Parameters: 
          - VPCID
          - SubnetId
          - SecurityGroupID
      - Label: 
          default: "Amazon EC2 Configuration"
        Parameters: 
          - InstanceType
          - KeyName
    ParameterLabels: 
      VPCID: 
        default: "Which VPC should this be deployed to?"
```

### 콘솔의 파라미터 그룹
<a name="w2aac11c23c29c17c19c11"></a>

다음 그림에서는 이 예제의 메타데이터 키를 사용하여 스택을 생성하거나 업데이트할 때 파라미터 그룹이 콘솔에 표시되는 방식을 보여 줍니다. **콘솔의 파라미터 그룹** 

![\[이 예제의 파라미터 그룹이 표시된 콘솔입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/images/console-create-stack-parameter-groups.png)
