

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 함수
<a name="ebextensions-functions"></a>

구성 파일의 함수를 사용하여 리소스 속성의 값을 다른 리소스 또는 Elastic Beanstalk 구성 옵션 설정의 정보로 채울 수 있습니다. Elastic Beanstalk는 CloudFormation 함수(`Ref`, `Fn::GetAtt`, `Fn::Join`)와 하나의 Elastic Beanstalk 전용 함수인를 지원합니다`Fn::GetOptionSetting`.

**Topics**
+ [Ref](#ebextensions-functions-ref)
+ [Fn::GetAtt](#ebextensions-functions-getatt)
+ [Fn::Join](#ebextensions-functions-join)
+ [Fn::GetOptionSetting](#ebextensions-functions-getoptionsetting)

## Ref
<a name="ebextensions-functions-ref"></a>

`Ref`를 사용하여 AWS 리소스의 기본 문자열 표현을 검색합니다. `Ref`를 통해 반환된 값은 리소스 유형에 따라 다르며, 경우에 따라 기타 요소에 따라서도 다릅니다. 예를 들어 보안 그룹([AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html))은 보안 그룹이 기본 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/)(Amazon VPC)에 있는지, EC2 classic에 있는지 또는 사용자 지정 VPC에 있는지에 따라 보안 그룹의 이름 또는 ID를 반환합니다.

```
{ "Ref" : "resource name" }
```

**참고**  
`Ref`의 반환 값을 포함하여 각 리소스 유형에 대한 자세한 내용은 *CloudFormation 사용 설명서*의 [AWS 리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)를 참조하세요.

샘플 [Auto Scaling 수명 주기 후크](environment-resources.md)의 예:

```
Resources:
  lifecyclehook:
    Type: AWS::AutoScaling::LifecycleHook
    Properties:
      AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
```

`Ref`를 사용하여 동일한 파일 또는 다른 구성 파일의 다른 곳에서 정의된 CloudFormation 파라미터의 값을 검색할 수도 있습니다.

## Fn::GetAtt
<a name="ebextensions-functions-getatt"></a>

`Fn::GetAtt`를 사용하여 AWS 리소스의 속성 값을 검색합니다.

```
{ "Fn::GetAtt" : [ "resource name", "attribute name"] }
```

샘플 [Auto Scaling 수명 주기 후크](environment-resources.md)의 예:

```
Resources:
  lifecyclehook:
    Type: AWS::AutoScaling::LifecycleHook
    Properties:
      RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }
```

자세한 내용은 [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)를 참조하세요.

## Fn::Join
<a name="ebextensions-functions-join"></a>

`Fn::Join`을 사용하여 문자열을 구분 기호와 결합합니다. 문자열을 하드 코딩하거나 `Fn::GetAtt` 또는 `Ref`의 출력을 사용할 수 있습니다.

```
{ "Fn::Join" : [ "delimiter", [ "string1", "string2" ] ] }
```

자세한 내용은 [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html)을 참조하세요.

## Fn::GetOptionSetting
<a name="ebextensions-functions-getoptionsetting"></a>

`Fn::GetOptionSetting`을 사용하여 환경에 적용된 [구성 옵션](command-options.md) 설정의 값을 검색합니다.

```
"Fn::GetOptionSetting":
  Namespace: "namespace"
  OptionName: "option name"
  DefaultValue: "default value"
```

[프라이빗 키 저장](https-storingprivatekeys.md) 예제에서:

```
Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-west-2-123456789012"]
          roleName: 
            "Fn::GetOptionSetting": 
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"
```