기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Terraform을 AWS 사용하여에서 계층적 다중 리전 IPAM 아키텍처 생성
Donny Schreiber, Amazon Web Services
요약
IP 주소 관리(IPAM)는 네트워크 관리의 중요한 구성 요소이며 조직이 클라우드 인프라를 확장함에 따라 점점 더 복잡해지고 있습니다. 적절한 IPAM이 없으면 조직은 IP 주소 충돌, 주소 공간 낭비, 복잡한 문제 해결로 인해 중단 및 애플리케이션 가동 중지가 발생할 위험이 있습니다. 이 패턴은 HashiCorp Terraform을 사용하여 AWS 엔터프라이즈 환경을 위한 포괄적인 IPAM 솔루션을 구현하는 방법을 보여줍니다. 이를 통해 조직은 AWS 조직의 모든 AWS 계정 에서 중앙 집중식 IP 주소 관리를 용이하게 하는 계층적 다중 리전 IPAM 아키텍처를 생성할 수 있습니다.
이 패턴은 최상위 풀, 리전 풀, 사업부 풀, 환경별 풀 등 정교한 4계층 풀 계층 구조로 Amazon VPC IP 주소 관리자를 구현하는 데 도움이 됩니다. 이 구조는 적절한 IP 주소 거버넌스를 지원하는 동시에 조직 내 적절한 팀에 IP 관리를 위임할 수 있도록 합니다. 이 솔루션은 AWS Resource Access Manager (AWS RAM)를 사용하여 조직 전체에서 IP 주소 관리자 풀을 원활하게 공유합니다.는 모든 관리형 계정에서 팀이 구축할 수 있는 IPAM 사양을 AWS RAM 분산하고 표준화합니다.
이 패턴을 사용하면 다음을 달성할 수 있습니다.
AWS 리전전체, 사업부 및 환경의 IP 주소 할당을 자동화합니다.
프로그래밍 방식 검증을 통해 조직 네트워크 정책을 적용합니다.
비즈니스 요구 사항이 진화함에 따라 네트워크 인프라를 효율적으로 확장합니다.
IP 주소 공간의 중앙 집중식 관리를 통해 운영 오버헤드를 줄입니다.
셀프 서비스 CIDR 범위 할당을 통해 클라우드 네이티브 워크로드 배포를 가속화합니다.
정책 기반 제어 및 검증을 통해 주소 충돌을 방지합니다.
사전 조건 및 제한 사항
사전 조건
조직으로 AWS 계정관리되는 하나 이상의 입니다 AWS Organizations.
IP Address Manager 위임된 관리자 역할을 할 네트워크 허브 또는 네트워크 관리 계정입니다.
Terraform 버전 1.5.0 이상 설치
AWS Terraform용 공급자, 구성
됨. AWS Identity and Access Management (IAM)에 구성된 IP 주소 관리자AWS RAM, 및 Virtual Private Cloud(VPCs 관리할 수 있는 권한.
제한 사항
IP 주소 관리자에는 Service Quotas가 적용됩니다. 풀의 기본 Service Quotas는 범위당 50개입니다. 6개 리전, 2개 사업부 및 4개 환경에서이 배포를 실행하면 67개의 풀이 생성됩니다. 따라서 할당량 증가가 필요할 수 있습니다.
리소스가 할당된 후 IP Address Manager 풀을 수정하거나 삭제하면 종속성 문제가 발생할 수 있습니다. 먼저 할당 및 을 해제해야만 풀을 삭제할 수 있습니다.
IP Address Manager에서 리소스 모니터링은 리소스 변경 사항 반영을 약간 지연시킬 수 있습니다. 이 지연은 약 20분 정도 걸릴 수 있습니다.
IP 주소 관리자는 다양한 범위에서 IP 주소 고유성을 자동으로 적용할 수 없습니다.
사용자 지정 태그는 AWS 태깅 모범 사례를 준수해야 합니다. 예를 들어 각 키는 고유해야 하며 로 시작할 수 없습니다
aws:.IPAM을 조직 외부 계정과 통합할 때의 고려 사항 및 제한 사항
아키텍처
대상 아키텍처
IP Address Manager 구성 및 풀 계층 구조
다음 다이어그램은 이 구성의 아키텍처를 보여줍니다. 범위는 IP Address Manager에서 가장 높은 수준의 컨테이너입니다. 각 범위는 단일 네트워크의 IP 공간을 나타냅니다. 풀은 범위 내의 연속 IP 주소 범위(또는 CIDR 범위) 모음입니다. 풀을 사용하면 라우팅 및 보안 요구 사항에 따라 IP 주소를 구성할 수 있습니다. 이 다이어그램은 최상위 풀, 리전 풀, 사업부 풀 및 환경 풀의 네 가지 계층적 풀 수준을 보여줍니다.

이 솔루션은 IP Address Manager 풀의 명확한 계층 구조를 설정합니다.
최상위 풀에는와 같은 전체 조직 IP 주소 공간이 포함됩니다
10.176.0.0/12.리전 풀은와 같은 리전별 할당
10.176.0.0/15을 위한 것입니다us-east-1.사업부 풀은 각각 내의 도메인별 할당입니다 AWS 리전. 예를 들어
us-east-1리전의 재무 사업부에이 있을 수 있습니다10.176.0.0/16.환경 풀은 다양한 환경에 대한 용도별 할당입니다. 예를 들어
us-east-1리전의 재무 사업부에 프로덕션 환경에10.176.0.0/18대한가 있을 수 있습니다.
이 배포 토폴로지는 중앙 집중식 제어를 유지하면서 IP Address Manager 리소스를 지리적으로 분산합니다. 기능은 다음과 같습니다.
IP 주소 관리자는 단일 프라이머리에 배포됩니다 AWS 리전.
추가 리전은 IP Address Manager가 리소스를 관리할 수 있는 운영 리전으로 등록됩니다.
각 운영 리전은 최상위 풀에서 전용 주소 풀을 받습니다.
모든 운영 리전의 리소스는 기본 리전의 IP 주소 관리자를 통해 중앙에서 관리됩니다.
각 리전 풀에는 리소스를 올바르게 할당하는 데 도움이 되도록 해당 리전에 연결된 로캘 속성이 있습니다.
고급 CIDR 범위 검증
이 솔루션은 잘못된 구성의 배포를 방지하도록 설계되었습니다. Terraform을 통해 풀을 배포하면 Terraform 계획 단계에서 다음이 검증됩니다.
모든 환경 CIDR 범위가 상위 사업부 CIDR 범위에 포함되는지 검증합니다.
모든 사업부 CIDR 범위가 상위 리전 CIDR 범위에 포함되는지 확인합니다.
모든 리전 CIDR 범위가 최상위 CIDR 범위에 포함되는지 확인합니다.
동일한 계층 수준 내에서 CIDR 범위가 중복되는지 확인합니다.
환경을 각 사업부에 적절하게 매핑하는지 검증합니다.
CIDR 범위 할당
다음 다이어그램은 개발자 또는 관리자가 새 VPCs 생성하고 풀 수준에서 IP 주소를 할당하는 방법의 예를 보여줍니다.

이 다이어그램은 다음 워크플로를 보여줍니다.
개발자 또는 관리자는 AWS Management Console AWS CLI, 또는 코드형 인프라(IaC)를 통해
AY3환경 풀에서 사용 가능한 다음 CIDR 범위를 요청합니다.IP Address Manager는 해당 풀에서 사용 가능한 다음 CIDR 범위를
AY3-4VPC에 할당합니다. 이 CIDR 범위는 더 이상 사용할 수 없습니다.
자동화 및 규모 조정
이 솔루션은 다음과 같이 확장성을 위해 설계되었습니다.
리전 확장 - Terraform 구성을 추가 리전 풀 항목으로 확장하여 새 리전을 추가합니다.
사업부 성장 - BU 구성 맵에 새 사업부를 추가하여 지원합니다.
환경 유연성 - 조직의 니즈에 따라 개발 또는 프로덕션과 같은 다양한 환경 유형을 구성합니다.
다중 계정 지원 - 조직의 모든 계정에서 풀을 공유합니다 AWS RAM.
자동 VPC 프로비저닝 - VPC 프로비저닝 워크플로와 통합하여 CIDR 범위 할당을 자동화합니다.
계층 구조는 다음과 같이 다양한 위임 및 제어 규모를 허용합니다.
네트워크 관리자는 최상위 풀과 리전 풀을 관리할 수 있습니다.
사업부 IT 팀이 각 풀에 대한 권한을 위임했을 수 있습니다.
애플리케이션 팀은 지정된 환경 풀의 IP 주소를 사용할 수 있습니다.
참고
이 솔루션을 AWS Control Tower Account Factory for Terraform(AFT)과 통합할 수도 있습니다. 자세한 내용은 이 패턴의 추가 정보 섹션에 있는 프린터 플릿 상태 확인을 참조하세요.
도구
AWS 서비스
Amazon CloudWatch를 사용하면 AWS 리소스 및에서 실행되는 애플리케이션의 지표를 실시간으로 모니터링할 AWS 수 있습니다.
AWS Command Line Interface (AWS CLI)는 명령줄 셸의 명령을 AWS 서비스 통해와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
AWS Organizations는 여러을 생성하여 중앙에서 관리하는 조직 AWS 계정 으로 통합하는 데 도움이 되는 계정 관리 서비스입니다.
AWS Resource Access Manager (AWS RAM)를 사용하면에서 리소스를 안전하게 공유 AWS 계정 하여 운영 오버헤드를 줄이고 가시성과 감사 가능성을 제공할 수 있습니다.
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 정의한 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사합니다. IP 주소 관리자는 Amazon VPC의 기능입니다. 워크로드의 IP 주소를 계획, 추적 및 모니터링하는 데 도움이 됩니다 AWS .
기타 도구
HashiCorp Terraform
은 코드를 사용하여 클라우드 인프라 및 리소스를 프로비저닝하고 관리하는 데 도움이 되는 코드형 인프라(IaC) 도구입니다.
코드 리포지토리
이 패턴의 코드는 GitHub의 리포지토리에 있는 계층적 IPAM을 위한 샘플 Terraform 구현 AWS
루트 모듈 - 배포 오케스트레이션 및 입력 변수.
IPAM 모듈 -이 패턴에 설명된 아키텍처의 핵심 구현입니다.
태그 모듈 - 모든 리소스에 대한 표준화된 태깅 방식입니다.
모범 사례
네트워크 계획의 다음 모범 사례를 고려하세요.
먼저 계획 - 배포 전에 IP 주소 공간을 철저히 계획합니다. 자세한 내용은 Amazon VPC IPAM 사용 설명서의 IP 주소 프로비저닝 계획을 참조하세요.
CIDR 범위가 겹치지 않도록 - 각 수준의 CIDR 범위가 겹치지 않도록 합니다.
버퍼 공간 예약 - 성장을 수용하는 데 즉시 필요한 것보다 더 큰 CIDR 범위를 항상 할당합니다.
문서 IP 주소 할당 - IP 주소 할당 전략에 대한 문서를 유지 관리합니다.
다음 모범 사례를 고려하세요.
비프로덕션으로 시작 - 먼저 비프로덕션 환경에 배포합니다.
Terraform 상태 관리 사용 - 원격 상태 스토리지 및 잠금을 구현합니다. 자세한 내용은 Terraform 설명서의 상태 저장 및 잠금
을 참조하세요. 버전 관리 구현 - 모든 Terraform 코드를 버전 관리합니다.
CI/CD 통합 구현 - 반복 가능한 배포를 위해 지속적 통합 및 지속적 전달(CI/CD) 파이프라인을 사용합니다.
다음 모범 사례를 고려하세요.
자동 가져오기 활성화 - 기존 리소스를 자동으로 검색하고 가져오도록 IP 주소 관리자 풀을 구성합니다. IPAM 풀 편집의 지침에 따라 자동 가져오기를 켭니다.
IP 주소 사용률 모니터링 - IP 주소 사용률 임계값에 대한 경보를 설정합니다. 자세한 내용은 Amazon CloudWatch를 사용한 모니터링을 참조하세요.
정기 감사 - IP 주소 사용 및 규정 준수를 정기적으로 감사합니다. 자세한 내용은 IPAM에서 IP 주소 사용량 추적을 참조하세요.
미사용 할당 정리 - 리소스가 폐기될 때 IP 주소 할당을 해제합니다. 자세한 내용은 풀에서 CIDRs.
다음 모범 사례를 고려하세요.
최소 권한 구현 - 최소 필수 권한이 있는 IAM 역할을 사용합니다. 자세한 내용은 IAM의 보안 모범 사례 및 IPAM의 ID 및 액세스 관리를 참조하세요.
서비스 제어 정책 사용 - 서비스 제어 정책(SCPs 구현하여 조직에서 IP Address Manager 사용을 적용합니다. 자세한 내용은 SCPs.
리소스 공유 제어 -에서 IP Address Manager 리소스 공유의 범위를 신중하게 관리합니다 AWS RAM. 자세한 내용은 를 사용하여 IPAM 풀 공유 AWS RAM를 참조하세요.
태깅 적용 - IP 주소 관리자와 관련된 모든 리소스에 필수 태깅을 구현합니다. 자세한 내용은 추가 정보 섹션의 Amazon SNS를 참조하세요.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
AWS Organizations 기능을 활성화합니다. | 에 모든 기능이 활성화 AWS Organizations 되어 있는지 확인합니다. 지침은 AWS Organizations 설명서의 를 사용하여 조직의 모든 기능 활성화 AWS Organizations를 참조하세요. | 관리자 |
에서 리소스 공유를 활성화합니다 AWS RAM. | 를 사용하여 다음 명령을 AWS CLI입력하여 조직의 AWS RAM 리소스 공유를 활성화합니다.
자세한 내용은 AWS RAM 설명서의 내에서 리소스 공유 활성화 AWS Organizations를 참조하세요. | 관리자 |
IP 주소 관리자의 관리자를 지정합니다. | 조직의 관리 계정에서를 사용하여 다음 명령을 AWS CLI입력합니다. 여기서
참고일반적으로 네트워크 또는 네트워크 허브 계정은 IP 주소 관리자의 위임된 관리자로 사용됩니다. 자세한 내용은 IP 주소 관리자 설명서의 AWS Organization의 계정과 IPAM 통합을 참조하세요. | 관리자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
네트워크 아키텍처를 정의합니다. | 리전, 사업부 및 환경의 CIDR 범위를 포함하여 네트워크 아키텍처를 정의하고 문서화합니다. 자세한 내용은 IP Address Manager 설명서의 IP 주소 프로비저닝 계획을 참조하세요. | 네트워크 엔지니어 |
리포지토리를 복제합니다. |
| DevOps 엔지니어 |
변수를 구성합니다. |
| 네트워크 엔지니어, Terraform |
IP Address Manager 리소스를 배포합니다. |
| Terraform |
배포를 검증합니다. |
| 일반 AWS, 네트워크 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
VPC를 생성합니다. | Amazon VPC 사용 설명서의 VPC 생성 단계를 따르세요. VPC에 대한 CIDR 범위를 선택하는 단계에 도달하면 리전, 사업부 및 환경 풀 중 하나에서 사용 가능한 다음를 할당합니다. | 일반 AWS, 네트워크 관리자, 네트워크 엔지니어 |
CIDR 범위 할당을 검증합니다. |
| 일반 AWS, 네트워크 관리자, 네트워크 엔지니어 |
IP 주소 관리자를 모니터링합니다. | IP Address Manager 리소스 할당과 관련된 모니터링 및 경보를 구성합니다. 자세한 내용과 지침은 IP Address Manager 설명서의 Amazon CloudWatch로 IPAM 모니터링 및 리소스별 CIDR 사용량 모니터링을 참조하세요. | 일반 AWS |
IP 주소 관리자 사용을 적용합니다. | 조직의 구성원 AWS Organizations 이 VPC를 생성할 때 IP 주소 관리자를 사용하도록 요구하는에서 서비스 제어 정책(SCP)을 생성합니다. 지침은 IP 주소 관리자 설명서의 SCPs. | 일반 AWS, AWS 관리자 |
문제 해결
| 문제 | Solution |
|---|---|
IP Address Manager 리소스를 찾을 수 없는 상태에서 Terraform 실패 | IP Address Manager 관리자 계정이 제대로 위임되었고 AWS 공급자가 해당 계정에 인증되었는지 확인합니다. |
CIDR 범위 할당 실패 | 요청된 CIDR 범위가 IP Address Manager 풀의 사용 가능한 범위 내에 있고 기존 할당과 겹치지 않는지 확인합니다. |
AWS RAM 문제 공유 | AWS 조직에 리소스 공유가 활성화되어 있는지 확인합니다. 올바른 보안 주체인 조직 Amazon 리소스 이름(ARN)이 AWS RAM 공유에 사용되는지 확인합니다. |
풀 계층 구조 검증 오류 | 하위 풀 CIDR 범위가 상위 풀 CIDR 범위 내에 올바르게 포함되어 있고 형제 풀과 겹치지 않는지 확인합니다. |
IP 주소 관리자 할당량 한도 초과 | IP Address Manager 풀에 대한 할당량 증가를 요청합니다. 자세한 내용은 Service Quotas 사용 설명서의 할당량 증가 요청을 참조하세요. |
관련 리소스
AWS 서비스 설명서
AWS 블로그 게시물
자습서 및 동영상
추가 정보
와 통합
이 솔루션을 AWS Control Tower Account Factory for Terraform(AFT)과 통합하여 새로 프로비저닝된 계정이 적절한 네트워크 구성을 자동으로 수신하도록 할 수 있습니다. 네트워크 허브 계정에이 IPAM 솔루션을 배포하면 VPCs.
다음 코드 샘플은 AWS Systems Manager Parameter Store를 사용하여 계정 사용자 지정에서 AFT 통합을 보여줍니다.
# Get the IP Address Manager pool ID from Parameter Store data "aws_ssm_parameter" "dev_ipam_pool_id" { name = "/org/network/ipam/finance/dev/pool-id" } # Create a VPC using the IP Address Manager pool resource "aws_vpc" "this" { ipv4_ipam_pool_id = data.aws_ssm_parameter.dev_ipam_pool_id.value ipv4_netmask_length = 24 tags = { Name = "aft-account-vpc" } }
태그 지정 전략
이 솔루션은 포괄적인 태깅 전략을 구현하여 리소스 관리를 용이하게 합니다. 다음 코드 샘플은 사용 방법을 보여줍니다.
# Example tag configuration module "tags" { source = "./modules/tags" # Required tags product_name = "enterprise-network" feature_name = "ipam" org_id = "finance" business_unit = "network-operations" owner = "network-team" environment = "prod" repo = "https://github.com/myorg/ipam-terraform" branch = "main" cost_center = "123456" dr_tier = "tier1" # Optional tags optional_tags = { "project" = "network-modernization" "stack_role" = "infrastructure" } }
이러한 태그는 모든 IP Address Manager 리소스에 자동으로 적용됩니다. 이를 통해 일관된 거버넌스, 비용 할당 및 리소스 관리를 용이하게 합니다.