翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation カスタムリソースと Amazon を使用して Infoblox オブジェクトを作成する SNS
作成者: Tim Sutton (AWS)
概要
注意: AWS Cloud9 は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Cloud9 引き続き使用できます。詳細はこちら
Infoblox ドメインネームシステム (DNS)、動的ホスト設定プロトコル (DHCP)、および IP アドレス管理 (Infoblox DDI
このパターンでは、Infoblox を呼び出して、AWS CloudFormation カスタムリソースを使用して Infoblox オブジェクト (DNSレコードやIPAMオブジェクトなど) を作成する方法について説明しますWAPIAPI。Infoblox の詳細についてはWAPI、Infoblox WAPIドキュメント
このパターンのアプローチを使用すると、DNSレコードを作成してネットワークをプロビジョニングする手動プロセスを削除するだけでなく、 AWS とオンプレミス環境のレコードとIPAM設定を一元的に表示できます。このパターンのアプローチは、以下のユースケースに使用できます。
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成した後の A レコードの追加
Application Load Balancer を作成した後のCNAMEレコードの追加
仮想プライベートクラウドを作成した後のネットワークオブジェクトの追加 (VPC)
次のネットワーク範囲を指定し、その範囲を使用してサブネットを作成する
このパターンを拡張し、異なるDNSレコードタイプの追加や Infoblox の設定など、他の Infoblox デバイス機能を使用することもできますvDiscovery。
このパターンでは、 hub-and-spokeハブが AWS クラウドまたはオンプレミスの Infoblox アプライアンスへの接続を必要とし、AWSLambda を使用して Infoblox を呼び出す設計を使用しますAPI。スポークは、AWSOrganizations の同じ組織内の同じアカウントまたは別のアカウントにあり、AWS CloudFormation カスタムリソースを使用して Lambda 関数を呼び出します。
前提条件と制限
前提条件
AWS クラウド、オンプレミス、またはその両方にインストールされ、 IPAM および DNSアクションを管理できる管理者ユーザーで設定された既存の Infoblox アプライアンスまたはグリッド。詳細については、Infoblox ドキュメントの「管理者アカウントについて
」を参照してください。 Infoblox アプライアンスにレコードを追加する既存のDNS権限ゾーン。詳細については、Infoblox ドキュメントの「権限のあるゾーンの設定
」を参照してください。 AWS Organizations の 2 つのアクティブなAWSアカウント。1 つのアカウントはハブアカウントで、もう 1 つのアカウントはスポークアカウントです。
ハブアカウントとスポークアカウントは同じAWSリージョンに存在する必要があります。
ハブアカウントの は、AWSTransit Gateway やVPCピアリングなどを使用して Infoblox アプライアンスに接続VPCする必要があります。
AWS サーバーレスアプリケーションモデル (AWSSAM)。ローカルにインストールされ、AWSCloud9 または で設定されますAWS CloudShell。
Infoblox-Hub.zip
およびClientTest.yaml
ファイル (添付)AWS。 を含むローカル環境にダウンロードされますSAM。
機能制限
AWS CloudFormation カスタムリソースのサービストークンは、スタックが作成されるのと同じリージョンからのものである必要があります。あるリージョンで Amazon Simple Notification Service (Amazon SNS) トピックを作成し、別のリージョンで Lambda 関数を呼び出す代わりに、各リージョンでハブアカウントを使用することをお勧めします。
製品バージョン
Infoblox WAPIバージョン 2.7
アーキテクチャ
以下の図表に、このパターンのワークフローを示しています。

この図は、このパターンのソリューションを構成する以下のコンポーネントを示しています。
AWS CloudFormation カスタムリソースを使用すると、スタックの作成、更新、または削除時にAWS CloudFormation 実行されるテンプレートにカスタムプロビジョニングロジックを記述できます。スタックを作成すると、 は、EC2インスタンスで実行されているアプリケーションによってモニタリングされる SNSトピックに
create
リクエストAWS CloudFormation を送信します。AWS CloudFormation カスタムリソースからの Amazon SNS通知は、特定の AWS Key Management Service (AWS KMS) キーを使用して暗号化され、アクセスは Organizations の組織内のアカウントに制限されます。SNS トピックは、Infoblox を呼び出す Lambda リソースを開始しますWAPIAPI。
Amazon は、Infoblox WAPIURL、ユーザー名、パスワード AWS Secrets Manager Amazon リソースネーム (ARNs) を環境変数として取る次の Lambda 関数をSNS呼び出します。
dnsapi.lambda_handler
– AWS CloudFormation カスタムリソースからDNSName
、DNSType
、およびDNSValue
の値を受け取り、これらを使用して DNS A レコードと を作成しますCNAMES。ipaddr.lambda_handler
– AWS CloudFormation カスタムリソースからVPCCIDR
、Type
、、およびNetwork Name
の値を受け取りSubnetPrefix
、これらを使用してネットワークデータを Infoblox IPAM データベースに追加するか、新しいサブネットの作成に使用できる次に利用可能なネットワークをカスタムリソースに提供します。describeprefixes.lambda_handler
–"com.amazonaws."+Region+".s3"
フィルターdescribe_managed_prefix_lists
AWSAPIを使用して を呼び出し、必要な を取得しますprefix ID
。
重要
これらの Lambda 関数は Python で記述され、互いに似ていますが、異なる を呼び出しますAPIs。
Infoblox グリッドは、物理、仮想、またはクラウドベースのネットワークアプライアンスとしてデプロイできます。 オンプレミスでデプロイすることも、、、Microsoft Hyper-V、LinuxESXi、KVMXen VMware などのさまざまなハイパーバイザーを使用して仮想アプライアンスとしてデプロイすることもできます。Amazon マシンイメージ () を使用して、Infoblox グリッドを AWS クラウドにデプロイすることもできますAMI。
この図は、 AWS クラウドとオンプレミスのリソースIPAMに DNSと を提供する 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アカウントを統合するのに役立つアカウント管理サービスです。
AWS Secrets Manager は、パスワードを含むコード内のハードコードされた認証情報を Secrets Manager へのAPI呼び出しに置き換えて、プログラムでシークレットを取得するのに役立ちます。
AWS サーバーレスアプリケーションモデル (AWSSAM) は、 AWS クラウドでサーバーレスアプリケーションを構築するのに役立つオープンソースフレームワークです。
Amazon Simple Notification Service (Amazon SNS) は、ウェブサーバーや E メールアドレスなど、パブリッシャーとクライアント間のメッセージ交換の調整と管理に役立ちます。
Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークでAWSリソースを起動するのに役立ちます。この仮想ネットワークは、ユーザー自身のデータセンターで運用されていた従来のネットワークと似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるという利点があります。
コード
ClientTest.yaml
サンプルAWS CloudFormation テンプレート (添付) を使用して、Infoblox ハブをテストできます。テンプレートをカスタマイズAWS CloudFormation して、次の表のカスタムリソースを含めることができます。
Infoblox スポークカスタムリソースを使用して A レコードを作成します。 | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用してCNAMEレコードを作成する | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用してネットワークオブジェクトを作成します。 | 戻り値:
リソースの例:
|
Infoblox スポークカスタムリソースを使用して、次に使用可能なサブネットを取得します。 | 戻り値:
リソースの例:
|
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
Infoblox アプライアンスVPCに接続する を作成します。 | ハブアカウントの AWSマネジメントコンソールにサインインしVPC、「Amazon VPC on the AWS Cloud Quick Start reference deployment 重要には Infoblox アプライアンスHTTPSへの接続VPCが必要です。この接続にはプライベートサブネットを使用することをお勧めします。 | ネットワーク管理者、システム管理者 |
(オプション) プライベートサブネットのVPCエンドポイントを作成します。 | VPC エンドポイントは、プライベートサブネットのパブリックサービスへの接続を提供します。次のエンドポイントが必要です。
プライベートサブネットのエンドポイントの作成の詳細については、Amazon VPCドキュメントの「 VPCエンドポイント」を参照してください。 | ネットワーク管理者、システム管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS SAM テンプレートを構築します。 |
| 開発者、システム管理者 |
AWS SAM テンプレートをデプロイします。 |
次のサンプルコードは、AWSSAMテンプレートをデプロイする方法を示しています。
重要Infoblox のサインイン認証情報は | 開発者、システム管理者 |
関連リソース
Postman WAPIsの使用開始
(Infoblox ブログ) BYOL モデルAWSを使用するためのプロビジョニング vNIOS
(Infoblox ドキュメント) quickstart-aws-vpc
(GitHub リポジトリ) describe_managed_prefix_lists
(AWSPython ドキュメントSDK用)
添付ファイル
このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip」