기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudFormation 사용자 지정 리소스와 Amazon SNS를 사용하여 Infoblox 객체를 생성
작성자: Tim Sutton(AWS)
요약
알림: AWS Cloud9 신규 고객은 더 이상를 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Cloud9 수 있습니다. 자세히 알아보기
Infoblox 도메인 이름 시스템(DNS), Dynamic Host Configuration Protocol(DHCP) 및 IP 주소 관리(Infoblox DDI
이 패턴은 Infoblox WAPI API를 직접 호출하여 AWS CloudFormation 사용자 지정 리소스를 사용하여 Infoblox 객체(예: DNS 레코드 또는 IPAM 객체)를 생성하는 방법을 설명합니다. Infoblox WAPI에 대한 자세한 내용은 Infoblox 설명서의 WAPI 설명서
이 패턴의 접근 방식을 사용하면 레코드를 생성하고 네트워크를 프로비저닝하는 수동 프로세스를 제거하는 것 외에도 AWS 및 온프레미스 환경의 DNS 레코드 및 IPAM 구성을 통합적으로 볼 수 있습니다. 다음과 같은 사용 사례에서 이 패턴의 접근 방식을 사용할 수 있습니다.
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 생성한 후 A 레코드 추가
Application Load Balancer를 생성한 후 CNAME 레코드 추가
Virtual Private Cloud(VPC) 생성 후 네트워크 객체 추가
다음 네트워크 범위를 제공하고 해당 범위를 사용하여 서브넷을 생성
또한 이 패턴을 확장하여 다른 DNS 레코드 유형 추가 또는 Infoblox vDiscovery 구성과 같은 다른 Infoblox 장치 기능을 사용할 수 있습니다.
이 패턴은 허브가 AWS 클라우드 또는 온프레미스의 Infoblox 어플라이언스에 연결되어야 하고 AWS Lambda를 사용하여 Infoblox API를 직접 호출하는 허브 앤 스포크 디자인을 사용합니다. 스포크는 AWS Organizations의 동일한 조직 내 동일하거나 다른 계정에 있으며, AWS CloudFormation 사용자 지정 리소스를 사용하여 Lambda 함수를 직접 호출합니다.
사전 조건 및 제한 사항
사전 조건
AWS 클라우드, 온프레미스 또는 둘 다에 설치되고 IPAM 및 DNS 작업을 관리할 수 있는 관리자 사용자로 구성된 기존 Infoblox 어플라이언스 또는 그리드. 자세한 내용은 Infoblox 설명서의 관리자 계정 정보
를 참조하세요. Infoblox 어플라이언스에 레코드를 추가하려는 기존 DNS 권한 영역. 이에 대한 자세한 내용은 Infoblox 설명서의 신뢰할 수 있는 영역 구성
을 참조하세요. AWS Organizations의 활성 AWS 계정 2개. 한 계정은 허브 계정이고 다른 계정은 스포크 계정이어야 합니다.
CMK는 동일한 AWS 계정 및 리전에 있어야 합니다.
허브 계정의 VPC는 Infoblox 어플라이언스에 연결해야 합니다.(예: AWS Transit Gateway 또는 VPC 피어링 사용)
AWS Serverless Application Model(AWS SAM), AWS Cloud9 또는 AWS CloudShell로 로컬에서 설치 및 구성됨.
AWS SAM이 포함된 로컬 환경에 다운로드된
Infoblox-Hub.zip
및ClientTest.yaml
파일(첨부).
제한 사항
AWS CloudFormation 사용자 지정 리소스의 서비스 토큰은 스택이 생성된 리전과 동일한 리전에서 가져와야 합니다. 한 리전에서 Amazon Simple Notification Service(SNS) 주제를 생성하고 다른 리전에서 Lambda 함수를 직접 호출하는 대신 각 리전에서 허브 계정을 사용하는 것이 좋습니다.
제품 버전
Infoblox API 버전 2.7
아키텍처
다음 다이어그램은 이 워크플로를 보여 줍니다.

이 패턴 솔루션의 다음 구성 요소를 보여주는 다이어그램입니다.
AWS CloudFormation 사용자 지정 리소스를 사용하면 스택을 생성, 업데이트(사용자 지정 리소스를 변경한 경우) 또는 삭제할 때마다 AWS CloudFormation에서 실행하는 템플릿에서 사용자 지정 프로비저닝 로직을 작성할 수 있습니다. 예를 들어, 스택을 생성할 때 AWS CloudFormation은 EC2 인스턴스에서 실행 중인 애플리케이션이 모니터링하는 SNS 주제에
create
요청을 전송할 수 있습니다.AWS CloudFormation 사용자 지정 리소스의 Amazon SNS 알림은 특정 AWS Key Management Service(AWS KMS) 키를 통해 암호화되며, Organizations에 있는 조직의 계정으로만 액세스할 수 있습니다. SNS 주제는 Infoblox WAPI API를 직접 호출하는 Lambda 리소스를 시작합니다.
Amazon SNS는 Infoblox의 WAPI URL, 사용자 이름, 암호 AWS Secrets Manager Amazon 리소스 이름(ARN)을 환경 변수로 사용하는 다음과 같은 Lambda 함수를 간접적으로 호출합니다.
dnsapi.lambda_handler
– AWS CloudFormation 사용자 지정 리소스로부터DNSName
,DNSType
,DNSValue
값을 수신하고 이를 사용하여 DNS A 레코드 및 CNAME을 생성합니다.ipaddr.lambda_handler
– AWS CloudFormation 사용자 지정 리소스로부터VPCCIDR
,Type
,SubnetPrefix
,Network Name
값을 수신하고 이를 사용하여 네트워크 데이터를 Infoblox IPAM 데이터베이스에 추가하거나 새 서브넷을 생성하는 데 사용할 수 있는 다음 가용 네트워크와 함께 사용자 지정 리소스를 제공합니다.describeprefixes.lambda_handler
–"com.amazonaws."+Region+".s3"
필터를 사용하여 필요한prefix ID
을(를) 검색하고describe_managed_prefix_lists
AWS API를 직접 호출합니다.
중요
이러한 Lambda 함수는 Python으로 작성되며 서로 비슷하지만 서로 다른 APIs.
Infoblox 그리드를 물리적, 가상 또는 클라우드 기반 네트워크 어플라이언스로 배포할 수 있습니다. 온프레미스로 배포하거나 VMware ESXi, Microsoft Hyper-V, Linux KVM 및 Xen을 비롯한 다양한 하이퍼바이저를 사용하여 가상 어플라이언스로 배포할 수 있습니다. Amazon Machine Image(AMI)를 사용하여 AWS 클라우드에 Infoblox 그리드를 배포할 수도 있습니다.
다음 다이어그램은 AWS 클라우드와 온프레미스의 리소스에 DNS와 IPAM을 제공하는 Infoblox 그리드용 하이브리드 솔루션을 보여줍니다.
기술 스택
AWS CloudFormation
IAM
KMS
AWS Lambda
AWS SAM
AWS Secrets Manager
Amazon SNS
Amazon VPC
도구
AWS CloudFormation을 사용하면 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, 전체 AWS 계정 및 리전에서 수명 주기 전반에 걸쳐 관리할 수 있습니다.
AWS Identity and Access Management(IAM)를 사용하면 사용자에 대해 인증 및 권한 부여를 제어함으로써 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.
AWS Key Management Service(AWS KMS)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.
AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.
AWS Organizations는 사용자가 생성하고 중앙에서 관리하는 조직으로 여러 AWS 계정을 통합할 수 있는 계정 관리 서비스입니다.
AWS Secrets Manager를 사용하면 코드에 하드코딩된 보안 인증 정보(암호 등)를 Secrets Manager에 대한 API 직접 호출로 바꾸어 프로그래밍 방식으로 보안 암호를 검색할 수 있습니다.
AWS Serverless Application Model(AWS SAM)은 AWS 클라우드에서 서버리스 애플리케이션을 구축하는 데 사용할 수 있는 오픈소스 프레임워크입니다.
Amazon Simple Notification Service(Amazon SNS)를 사용하면 웹 서버 및 이메일 주소를 포함하여 게시자와 클라이언트 간의 메시지 교환을 조정하고 관리할 수 있습니다.
Amazon Virtual Private Cloud(VPC)를 사용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 사용자의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사하며 AWS의 확장 가능한 인프라를 사용한다는 이점이 있습니다.
코드
ClientTest.yaml
샘플 AWS CloudFormation 템플릿(첨부)을 사용하여 Infoblox 허브를 테스트할 수 있습니다. 다음 테이블의 사용자 지정 리소스를 포함하도록 AWS CloudFormation 템플릿을 사용자 지정할 수 있습니다.
Infoblox 스포크 사용자 지정 리소스를 사용하여 A 레코드를 생성 | 반환 값:
리소스 예제:
|
Infoblox 스포크 사용자 지정 리소스를 사용하여 CNAME 레코드 생성 | 반환 값:
리소스 예제:
|
Infoblox 스포크 사용자 지정 리소스를 사용하여 네트워크 개체 생성 | 반환 값:
리소스 예제:
|
Infoblox 스포크 사용자 지정 리소스를 사용하여 다음의 사용 가능한 서브넷을 검색 | 반환 값:
리소스 예제:
|
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
Infoblox 어플라이언스에 연결하여 VPC를 생성합니다. | 허브 계정을 위한 AWS Management Console에 로그인하고 AWS Quick Start의 AWS 클라우드 퀵 스타트 참조 배포의 Amazon VPC 중요VPC에는 Infoblox 어플라이언스에 대한 HTTPS 연결이 있어야 하며이 연결에는 프라이빗 서브넷을 사용하는 것이 좋습니다. | 네트워크 관리자, 시스템 관리자 |
(선택 사항)프라이빗 서브넷을 위한 VPC 엔드포인트를 생성하세요. | VPC 엔드포인트는 프라이빗 서브넷에 퍼블릭 서비스에 대한 연결을 제공합니다. 다음 엔드포인트는 필수 엔드포인트입니다.
프라이빗 서브넷용 엔드포인트를 생성하는 방법에 대한 자세한 내용은 Amazon VPC 설명서의 VPC 엔드포인트 섹션을 참조하세요. | 네트워크 관리자, 시스템 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS SAM 템플릿을 구축하세요. |
| 개발자, 시스템 관리자 |
AWS SAM 템플릿을 배포하세요. |
다음 샘플 코드는 AWS SAM 템플릿을 배포하는 방법을 보여줍니다.
중요Infoblox 로그인 자격 증명은 | 개발자, 시스템 관리자 |
관련 리소스
Postman을 사용하여 WAPI 시작하기
(Infoblox 블로그) BYOL 모델을 사용한 AWS용 vNIOS 프로비저닝
(Infoblox 설명서) quickstart-aws-vpc
(GitHub 리포지토리) describe_managed_prefix_lists
(AWS SDK for Python 설명서)
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.