Tutorial ini akan memandu Anda untuk membuat (meluncurkan) instance EC2 di AWS. Anda dapat meluncurkan instance Linux menggunakan AWS Management Console atau melalui AWS CLI. Pada bagian ini kita akan menggunakan AWS Management Console.
Menggunakan AWS Management Console #
-
Buka AWS Console Kunjungi Amazon EC2 Console.
-
Pilih Launch Instance Di halaman EC2 Dashboard, klik tombol Launch instance
-
Beri Nama Instance Masukkan nama untuk instance yang akan dibuat.
-
Pilih OS Image (Amazon Machine Image) Pilih sistem operasi yang diinginkan.
-
Pilih Instance Type dan Key Pair
- Tentukan instance type sesuai kebutuhan sumber daya (CPU, RAM).
- Pilih key pair untuk autentikasi SSH.
Jika belum memiliki key pair, Anda dapat membuat key pair atau pilih Create new key pair. -
Konfigurasi Network Settings
- Tentukan subnet (private/public) sesuai Availability Zone.
- Buat security group baru atau pilih yang sudah ada.
-
Atur Storage
- Tentukan kapasitas storage sesuai kebutuhan.
- Anda juga dapat menambahkan volume tambahan.
-
Advanced Settings (Opsional) Biarkan pengaturan default jika tidak diperlukan pengaturan lanjutan.
-
Tentukan Jumlah Instance dan Luncurkan
- Masukkan jumlah instance yang ingin dibuat.
- Klik Launch instance.
Menggunakan AWS CLI #
- Membuat Key Pair (jika belum ada)
Gunakan perintah berikut untuk membuat key pair baru dan menyimpannya ke folder ~/.ssh:
aws ec2 create-key-pair \
--key-name demo-app \
--query 'KeyMaterial' --output text > ~/.ssh/demo-app
- Meluncurkan Instance
Untuk meluncurkan instance EC2, gunakan perintah run-instances.
Contoh berikut menggunakan security group default:
SecurityGroups=$(aws ec2 describe-security-groups \
--filters "Name=group-name,Values=default" \
--query "SecurityGroups[*].GroupId" --output text)
aws ec2 run-instances \
--image-id ami-0f60ebc551a693514 \
--instance-type t3.micro \
--key-name demo-app \
--security-group-ids $SecurityGroups \
--associate-public-ip-address \
--disable-api-termination \
--instance-initiated-shutdown-behavior stop \
--block-device-mappings '{"DeviceName":"/dev/sda1","Ebs":{"Encrypted":false,"DeleteOnTermination":true,"VolumeSize":30,"VolumeType":"gp3"}}' \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=MyServer},{Key=Environment,Value=Production},{Key=Owner,Value=TeamA}]'
Penjelasan opsi penting:
--image-id: Menentukan AMI (Amazon Machine Image) yang digunakan.--instance-type: Menentukan tipe instance (spesifikasi CPU, RAM).--key-name: Menentukan key pair SSH untuk login ke instance.--security-group-ids: Menentukan security group (firewall inbound/outbound instance).--associate-public-ip-address: Memberikan alamat IP publik otomatis ke instance (untuk akses internet).--disable-api-termination: Mencegah penghapusan (terminate) via API secara tidak sengaja.--instance-initiated-shutdown-behavior: Saat OS dimatikan dari dalam, instance akanstop, bukanterminate.--block-device-mappings: Konfigurasi storage (EBS Volume).--tag-specifications: Menambahkan tag metadata pada instance.
Menentukan Subnet (Private IP, Tanpa Public IP) #
Jika ingin membuat instance di subnet tertentu dan tidak diberi IP publik:
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t2.micro \
--subnet-id subnet-08fc749671b2d077c \
--no-associate-public-ip-address \
--key-name MyKeyPair
Meluncurkan Instance dengan Volume Tambahan #
Gunakan --block-device-mappings dengan file JSON eksternal:
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t2.micro \
--subnet-id subnet-08fc749671b2d077c \
--key-name MyKeyPair \
--block-device-mappings file://mapping.json
Contoh isi mapping.json:
[
{
"DeviceName": "/dev/sdh",
"Ebs": {
"VolumeSize": 100
}
}
]
Meluncurkan Instance dengan User Data #
Untuk membuat 1 instance dan menjalankan script awal menggunakan user-data:
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t2.micro \
--count 1 \
--subnet-id subnet-08fc749671b2d077c \
--key-name MyKeyPair \
--user-data file://my_script.txt