翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation カスタムリソースと Amazon SNS を使用して Infoblox オブジェクトを作成します。
ティム・サットン (AWS) によって作成された
概要
注意: AWS Cloud9 は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Cloud9 引き続き使用できます。詳細はこちら
Infoblox ドメインネームシステム (DNS)、Dynamic Host Configuration Protocol (DHCP)、IP アドレス管理 (Infoblox DDI
このパターンでは、AWS CloudFormation カスタムリソースを使用して Infoblox WAPI API を呼び出して Infoblox オブジェクト (DNS レコードや IP アドレス管理オブジェクトなど) を作成する方法を説明します。Infoblox WAPI の詳細については、Infoblox ドキュメントの「WAPI ドキュメント
このパターンのアプローチを使用すると、レコードを作成してネットワークをプロビジョニングする手動プロセスを排除できるだけでなく、AWS 環境とオンプレミス環境のDNSレコードとIPAM構成を一元的に把握できます。このパターンのアプローチは、以下のユースケースに使用できます。
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成した後で A レコードを追加する
Application Load Balancer の作成後の CNAME レコードの追加
仮想プライベートクラウド (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 内の 2 つのアクティブな AWS アカウント。1 つのアカウントはハブアカウントで、もう 1 つのアカウントはスポークアカウントです。
このハブとスポークアカウントは同じ AWS リージョンに存在する必要があります。
ハブアカウントの VPC は、たとえば AWS Transit Gateway や VPC ピアリングを使用して Infoblox アプライアンスに接続する必要があります。
「AWS サーバーレスアプリケーションモデル (AWS SAM)」を、ローカルにインストールし、AWS Cloud9 または AWS CloudShell で設定します。
Infoblox-Hub.zip
およびClientTest.yaml
ファイル(添付)は、AWS SAM を含むローカル環境にダウンロードされます。
機能制限
AWS CloudFormation カスタムリソースのサービストークンは、作成しているスタックと同じリージョンのものである必要があります。あるリージョンで Amazon Simple Notification Service (Amazon 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 IP アドレス管理データベースに追加したり、新しいサブネットの作成に使用できる次に使用可能なネットワークをカスタムリソースに提供したりします。describeprefixes.lambda_handler
—"com.amazonaws."+Region+".s3"
フィルタを使用してdescribe_managed_prefix_lists
AWS API を呼び出し、必要なprefix ID
を取得します。
重要
これらの Lambda 関数は Python で記述され、互いに似ていますが、異なる APIs。
Infoblox グリッドは、物理、仮想、またはクラウドベースのネットワークアプライアンスとしてデプロイできます。 オンプレミスで導入することも、VMware ESXi、Microsoft Hyper-V、Linux KVM、Xenなどのさまざまなハイパーバイザーを使用して仮想アプライアンスとして導入することもできます。Amazon マシンイメージ (AMI) を使用して Infoblox グリッドを AWS クラウドにデプロイすることもできます。
この図は、AWS クラウドとオンプレミスのリソースに DNS と IPAM を提供する Infoblox グリッドのハイブリッドソリューションを示しています。
テクノロジースタック
AWS CloudFormation
IAM
AWS 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 アカウントを 1 つの組織に統合し、作成と一元管理するためのアカウント管理サービスです。
AWS Secrets Manager は、コード内のハードコードされた認証情報 (パスワードを含む) を Secrets Manager への API コールに置き換えて、シークレットをプログラムで取得する上で役立ちます。
「AWS サーバーレスアプリケーションモデル (AWS SAM)」 は、 AWS クラウドのサーバーレスアプリケーションを構築するために支援するオープンソースフレームワークです。
「Amazon Simple Notification Service (Amazon SNS)」は、ウェブサーバーやメールアドレスなど、パブリッシャーとクライアント間のメッセージの交換を調整および管理するのに役立ちます。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
コード
ClientTest.yaml
サンプル AWS CloudFormation テンプレート (添付) を使用して Infoblox ハブをテストできます。AWS CloudFormation テンプレートをカスタマイズして、次の表のカスタムリソースを含めることができます。
Infoblox スポークカスタムリソースを使用して A レコードを作成します。 | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用して CNAME レコードを作成します。 | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用してネットワークオブジェクトを作成します。 | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用して、次に使用可能なサブネットを取得します。 | 戻り値:
リソースの例:
|
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
Infoblox アプライアンスに接続する VPC を作成します。 | ハブアカウントの AWS マネジメントコンソールにサインインし、AWS クイックスタートの「AWS クラウドクイックスタートリファレンスデプロイの Amazon VPC 重要VPC には Infoblox アプライアンスへの HTTPS 接続が必要です。この接続にはプライベートサブネットを使用することをお勧めします。 | ネットワーク管理者、システム管理者 |
(オプション) プライベートサブネット用の VPC エンドポイントを作成します。 | VPC エンドポイントは、プライベートサブネットのパブリックサービスへの接続を提供します。次のエンドポイントが必要です。
プライベートサブネット用のエンドポイント作成の詳細については、Amazon VPC ドキュメントの「VPC エンドポイント」を参照してください。 | ネットワーク管理者、システム管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS SAM テンプレートをビルドします。 |
| 開発者、システム管理者 |
AWS SAM テンプレートをデプロイします。 |
次のサンプルコードは、AWS SAM テンプレートをデプロイする方法を示しています。
重要Infoblox サインイン認証情報は | 開発者、システム管理者 |
関連リソース
Postman を使用して API を使い始める
(Infoblox ブログ) BYOL モデルを使用した AWS 向けの VNIO のプロビジョニング
(Infoblox ドキュメント) クイックスタート-AWS-VPC
(GitHub リポジトリ) describe_managed_prefix_lists
(AWS SDK for Python)
添付ファイル
このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip」