cidrsubnets 함수
cidrsubnets 함수
cidrsubnets 함수는 특정 CIDR 프리픽스 안에서 연속된 여러 개의 IP 주소 범위 시퀀스를 계산해요. 나머지 인자인 newbits는 각 반환 주소 범위의 추가 네트워크 프리픽스 비트 수를 지정해요. 이 함수는 IPv6와 IPv4 프리픽스를 모두 받을 수 있어요.
출처: 문서
본문
cidrsubnets는 특정 CIDR 프리픽스 안에서 연속된 IP 주소 범위 시퀀스를 계산해요.
cidrsubnets(prefix, newbits...)
prefix는 RFC 4632 section 3.1에 정의된 CIDR 표기법으로 주어져야 해요. 나머지 인자(위에서 newbits로 표시)는 각각 하나의 반환 주소 범위에 대한 추가 네트워크 프리픽스 비트 수를 지정해요. 따라서 반환 값은 newbits 인자마다 한 요소씩 가지는 리스트이며, 각 요소는 CIDR 표기법의 주소 범위 문자열이에요.
IP 주소 지정 개념에 대한 자세한 정보는 관련 함수인 cidrsubnet 문서를 참고해요. cidrsubnet은 프리픽스 안의 단일 서브넷 주소를 계산하면서 서브넷 번호를 직접 지정할 수 있게 해주고, cidrsubnets는 한 번에 여러 개(크기가 다를 수도 있음)를 계산하며 서브넷 번호를 자동으로 할당해요.
네트워크 주소 계획의 일부로 주소 공간을 분할할 때 이 함수를 사용한다면, 실제 인프라에 네트워크 주소가 할당된 후에는 기존 인자를 변경하면 안 돼요. 그렇지 않으면 이후의 주소 할당이 무효화돼요. 하지만 충분한 주소 공간이 있다면 기존 호출에 새 인자를 추가하는 것은 안전해요.
이 함수는 IPv6와 IPv4 프리픽스를 모두 받을 수 있고, 결과는 항상 주어진 프리픽스와 동일한 주소 체계를 사용해요.
참고: 역사적인 이유로 이 함수는 앞에 0이 붙은 IPv4 주소 옥텟을 10진수로 해석해요. 이는 일부 다른 시스템이 8진수로 해석하는 것과 반대예요. 우리는 하위 호환성을 위해 이 동작을 유지했지만, 이 동작에 의존하는 것은 권장하지 않아요.
참고: The Terraform module hashicorp/subnets/cidr는 cidrsubnets를 감싸 네트워크에 기호 이름을 할당하고 더 이상 사용하지 않는 할당을 위한 프리픽스를 건너뛰는 추가 기능을 제공해요. 그 문서에는 여러 인기 클라우드 가상 네트워크 플랫폼에 대한 사용 예제가 포함되어 있어요.
예시
> cidrsubnets("10.1.0.0/16", 4, 4, 8, 4)
[
"10.1.0.0/20",
"10.1.16.0/20",
"10.1.32.0/24",
"10.1.48.0/20",
]
> cidrsubnets("fd00:fd12:3456:7890::/56", 16, 16, 16, 32)
[
"fd00:fd12:3456:7800::/72",
"fd00:fd12:3456:7800:100::/72",
"fd00:fd12:3456:7800:200::/72",
"fd00:fd12:3456:7800:300::/88",
]
for 표현식과 함께 중첩된 cidrsubnets 호출을 사용해서 네트워크 주소 블록 그룹을 간결하게 할당할 수 있어요:
> [for cidr_block in cidrsubnets("10.0.0.0/8", 8, 8, 8, 8) : cidrsubnets(cidr_block, 4, 4)]
[
[
"10.0.0.0/20",
"10.0.16.0/20",
],
[
"10.1.0.0/20",
"10.1.16.0/20",
],
[
"10.2.0.0/20",
"10.2.16.0/20",
],
[
"10.3.0.0/20",
"10.3.16.0/20",
],
]
관련 함수
cidrhost- 주어진 네트워크 주소 프리픽스 안에서 단일 호스트의 IP 주소를 계산해요.cidrnetmask- CIDR 표기법의 IPv4 네트워크 프리픽스를 넷마스크 표기법으로 변환해요.cidrsubnet- 단일 서브넷 주소를 계산하며 네트워크 번호를 직접 지정할 수 있어요.
더 알아보기 (Learn more)
- cidrsubnet 함수 - 단일 서브넷 주소를 계산하는 함수예요.
- for 표현식 - 반복 표현식에 대해 알아봐요.
- Terraform 함수 목록 - 모든 함수를 확인해 보세요.