Membuat VPC IPv4 dan subnet menggunakanAWS CLI - Amazon Virtual Private Cloud

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

Membuat VPC IPv4 dan subnet menggunakanAWS CLI

Contoh berikut menggunakan perintah AWS CLI untuk membuat VPC nondefault dengan blok CIDR IPv4, dan subnet publik dan pribadi di VPC. Setelah Anda membuat VPC dan subnet, Anda dapat meluncurkan sebuah instans di subnet publik dan menghubungkannya. Untuk memulai, Anda harus terlebih dahulu menginstal dan mengkonfigurasi AWS CLI. Untuk informasi lebih lanjut, lihat Memasang AWS CLI.

Anda akan membuat yang sumber daya AWS berikut:

  • VPC

  • Dua subnet

  • Gateway internet

  • Tabel rute

  • Instans EC2

Langkah 1: Buat VPC dan subnet

Langkah pertama adalah membuat VPC dan dua subnet. Contoh ini menggunakan blok CIDR 10.0.0.0/16 untuk VPC, tapi Anda bisa memilih blok CIDR yang berbeda. Untuk informasi selengkapnya, lihat Ukuran VPC.

Untuk membuat VPC dan subnet menggunakan AWS CLI

  1. Membuat VPC dengan10.0.0.0/16Blok CIDR menggunakan berikutmembuat-vpcperintah.

    aws ec2 create-vpc --cidr-block 10.0.0.0/16 --query Vpc.VpcId --output text

    Perintah mengembalikan ID dari VPC baru. Berikut adalah contohnya.

    vpc-2f09a348
  2. Setelah menggunakan ID VPC dari langkah sebelumnya, buat subnet dengan10.0.1.0/24Blok CIDR menggunakan berikutmembuat-subnetperintah.

    aws ec2 create-subnet --vpc-id vpc-2f09a348 --cidr-block 10.0.1.0/24
  3. Buat subnet kedua di VPC Anda dengan blok CIDR 10.0.0.0/24.

    aws ec2 create-subnet --vpc-id vpc-2f09a348 --cidr-block 10.0.0.0/24

Langkah 2: Jadikan subnet Anda publik

Setelah Anda membuat VPC dan subnet, Anda dapat membuat salah satu subnet menjadi subnet publik dengan melampirkan gateway internet ke VPC Anda, membuat tabel rute kustom, dan mengonfigurasi perutean untuk subnet tersebut ke gateway internet.

Untuk membuat subnet Anda menjadi subnet publik

  1. Membuat gateway internet menggunakan berikutgateway internetperintah.

    aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text

    Perintah mengembalikan ID dari gateway internet baru. Berikut adalah contohnya.

    igw-1ff7a07b
  2. Setelah menggunakan ID dari langkah sebelumnya, lampirkan gateway internet ke VPC Anda menggunakan yang berikut iniattach-internet-gatewayperintah.

    aws ec2 attach-internet-gateway --vpc-id vpc-2f09a348 --internet-gateway-id igw-1ff7a07b
  3. Membuat tabel rute kustom untuk VPC Anda menggunakan tabel berikutbuat-route-tableperintah.

    aws ec2 create-route-table --vpc-id vpc-2f09a348 --query RouteTable.RouteTableId --output text

    Perintah mengembalikan ID dari tabel rute baru. Berikut adalah contohnya.

    rtb-c1c8faa6
  4. Membuat sebuah rute di tabel rute yang mengarahkan semua traffic (0.0.0.0/0) ke gateway internet menggunakan berikutmembuat-ruteperintah.

    aws ec2 create-route --route-table-id rtb-c1c8faa6 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-1ff7a07b
  5. (Opsional) Untuk mengkonfirmasi bahwa rute Anda telah dibuat dan sedang aktif, Anda dapat mendeskripsikan tabel rute menggunakan yang berikut inimendeskripsikan tabel ruteperintah.

    aws ec2 describe-route-tables --route-table-id rtb-c1c8faa6
    { "RouteTables": [ { "Associations": [], "RouteTableId": "rtb-c1c8faa6", "VpcId": "vpc-2f09a348", "PropagatingVgws": [], "Tags": [], "Routes": [ { "GatewayId": "local", "DestinationCidrBlock": "10.0.0.0/16", "State": "active", "Origin": "CreateRouteTable" }, { "GatewayId": "igw-1ff7a07b", "DestinationCidrBlock": "0.0.0.0/0", "State": "active", "Origin": "CreateRoute" } ] } ] }
  6. Tabel rute saat ini tidak terkait dengan subnet apapun. Anda harus mengaitkannya dengan sebuah subnet di VPC Anda sehingga lalu lintas dari subnet itu diarahkan ke gateway internet. Gunakan berikutmenjelaskan-subnetperintah untuk mendapatkan ID subnet. Parameter--filterpilihan membatasi subnet untuk VPC baru Anda saja, dan--queryopsi hanya mengembalikan ID subnet dan blok CIDR mereka.

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=vpc-2f09a348" --query "Subnets[*].{ID:SubnetId,CIDR:CidrBlock}"
    [ { "CIDR": "10.0.1.0/24", "ID": "subnet-b46032ec" }, { "CIDR": "10.0.0.0/24", "ID": "subnet-a46032fc" } ]
  7. Anda dapat memilih subnet mana yang akan dikaitkan dengan tabel rute kustom, misalnya,subnet-b46032ec, dan mengasosiasikannya menggunakantabel ruteperintah. Subnet ini adalah subnet publik Anda.

    aws ec2 associate-route-table --subnet-id subnet-b46032ec --route-table-id rtb-c1c8faa6
  8. (Opsional) Anda dapat memodifikasi perilaku pendudukan IP publik atas subnet Anda sehingga instans yang diluncurkan ke subnet secara otomatis menerima alamat IP publik menggunakan yang berikut inimemodifikasi subnet-attributeperintah. Jika tidak, kaitkan alamat IP Elastis dengan instans Anda setelah peluncuran sehingga instans dapat dijangkau dari internet.

    aws ec2 modify-subnet-attribute --subnet-id subnet-b46032ec --map-public-ip-on-launch

Langkah 3: Luncurkan sebuah instans di subnet Anda

Untuk menguji bahwa subnet Anda bersifat publik dan bahwa instans di subnet dapat diakses melalui internet, luncurkan sebuah instance ke subnet publik Anda dan sambungkan ke sana. Pertama-tama, Anda harus membuat grup keamanan untuk dikaitkan dengan instans Anda, dan sebuah pasangan kunci yang akan membuat Anda terhubung ke instans Anda. Untuk informasi lain tentang grup keamanan, lihat Mengontrol lalu lintas ke sumber daya menggunakan grup keamanan. Untuk informasi selengkapnya tentang pasangan kunci, lihat Pasangan Kunci Amazon EC2 di Panduan Pengguna Amazon EC2 untuk Instans Linux.

Untuk meluncurkan dan terhubung ke sebuah instans di subnet publik Anda

  1. Buat pasangan kunci dan gunakan opsi --query dan opsi teks --output untuk menyalurkan kunci pribadi Anda secara langsung ke dalam sebuah file dengan ekstensi .pem.

    aws ec2 create-key-pair --key-name MyKeyPair --query "KeyMaterial" --output text > MyKeyPair.pem

    Dalam contoh ini, Anda meluncurkan instans Amazon Linux. Jika Anda menggunakan klien SSH pada komputer dengan sistem operasi Linux atau Mac OS X untuk tersambung ke instans Anda, gunakan perintah berikut untuk mengatur izin file kunci pribadi Anda sehingga hanya Anda yang dapat membacanya.

    chmod 400 MyKeyPair.pem
  2. Buat grup keamanan di VPC Anda menggunakan perintah create-security-group.

    aws ec2 create-security-group --group-name SSHAccess --description "Security group for SSH access" --vpc-id vpc-2f09a348
    { "GroupId": "sg-e1fb8c9a" }

    Tambahkan aturan yang mengizinkan akses SSH dari mana saja menggunakan perintah authorize-security-group-ingress.

    aws ec2 authorize-security-group-ingress --group-id sg-e1fb8c9a --protocol tcp --port 22 --cidr 0.0.0.0/0
    catatan

    Jika Anda menggunakan 0.0.0.0/0, Anda akan mengaktifkan semua alamat IPv4 untuk mengakses instans Anda menggunakan SSH. Ini dapat diterima untuk latihan singkat ini, namun dalam produksi, hanya otorisasi alamat atau rentang alamat IP tertentu.

  3. Luncurkan sebuah instans ke dalam subnet publik Anda, menggunakan grup keamanan dan pasangan kunci yang telah Anda buat. Dalam output, perhatikan ID instans untuk instans Anda.

    aws ec2 run-instances --image-id ami-a4827dc9 --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-e1fb8c9a --subnet-id subnet-b46032ec
    catatan

    Dalam contoh ini, AMI adalah Amazon Linux AMI di Wilayah US East (N. Virginia). Jika Anda berada di Wilayah yang berbeda, Anda memerlukan ID AMI untuk mendapatkan AMI yang sesuai di Wilayah Anda. Untuk informasi lebih lanjut, lihat Temukan Linux AMI di Panduan Pengguna Amazon EC2 untuk Instans Linux.

  4. Instans Anda harus berada dalam status running untuk terhubung ke sana. Gunakan perintah berikut untuk mendeskripsikan status dan alamat IP instans Anda.

    aws ec2 describe-instances --instance-id i-0146854b7443af453 --query "Reservations[*].Instances[*].{State:State.Name,Address:PublicIpAddress}"

    Berikut ini adalah keluaran contoh.

    [ [ { "State": "running", "Address": "52.87.168.235" } ] ]
  5. Ketika instans Anda dalam status sedang berjalan, Anda dapat terhubung dengan itu menggunakan klien SSH pada komputer Linux atau Mac OS X dengan menggunakan perintah berikut:

    ssh -i "MyKeyPair.pem" ec2-user@52.87.168.235

    Jika Anda tersambung dari komputer Windows, gunakan instruksi berikut ini: Menghubungkan ke instance Linux Anda dari Windows menggunakanPuTTY.

Langkah 4: Bersihkan

Setelah memverifikasi bahwa Anda dapat terhubung ke instans Anda, Anda dapat menghentikannya jika Anda tidak lagi membutuhkannya. Untuk melakukannya, gunakan perintah terminate-instances. Untuk menghapus sumber daya lain yang telah Anda buat dalam contoh ini, gunakan perintah berikut dalam urutan yang tercantum:

  1. Hapus grup keamanan Anda:

    aws ec2 delete-security-group --group-id sg-e1fb8c9a
  2. Hapus subnet Anda:

    aws ec2 delete-subnet --subnet-id subnet-b46032ec
    aws ec2 delete-subnet --subnet-id subnet-a46032fc
  3. Hapus tabel rute kustom Anda:

    aws ec2 delete-route-table --route-table-id rtb-c1c8faa6
  4. Lepaskan gateway internet Anda dari VPC Anda:

    aws ec2 detach-internet-gateway --internet-gateway-id igw-1ff7a07b --vpc-id vpc-2f09a348
  5. Hapus gateway internet Anda:

    aws ec2 delete-internet-gateway --internet-gateway-id igw-1ff7a07b
  6. Hapus VPC Anda:

    aws ec2 delete-vpc --vpc-id vpc-2f09a348