

새로운 *CloudFormation 템플릿 참조 안내서*입니다. 북마크와 링크를 업데이트하세요. CloudFormation을 시작하는 데 도움이 필요한 경우 [AWS CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)를 참조하세요.

# `Fn::Cidr`
<a name="intrinsic-function-reference-cidr"></a>

내장 함수 `Fn::Cidr`은 CIDR 주소 블록의 어레이를 반환합니다. 반환된 CIDR 블록의 수는 `count` 파라미터에 따라 다릅니다.

## 선언
<a name="intrinsic-function-reference-cidr-declaration"></a>

### JSON
<a name="intrinsic-function-reference-cidr-syntax.json"></a>

```
{ "Fn::Cidr" : [{{ipBlock}}, {{count}}, {{cidrBits}}]}
```

### YAML
<a name="intrinsic-function-reference-cidr-syntax.yaml"></a>

전체 함수 이름의 구문:

```
Fn::Cidr: 
  - {{ipBlock}}
  - {{count}}
  - {{cidrBits}}
```

짧은 형식의 구문:

```
!Cidr [ {{ipBlock}}, {{count}}, {{cidrBits}} ]
```

## 파라미터
<a name="intrinsic-function-reference-cidr-parameters"></a>

ipBlock  <a name="ipBlock"></a>
작은 CIDR 블록으로 분할되는 사용자 지정 CIDR 주소 블록입니다.

count  <a name="count"></a>
생성할 CIDR의 수입니다. 유효한 범위는 1\~256입니다.

cidrBits  <a name="cidrBits"></a>
CIDR에 대한 서브넷 비트의 수입니다. 예를 들어 이 파라미터에 대한 값으로 "8"을 지정하면 "/24" 마스크의 CIDR이 생성됩니다.  
서브넷 비트는 서브넷 마스크의 역입니다. 해당 서브넷 비트에 대해 필요한 호스트 비트를 계산하려면 IPv4의 경우 32에서, IPv6의 경우 128에서 서브넷 비트를 뺍니다.

## 반환 값
<a name="intrinsic-function-reference-cidr-return-values"></a>

CIDR 주소 블록의 어레이입니다.

## 예시
<a name="intrinsic-function-reference-cidr-examples"></a>

### 기본 사용법
<a name="intrinsic-function-reference-cidr-example1"></a>

이 예제에서는 "/24" 마스크의 CIDR 내부에서 "/27" 서브넷 마스크의 CIDR 6개를 생성합니다.

#### JSON
<a name="intrinsic-function-reference-cidr-example1.json"></a>

```
{ "Fn::Cidr" : [ "192.168.0.0/24", "6", "5"] }
```

#### YAML
<a name="intrinsic-function-reference-cidr-example1.yaml"></a>

```
!Cidr [ "192.168.0.0/24", 6, 5 ]
```

### IPv6 활성화 VPC 생성
<a name="intrinsic-function-reference-cidr-example2"></a>

이 예제 템플릿에서는 IPv6 활성화 서브넷을 생성합니다.

#### JSON
<a name="intrinsic-function-reference-cidr-example2.json"></a>

```
{
    "Resources": {
        "ExampleVpc": {
            "Type": "AWS::EC2::VPC",
            "Properties": {
                "CidrBlock": "10.0.0.0/16"
            }
        },
        "IPv6CidrBlock": {
            "Type": "AWS::EC2::VPCCidrBlock",
            "Properties": {
                "AmazonProvidedIpv6CidrBlock": true,
                "VpcId": {
                    "Ref": "ExampleVpc"
                }
            }
        },
        "ExampleSubnet": {
            "Type": "AWS::EC2::Subnet",
            "DependsOn": "IPv6CidrBlock",
            "Properties": {
                "AssignIpv6AddressOnCreation": true,
                "CidrBlock": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::Cidr": [
                                {
                                    "Fn::GetAtt": [
                                        "ExampleVpc",
                                        "CidrBlock"
                                    ]
                                },
                                1,
                                8
                            ]
                        }
                    ]
                },
                "Ipv6CidrBlock": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::Cidr": [
                                {
                                    "Fn::Select": [
                                        0,
                                        {
                                            "Fn::GetAtt": [
                                                "ExampleVpc",
                                                "Ipv6CidrBlocks"
                                            ]
                                        }
                                    ]
                                },
                                1,
                                64
                            ]
                        }
                    ]
                },
                "VpcId": {
                    "Ref": "ExampleVpc"
                }
            }
        }
    }
}
```

#### YAML
<a name="intrinsic-function-reference-cidr-example2.yaml"></a>

```
Resources:
  ExampleVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
  IPv6CidrBlock:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      AmazonProvidedIpv6CidrBlock: true
      VpcId: !Ref ExampleVpc
  ExampleSubnet:
    Type: AWS::EC2::Subnet
    DependsOn: IPv6CidrBlock
    Properties:
      AssignIpv6AddressOnCreation: true
      CidrBlock: !Select
        - 0
        - !Cidr
          - !GetAtt ExampleVpc.CidrBlock
          - 1
          - 8
      Ipv6CidrBlock: !Select
        - 0
        - !Cidr
          - !Select
            - 0
            - !GetAtt ExampleVpc.Ipv6CidrBlocks
          - 1
          - 64
      VpcId: !Ref ExampleVpc
```

## 지원되는 함수
<a name="intrinsic-function-reference-cidr-functions"></a>

`Fn::Cidr` 함수에서 다음과 같은 함수를 사용할 수 있습니다.
+ [`Fn::Select`](intrinsic-function-reference-select.md)
+ [`Ref`](intrinsic-function-reference-ref.md)