

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat objek Infoblox menggunakan sumber daya CloudFormation khusus AWS dan Amazon SNS
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns"></a>

*Tim Sutton, Amazon Web Services*

## Ringkasan
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-summary"></a>

**Pemberitahuan**: AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. [Pelajari selengkapnya](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Infoblox Domain Name System (DNS), Dynamic Host Configuration Protocol (DHCP), dan manajemen alamat IP ([Infoblox DDI](https://www.infoblox.com/products/ddi/)) memungkinkan Anda untuk memusatkan dan mengontrol lingkungan hybrid yang kompleks secara efisien. Dengan Infoblox DDI, Anda dapat menemukan dan merekam semua aset jaringan dalam satu database manajemen alamat IP otoritatif (IPAM), selain mengelola DNS di tempat dan di Amazon Web Services (AWS) Cloud dengan menggunakan peralatan yang sama.

Pola ini menjelaskan cara menggunakan sumber daya CloudFormation khusus AWS untuk membuat objek Infoblox (misalnya, catatan DNS atau objek IPAM) dengan memanggil Infoblox WAPI API. Untuk informasi selengkapnya tentang WAPI Infoblox, lihat dokumentasi WAPI di [dokumentasi](https://www.infoblox.com/wp-content/uploads/infoblox-deployment-infoblox-rest-api.pdf) Infoblox.

Dengan menggunakan pendekatan pola ini, Anda dapat memperoleh tampilan terpadu dari catatan DNS dan konfigurasi IPAM untuk AWS dan lingkungan lokal, selain menghapus proses manual yang membuat catatan dan menyediakan jaringan Anda. Anda dapat menggunakan pendekatan pola ini untuk kasus penggunaan berikut:
+ Menambahkan catatan A setelah membuat instance Amazon Elastic Compute Cloud (Amazon EC2) 
+ Menambahkan catatan CNAME setelah membuat Application Load Balancer
+ Menambahkan objek jaringan setelah membuat virtual private cloud (VPC)
+ Menyediakan rentang jaringan berikutnya dan menggunakan rentang itu untuk membuat subnet

Anda juga dapat memperluas pola ini dan menggunakan fitur perangkat Infoblox lainnya seperti menambahkan jenis catatan DNS yang berbeda atau mengonfigurasi Infoblox vDiscovery. 

Pola ini menggunakan hub-and-spoke desain di mana hub memerlukan konektivitas ke alat Infoblox di AWS Cloud atau di tempat dan menggunakan AWS Lambda untuk memanggil Infoblox API. Spoke berada di akun yang sama atau berbeda di organisasi yang sama di AWS Organizations, dan memanggil fungsi Lambda dengan menggunakan sumber daya CloudFormation khusus AWS.

## Prasyarat dan batasan
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-prereqs"></a>

**Prasyarat**
+ Alat atau kisi Infoblox yang ada, diinstal di AWS Cloud, di tempat, atau keduanya, dan dikonfigurasi dengan pengguna admin yang dapat mengelola tindakan IPAM dan DNS. Untuk informasi selengkapnya tentang ini, lihat [Tentang akun admin](https://docs.infoblox.com/display/nios86/About+Admin+Accounts) di dokumentasi Infoblox. 
+ Zona otoritatif DNS yang ada yang ingin Anda tambahkan catatan pada alat Infoblox. Untuk informasi selengkapnya tentang ini, lihat [Mengonfigurasi zona otoritatif dalam dokumentasi](https://docs.infoblox.com/display/nios86/Configuring+Authoritative+Zones) Infoblox.  
+ Dua akun AWS aktif di AWS Organizations. Satu akun adalah akun hub dan akun lainnya adalah akun spoke.
+ Akun hub dan spoke harus berada di Wilayah AWS yang sama. 
+ VPC akun hub harus terhubung ke alat Infoblox; misalnya, dengan menggunakan AWS Transit Gateway atau peering VPC.
+ [AWS Serverless Application Model (AWS SAM), diinstal dan dikonfigurasi secara lokal dengan AWS](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) Cloud9 atau AWS. CloudShell
+ `ClientTest.yaml`File `Infoblox-Hub.zip` dan (terlampir), diunduh ke lingkungan lokal yang berisi AWS SAM.

**Batasan**
+ Token layanan sumber daya CloudFormation khusus AWS harus berasal dari Wilayah yang sama tempat tumpukan dibuat. Sebaiknya gunakan akun hub di setiap Wilayah, alih-alih membuat topik Amazon Simple Notification Service (Amazon SNS) di satu Wilayah dan memanggil fungsi Lambda di Wilayah lain.

**Versi produk**
+ Infoblox WAPI versi 2.7

## Arsitektur
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-architecture"></a>

Diagram berikut menunjukkan alur kerja pola ini. 

![\[Membuat objek Infoblox menggunakan sumber daya CloudFormation khusus AWS dan Amazon SNS.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/8d609d3f-6f5e-4084-849f-ca191db8055e/images/3594a064-e103-4211-84b7-da67c41ebb15.png)


Diagram menunjukkan komponen-komponen berikut untuk solusi pola ini:

1. Sumber daya CloudFormation khusus AWS memungkinkan Anda menulis logika penyediaan khusus dalam templat yang CloudFormation dijalankan AWS saat Anda membuat, memperbarui, atau menghapus tumpukan. Saat Anda membuat tumpukan, AWS CloudFormation mengirimkan `create` permintaan ke topik SNS yang dipantau oleh aplikasi yang berjalan pada instance EC2 .

1. Pemberitahuan Amazon SNS dari sumber daya CloudFormation khusus AWS dienkripsi melalui kunci AWS Key Management Service (AWS KMS) tertentu dan akses dibatasi ke akun di organisasi Anda di Organizations. Topik SNS memulai sumber daya Lambda yang memanggil API WAPI Infoblox.

1. Amazon SNS memanggil fungsi Lambda berikut yang menggunakan URL WAPI Infoblox, nama pengguna, dan kata sandi AWS Secrets Manager Amazon Resource Names () sebagai variabel lingkungan: ARNs 
   + `dnsapi.lambda_handler`— Menerima`DNSName`,`DNSType`, dan `DNSValue` nilai dari sumber daya CloudFormation khusus AWS dan menggunakannya untuk membuat catatan DNS A dan CNAMES.
   + `ipaddr.lambda_handler`— Menerima `VPCCIDR``Type`,`SubnetPrefix`,, dan `Network Name` nilai dari sumber daya CloudFormation khusus AWS dan menggunakannya untuk menambahkan data jaringan ke dalam database IPAM Infoblox atau menyediakan sumber daya khusus dengan jaringan berikutnya yang tersedia yang dapat digunakan untuk membuat subnet baru.
   + `describeprefixes.lambda_handler`— Memanggil `describe_managed_prefix_lists` AWS API dengan menggunakan `"com.amazonaws."+Region+".s3"` filter untuk mengambil yang diperlukan`prefix ID`.
**penting**  
Fungsi Lambda ini ditulis dengan Python dan mirip satu sama lain tetapi panggilan berbeda. APIs

1. Anda dapat menerapkan grid Infoblox sebagai peralatan jaringan fisik, virtual, atau berbasis cloud.  Ini dapat digunakan di tempat atau sebagai alat virtual menggunakan berbagai hypervisor, termasuk, VMware ESXi Microsoft Hyper-V, Linux KVM, dan Xen. Anda juga dapat menerapkan kisi Infoblox di AWS Cloud dengan Amazon Machine Image (AMI).

1. Diagram menunjukkan solusi hybrid untuk grid Infoblox yang menyediakan DNS dan IPAM ke sumber daya di AWS Cloud dan di tempat.

**Tumpukan teknologi**
+ AWS CloudFormation
+ IAM
+ AWS KMS
+ AWS Lambda
+ AWS SAM
+ AWS Secrets Manager
+ Amazon SNS
+ Amazon VPC 

## Alat
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) membantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh akun dan Wilayah AWS.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) adalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) adalah layanan manajemen akun yang membantu Anda mengkonsolidasikan beberapa akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.
+ [AWS Serverless Application Model (AWS SAM) adalah kerangka kerja sumber terbuka yang membantu Anda membangun aplikasi](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) tanpa server di AWS Cloud.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur AWS yang dapat diskalakan.

**Kode**

Anda dapat menggunakan `ClientTest.yaml` contoh CloudFormation template AWS (terlampir) untuk menguji hub Infoblox. Anda dapat menyesuaikan CloudFormation template AWS untuk menyertakan sumber daya khusus dari tabel berikut.


|  | 
| --- |
| Buat catatan A menggunakan sumber daya kustom Infoblox spoke | Mengembalikan nilai: `infobloxref `— Referensi InfobloxContoh sumber daya:

```
ARECORDCustomResource:

  Type: "Custom::InfobloxAPI"

  Properties:

    ServiceToken: !Sub  arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxDNSFunction

    DNSName: 'arecordtest.company.com'

    DNSType: 'ARecord' 

    DNSValue: '10.0.0.1'
``` | 
| --- |--- |
| Buat catatan CNAME menggunakan sumber daya kustom Infoblox spoke | **Mengembalikan nilai**: `infobloxref `— Referensi Infoblox**Contoh sumber daya**:<pre>CNAMECustomResource:<br /><br />  Type: "Custom::InfobloxAPI"<br /><br />  Properties:<br /><br />    ServiceToken: !Sub arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfoblox    <br /><br />    DNSFunction<br /><br />    DNSName: 'cnametest.company.com'<br /><br />    DNSType: 'cname' <br /><br />    DNSValue: 'aws.amazon.com'</pre> | 
| Buat objek jaringan menggunakan sumber daya kustom Infoblox spoke | **Mengembalikan nilai:**`infobloxref `— Referensi Infoblox`network`— Jangkauan jaringan (sama seperti`VPCCIDR`)**Contoh sumber daya:**<pre>VPCCustomResource:<br /><br />  Type: 'Custom::InfobloxAPI'<br /><br />  Properties:<br /><br />    ServiceToken: !Sub  arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxNextSubnetFunction<br /><br />    VPCCIDR: !Ref VpcCIDR<br /><br />    Type: VPC<br /><br />    NetworkName: My-VPC</pre> | 
| Ambil subnet berikutnya yang tersedia menggunakan sumber daya kustom Infoblox spoke | **Mengembalikan nilai:**`infobloxref`— Referensi Infoblox`network `— Jangkauan jaringan subnet**Contoh sumber daya:**<pre>Subnet1CustomResource:<br /><br />  Type: 'Custom::InfobloxAPI'<br /><br />  DependsOn: VPCCustomResource<br /><br />  Properties:<br /><br />    ServiceToken: !Sub  arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxNextSubnetFunction<br /><br />    VPCCIDR: !Ref VpcCIDR<br /><br />    Type: Subnet<br /><br />    SubnetPrefix: !Ref SubnetPrefix<br /><br />NetworkName: My-Subnet</pre> | 

## Epik
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-epics"></a>

### Buat dan konfigurasikan VPC akun hub
<a name="create-and-configure-the-hub-accountrsquor-s-vpc"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat VPC dengan koneksi ke alat Infoblox. | Masuk ke AWS Management Console untuk akun hub Anda dan buat VPC dengan mengikuti langkah-langkah di Amazon [VPC pada penerapan referensi AWS Cloud Quick Start dari AWS Quick](https://aws-quickstart.github.io/quickstart-aws-vpc/) Starts.VPC harus memiliki konektivitas HTTPS ke alat Infoblox dan kami menyarankan Anda menggunakan subnet pribadi untuk koneksi ini. | Administrator jaringan, Administrator sistem | 
| (Opsional) Buat titik akhir VPC untuk subnet pribadi.  | Endpoint VPC menyediakan konektivitas ke layanan publik untuk subnet pribadi Anda. Titik akhir berikut diperlukan:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns.html)Untuk informasi selengkapnya tentang membuat titik akhir untuk subnet pribadi, lihat [titik akhir VPC VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html) di dokumentasi Amazon VPC. | Administrator jaringan, Administrator sistem | 

### Menyebarkan hub Infoblox
<a name="deploy-the-infoblox-hub"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Bangun template AWS SAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns.html) | Pengembang, Administrator sistem | 
| Terapkan template AWS SAM. | `sam deploy`Perintah mengambil parameter yang diperlukan dan menyimpannya ke dalam `samconfig.toml` file, menyimpan CloudFormation template AWS dan fungsi Lambda dalam bucket S3, dan kemudian menerapkan template CloudFormation AWS ke akun hub Anda.  Contoh kode berikut menunjukkan cara menerapkan template AWS SAM:<pre>$ sam deploy --guided<br /><br />Configuring SAM deploy<br />======================<br />        Looking for config file [samconfig.toml] :  Found<br />        Reading default arguments  :  Success<br />        Setting default arguments for 'sam deploy'<br />        =========================================<br />        Stack Name [Infoblox-Hub]:<br />        AWS Region [eu-west-1]:<br />        Parameter InfobloxUsername:<br />        Parameter InfobloxPassword:<br />        Parameter InfobloxIPAddress [xxx.xxx.xx.xxx]:<br />        Parameter AWSOrganisationID [o-xxxxxxxxx]:<br />        Parameter VPCID [vpc-xxxxxxxxx]:<br />        Parameter VPCCIDR [xxx.xxx.xxx.xxx/16]:<br />        Parameter VPCSubnetID1 [subnet-xxx]:<br />        Parameter VPCSubnetID2 [subnet-xxx]:<br />        Parameter VPCSubnetID3 [subnet-xxx]:<br />        Parameter VPCSubnetID4 []: <br />        #Shows you resources changes to be deployed and require a 'Y' to initiate deploy<br />        Confirm changes before deploy [Y/n]: y<br />        #SAM needs permission to be able to create roles to connect to the resources in your template<br />Allow SAM CLI IAM role creation [Y/n]: n<br />Capabilities [['CAPABILITY_NAMED_IAM']]:<br />        Save arguments to configuration file [Y/n]: y<br />        SAM configuration file [samconfig.toml]:<br />        SAM configuration environment [default]: </pre>Anda harus menggunakan `--guided` opsi ini setiap kali karena kredenal masuk Infoblox tidak disimpan dalam file. `samconfig.toml` | Pengembang, Administrator sistem | 

## Sumber daya terkait
<a name="create-infoblox-objects-using-aws-cloudformation-custom-resources-and-amazon-sns-resources"></a>
+ [Memulai dengan WAPIs menggunakan Postman](https://blogs.infoblox.com/community/getting-started-with-wapis-using-postman/) (Infoblox Blog)
+ [Penyediaan VNIO untuk AWS Menggunakan Model BYOL (dokumentasi Infoblox](https://docs.infoblox.com/display/NAIG/Provisioning+vNIOS+for+AWS+Using+the+BYOL+Model))
+ [quickstart-aws-vpc](https://github.com/aws-quickstart/quickstart-aws-vpc)(GitHub repo)
+ [describe\$1managed\$1prefix\$1lists (AWS](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_managed_prefix_lists) SDK untuk dokumentasi Python)

## Lampiran
<a name="attachments-8d609d3f-6f5e-4084-849f-ca191db8055e"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/8d609d3f-6f5e-4084-849f-ca191db8055e/attachments/attachment.zip)