Boto3 adalah SDK Amazon Web Services (AWS) untuk Python. Ini adalah pustaka Python yang memungkinkan pengguna atau pengembang untuk membuat, mengonfigurasi, dan mengelola layanan dan sumber daya AWS. Boto3 menyediakan API untuk layanan AWS yang dapat digunakan untuk mengelola layanan dan sumber daya AWS seperti EC2, RDS, S3, dll.
Untuk mempelajari lebih lanjut tentang Boto3, Anda dapat mengunjungi situs resminya di sini.
Sebelum kita melanjutkan, saya berasumsi bahwa Anda sudah familiar dengan VPC. Jika tidak, Anda dapat mengklik di sini untuk mempelajari cara membuat VPC dari konsol AWS.
Dalam artikel ini, kita akan melihat cara menginstal pustaka Boto3 dan menggunakannya untuk membuat VPC sederhana bersama dengan komponen dependennya di AWS. Kami akan membuat subnet publik di VPC.
Prasyarat
- Akun AWS (Buat jika Anda belum memilikinya)
- Pemahaman dasar tentang VPC
- Pemahaman dasar tentang Python
- Python tersedia di sistem
Apa yang akan kami lakukan
- Instal Boto3
- Ketahui metode yang diperlukan
- Buat VPC menggunakan Python Boto3
Instal Boto3
Python hadir secara default di Ubuntu 18.04 Server, jadi Anda tidak perlu menginstalnya.
Untuk memeriksa versi Python di sistem Anda, gunakan perintah berikut.
python mana
/usr/bin/python --version
ATAU
python --versi
Jika Anda tidak memiliki pip dan menggunakan Ubuntu 18.04, jalankan perintah berikut untuk memperbarui repo lokal terlebih dahulu.
sudo apt update
Untuk menginstal pip gunakan perintah berikut
sudo apt install python-pip
Untuk memeriksa versi Pip yang diinstal, jalankan perintah berikut.
pip --versi
Setelah Anda memiliki python dan pip, Anda dapat menginstal Boto3.
Menginstal Boto3 sangat sederhana dan mudah. Untuk menginstal Boto3 gunakan perintah berikut.
pip instal boto3
Untuk memeriksa apakah Boto3 diinstal dan untuk memeriksa versinya, jalankan perintah berikut.
pip tampilkan boto3
Ketahui metode yang diperlukan
Untuk membuat VPC dan komponen dependennya, kami akan menggunakan metode berikut.
- buat_vpc
- buat_rute_tabel
- buat_internet_gateway
- buat_subnet
- associate_with_subnet
Sekarang, mari kita lihat metode dengan daftar parameter yang dapat diterima. Kami tidak akan menggunakan semua parameter, tetapi Anda dapat mencobanya jika mau.
Sintaks Permintaan dari metode create_vpc
response = client.create_vpc( CidrBlock='string', AmazonProvidedIpv6CidrBlock=True|False, Ipv6Pool='string', Ipv6CidrBlock='string', DryRun=True|False, InstanceTenancy='default'|'dedicated'|'host', Ipv6CidrBlockNetworkBorderGroup='string' )
- CidrBlock: Rentang jaringan IPv4 untuk VPC, dalam notasi CIDR. Ini adalah bidang wajib dan VPC tidak dapat dibuat tanpa ini.
Sintaks Permintaan dari metode create_route_table
route_table = ec2.create_route_table( DryRun=True|False, VpcId='string' )
- VpcId: ID VPC. Ini adalah bidang wajib dan digunakan untuk membuat Tabel Rute di VPC yang Ditentukan
Sintaks Permintaan dari metode create_internet_gateway
response = client.create_internet_gateway( DryRun=True|False )
Setiap VPC memiliki satu Gateway Internet. Ini akan dilampirkan dengan VPC
Sintaks Permintaan dari metode buat_subnet
subnet = ec2.create_subnet( AvailabilityZone='string', AvailabilityZoneId='string', CidrBlock='string', Ipv6CidrBlock='string', OutpostArn='string', VpcId='string', DryRun=True|False )
- CidrBlock :Rentang jaringan IPv4 untuk subnet, dalam notasi CIDR. Ini digunakan untuk Membagi VPC.
- VpcId: ID VPC.
Meminta Sintaks dari metode associate_with_subnet
route_table_association = route_table.associate_with_subnet( DryRun=True|False, SubnetId='string', GatewayId='string' )
- SubnetId: ID subnet.
Atau - GatewayId: ID gateway internet atau gateway pribadi virtual.
Buat VPC menggunakan Python Boto3
Untuk membuat VPC, buat "vpc.py" dengan blok kode berikut.
Pastikan Anda mengubah nilai "aws_access_key_id_value" dan "aws_secret_access_key_value" masing-masing dengan access_key_id dan access_key_value Anda sendiri. Ubah juga nilai "region_name".
Jika mau, Anda dapat mengubah nilai CidrBlock untuk "create_vpc" dan "create_subnet" atau Anda dapat menyimpannya apa adanya.
vim vpc.py
import boto3 ec2 = boto3.resource('ec2', aws_access_key_id='ACCESS-KEY-OF-THE-AWS-ACCOUNT', aws_secret_access_key='SECRETE-KEY-OF-THE-AWS-ACCOUNT', region_name='AWS-Region') vpc = ec2.create_vpc(CidrBlock='192.168.0.0/16') # Assign a name to the VPC vpc.create_tags(Tags=[{"Key": "Name", "Value": "my_vpc"}]) vpc.wait_until_available() print(vpc.id) # Create and Attach the Internet Gateway ig = ec2.create_internet_gateway() vpc.attach_internet_gateway(InternetGatewayId=ig.id) print(ig.id) # Create a route table and a public route to Internet Gateway route_table = vpc.create_route_table() route = route_table.create_route( DestinationCidrBlock='0.0.0.0/0', GatewayId=ig.id ) print(route_table.id) # Create a Subnet subnet = ec2.create_subnet(CidrBlock='192.168.1.0/24', VpcId=vpc.id) print(subnet.id) # associate the route table with the subnet route_table.associate_with_subnet(SubnetId=subnet.id)
Sekarang, untuk membuat VPC dengan konfigurasi yang ditentukan di atas, jalankan skrip python menggunakan perintah berikut.
python vpc.py
Anda dapat memverifikasi apakah VPC telah dibuat dari AWS Console.
Pada tangkapan layar di atas, Anda dapat melihat bahwa VPC dengan CIDR dan Nama yang ditentukan telah dibuat. Anda dapat memeriksa komponen seperti Subnet, Gateway Internet, Tabel Rute.
Kesimpulan
Pada artikel ini, kita melihat cara membuat VPC dengan Subnet Publik. Kami membuat Tabel Rute, Gateway Internet, Subnet di VPC. Kami melihat bagaimana subnet dapat dikaitkan dengan Tabel Rute yang memiliki rute Publik ke Gateway Internet. Anda sekarang dapat menyesuaikan kode ini dan membuat VPC dengan beberapa subnet, mengaitkannya dengan Tabel Rute dan memiliki Subnet Publik atau Pribadi sesuai kebutuhan Anda. Untuk membuat Subnet Pribadi, Anda perlu membuat Gateway Nat dan mengaitkannya dengan Subnet. Asosiasi ini kemudian akan menjadikan Subnet Private dengan koneksi keluar ke Internet.