Kursus
AWS adalah penyedia layanan cloud yang menawarkan beragam layanan berskala dan sesuai permintaan, termasuk daya komputasi, penyimpanan, basis data, pembelajaran mesin, jaringan, analitik, dan banyak lagi, dari pusat datanya di seluruh dunia. Lihat kursus Introduction to AWS dan AWS Cloud Technology and Services untuk mempelajari lebih lanjut!
Untuk berinteraksi dan mengonfigurasi sumber daya di AWS, kita dapat menggunakan AWS Management Console atau AWS CLI.
Dalam tutorial ini, kami akan memandu Anda menginstal AWS CLI dari awal, mengonfigurasinya agar dapat berkomunikasi dengan akun AWS Anda, dan mendemonstrasikan cara membuat beberapa sumber daya dasar menggunakan CLI.
Apa Itu AWS CLI?
AWS CLI adalah alat yang kuat yang memungkinkan pengguna berinteraksi dengan layanan AWS langsung dari baris perintah di komputer mereka. Perintah AWS CLI menyediakan fungsionalitas yang setara dengan tugas yang dilakukan di AWS Management Console.
Sebagai contoh, untuk menampilkan semua security group di wilayah AWS tertentu, Anda akan menavigasi ke bagian "Security Groups" di layanan EC2 melalui konsol.

Lihat Security Groups dari konsol AWS.
Demikian pula, Anda dapat mencapai hasil yang sama menggunakan perintah aws ec2 describe-security-groups di AWS CLI.

Lihat Security Groups via AWS CLI dari terminal lokal.
Menginstal AWS CLI
Kita akan membahas pemasangan AWS CLI di Windows, Mac, dan Linux.
Ada dua versi utama AWS CLI, versi 1 dan 2. Kami hanya akan membahas versi 2 karena ini adalah versi terbaru dengan lebih banyak fungsionalitas. Untuk informasi terbaru tentang pemasangan atau pembaruan ke versi terbaru AWS CLI, kunjungi dokumentasi AWS.
Menginstal di Windows
Unduh penginstal dari situs resmi AWS. Buka paket penginstal Windows “AWSCLIV2”, dan Anda akan melihat jendela seperti di bawah ini.

Panduan penyiapan AWS CLI.
Pilih “Next” dan lanjutkan untuk menerima perjanjian lisensi.

Perjanjian lisensi AWS CLI.
Konfirmasi lokasi instalasi dan lanjutkan pemasangan. Proses instalasi seharusnya tidak lebih dari 5 menit.

Konfirmasi lokasi instalasi.

Instalasi sedang berlangsung.

Instalasi selesai.
Untuk memverifikasi bahwa instalasi berhasil, buka terminal dan jalankan perintah aws --version. Hasilnya akan mirip dengan keluaran di bawah.

Verifikasi instalasi AWS CLI di Windows.
Menginstal di macOS
Kita dapat memasang AWS CLI di MacOS melalui Homebrew atau paket penginstal. Saya akan membahas kedua metode pemasangan.
Instalasi paket
Unduh penginstal .pkg dari situs resmi AWS. Buka file AWSCLIV2.pkg, dan Anda akan melihat jendela seperti di bawah ini.

Instalasi AWS CLI.
Terima lisensi, konfirmasi lokasi instalasi, dan lanjutkan proses instalasi.

Pesan instalasi berhasil.
Untuk memverifikasi bahwa instalasi berhasil, buka terminal dan jalankan perintah aws --version. Hasilnya akan mirip dengan keluaran di bawah.

Verifikasi instalasi AWS CLI di MacOS.
Homebrew
Pastikan Homebrew telah terpasang secara lokal. Untuk memverifikasi, jalankan brew --version. Jika belum, Anda dapat merujuk ke halaman resmi Homebrew untuk instruksi pemasangan.
Lalu, jalankan perintah berikut untuk memasang CLI:
# With brew installed, update Homebrew's formulae and cask definitions
brew update
# Install AWS CLI
brew install awscli
# Verify the installation
aws --version

brew update dan install

Verifikasi instalasi brew.
Menginstal di Linux
Untuk mendemonstrasikan pemasangan di Linux, saya menyalakan Amazon Linux EC2 dengan AMI ami-0bd55ebedabddc3c0. Meskipun secara bawaan sudah terpasang AWS CLI versi 2, versinya bukan minor terbaru. Langkah-langkah memperbarui dan memasang serupa.
# Switch to superuser
sudo su -
# If you’re on Amazon Linux, to install the latest version of the AWS CLI, you must first uninstall the pre-installed yum version
yum remove awscli
# Download the AWS CLI zip file
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Unzip the file
unzip awscliv2.zip
# Run the installer
./aws/install
# Verify AWS CLI
aws --version

Unduh dan ekstrak penginstal.

Jalankan penginstal dan verifikasi instalasi.
Mengonfigurasi AWS CLI
Setelah memasang AWS CLI, kita perlu mengonfigurasinya sebelum digunakan untuk berinteraksi dengan sumber daya AWS kita. Konfigurasi mencakup penyiapan kredensial AWS dan beberapa pengaturan bawaan opsional.
Saat kita masuk ke konsol AWS, kita masuk sebagai pengguna atau mengasumsikan peran. Demikian pula, saat kita menggunakan AWS CLI untuk berinteraksi dengan sumber daya, kita harus melakukannya sebagai pengguna atau mengasumsikan peran.
Menyiapkan kredensial AWS
Ada dua cara untuk masuk ke konsol AWS. Pertama, menggunakan pengguna yang dibuat melalui layanan Identity and Access Management (IAM).

Halaman login pengguna IAM.
Kedua, menggunakan pengguna yang dibuat melalui layanan IAM Identity Center.

Halaman login AWS Access Portal.
Menyiapkan AWS CLI memerlukan penetapan aws_access_key_id dan aws_secret_access_key di lokal Anda. Sepasang kunci ini mengidentifikasi akun Anda dan memberikan akses ke AWS. Bergantung pada cara Anda masuk, cara memperolehnya sedikit berbeda.
Pengguna IAM
Untuk menggunakan AWS CLI sebagai pengguna dari IAM, buka layanan IAM melalui konsol AWS, pilih pengguna yang ada, atau buat pengguna baru. Saya akan menggunakan pengguna yang sudah ada.

Pengguna IAM.
Pilih pengguna dan buka tab “Security Credentials”. Gulir ke bawah untuk melihat “Access keys”. Untuk tutorial ini, saya akan membuat access key lain. Pilih “Create access key”.

Tab kredensial keamanan pengguna IAM.
Pilih “Command Line Interface (CLI)”.

Buat access key.
Konfirmasi dan buat.

Access key dibuat.
Unduh file .csv untuk disimpan dengan aman. Lalu, jalankan perintah aws configure secara lokal dan masukkan nilai untuk access key dan secret access key. Kita menulis set kredensial ini ke profil “default”, karena kita tidak menentukan profil dengan flag --profile. Kita akan membahas profil di bagian selanjutnya.

Perintah aws configure.
Folder tersembunyi bernama “.aws” akan dibuat di direktori home (~) Anda.

Folder .aws.
Di dalamnya terdapat dua file, config dan credentials.

Isi di folder .aws.
File config menyimpan wilayah bawaan dan opsi output yang Anda masukkan di atas. Sedangkan file credentials menyimpan aws_access_key_id dan aws_secret_access_key. Untuk melihat isinya, Anda dapat menjalankan perintah cat config dan cat credentials.
Jalankan perintah aws sts get-caller-identity untuk memvalidasi bahwa kredensial berfungsi dan identitas IAM yang benar dikembalikan.

Validasi kredensial.
Pengguna IAM Identity Center
Setelah masuk, Anda akan diarahkan ke AWS Access Portal untuk memilih akun AWS dan peran yang akan diambil saat masuk ke konsol. Pilih “Access keys” untuk akun dan peran yang ingin Anda gunakan untuk AWS CLI.

AWS Access Portal.
Jendela yang identik dengan tangkapan layar di bawah ini akan muncul. Pilih opsi 2, salin, dan tempel teks yang disediakan ke dalam file kredensial AWS Anda.

Kredensial dari AWS Access Portal.
Perhatikan bahwa selain aws_access_key_id dan aws_secret_access_key, ada aws_session_token dibandingkan dengan kredensial untuk pengguna IAM yang dibahas di bagian sebelumnya. Ini menambahkan lapisan keamanan ekstra pada kredensial pengguna yang dibuat melalui IAM Identity Center, karena session token akan kedaluwarsa, dan pengguna harus melakukan autentikasi ulang untuk menyegarkan token.
Setelah menempelkan teks dari opsi 2 ke file kredensial AWS Anda:
# Use the AWS profile that you have just added
export AWS_PROFILE=<<Account Number>_<Role Name>>
# Valid that the credentials work
aws sts get-caller-identity

Validasi kredensial.
Session token pada akhirnya akan kedaluwarsa, dan kita harus menghasilkan yang baru.
![]()
Token kedaluwarsa.
Alih-alih menyalinnya lagi dari Access Portal seperti di atas, kita dapat menjalankan aws sso login dari lokal kita. Ikuti perintah di bawah untuk mengonfigurasi pengaturan Single Sign-On (SSO) di lokal Anda.
# Configure SSO to refresh your session token. The ~/.aws/sso folder will be created.
aws configure sso

Perintah AWS configure SSO.
Anda akan diminta untuk masuk.

Berikan akses AWS CLI.

Permintaan AWS CLI disetujui.
Saat session token Anda kedaluwarsa lagi, cukup jalankan aws sso login.

Keluaran login AWS SSO.
Opsi konfigurasi
Kita dapat menyesuaikan beberapa konfigurasi sebagai opsi bawaan agar sesuai preferensi kita. Jika tidak dinyatakan secara eksplisit, konfigurasi bawaan ini akan diterapkan pada perintah AWS CLI.
Untuk memperbarui atau menambahkan nilai konfigurasi di file config, Anda dapat menjalankan perintah di bawah atau mengubahnya secara manual melalui vim atau nano.
aws configure set <setting> <value>
region
Sumber daya AWS yang berada di suatu region memerlukan region ditentukan saat mengeksekusi perintah AWS CLI.
Jika flag “--region <region name>” tidak ditentukan dalam perintah, region bawaan yang tercantum di file config akan digunakan. Jika tidak ada region bawaan yang didefinisikan, Anda akan menjumpai galat berikut.

Galat saat region tidak ditentukan.
output
Pengaturan output mengonfigurasi format keluaran yang dikembalikan oleh perintah AWS CLI.
Sebagai contoh, format keluaran bawaan yang kita atur di atas adalah “JSON”, dan perintah aws sts get-caller-identity mengembalikan keluaran dalam format JSON. Opsi valid lain adalah “table” dan “text”.
Berikut tampilan keluaran tabel. Saya menambahkan flag --output table untuk menimpa nilai keluaran bawaan “JSON”.

aws sts get-caller-identity --output table.
role_arn & source_profile
Jika Anda tidak ingin menggunakan pengguna IAM Anda secara langsung dan ingin pengguna tersebut mengasumsikan peran, tentukan konfigurasi role_arn dan source_profile.
aws configure set role_arn arn:aws:iam::<Account ID>:role/<Role name>
# Put “default” as the profile name if you do not know what to put
aws configure set source_profile <profile name>
Setelah menentukannya, verifikasi bahwa peran IAM memang diambil.

Validasi kredensial.
cli_pager
Secara bawaan, AWS CLI mengirimkan keluarannya melalui pager seperti less, yang mengharuskan menekan q untuk keluar. Kita dapat mengubah perilaku ini dengan menonaktifkan pager agar keluaran ditampilkan langsung di terminal dengan menjalankan:
aws configure set cli_pager ""

Keluaran dengan cli_pager dinonaktifkan.
cli_history
Untuk menyimpan catatan perintah AWS CLI yang dijalankan, aktifkan cli_history dengan menjalankan:
aws configure set cli_history enabled
Riwayat akan disimpan dalam basis data SQLite yang berlokasi di ~/.aws/cli/history.
# View your AWS CLI history
aws history list
# Show details of a specific command
aws history show <command-id>
Ringkasan konfigurasi
Ringkasan opsi konfigurasi standar:
|
Configuration Key |
Description |
|
region |
Region AWS bawaan (mis., us-east-1, ap-southeast-1). |
|
output |
Format keluaran: json, text, atau table. |
|
role_arn |
ARN dari peran IAM yang akan diasumsikan. |
|
source_profile |
Profil yang digunakan sebagai sumber saat mengasumsikan peran. |
|
cli_pager |
Pager keluaran perintah (mis., less, atau set ke "" untuk menonaktifkan). |
|
cli_history |
Aktifkan atau nonaktifkan file riwayat CLI (enabled atau disabled). |
|
cli_timestamp_format |
Sesuaikan format cap waktu (none, iso8601, iso8601_ms). |
Jika Anda mengikuti contoh di atas, inilah tampilan file ~/.aws/config Anda.

Isi dalam file config.
Memahami Perintah AWS CLI
Semua perintah AWS CLI memiliki format standar:

Format perintah AWS CLI—gambar oleh Penulis.
Operasi spesifik tiap layanan akan memiliki opsi/flag opsional atau wajib untuk ditambahkan.
Perintah dasar
AWS CLI kita sekarang dapat mengakses akun AWS kita secara terprogram untuk berinteraksi dengan layanan. Mari coba beberapa perintah dasar pada beberapa layanan AWS yang umum digunakan!
EC2
|
Description |
Command |
|
Mendeskripsikan instance yang ditentukan atau semua instance. |
aws ec2 describe-instances [--instance-ids <value>] |
|
Mendeskripsikan security group tertentu atau semua security group Anda |
aws ec2 describe-security-groups [--group-ids <value>] |
|
Membuat snapshot dari volume EBS dan menyimpannya di Amazon S3 |
aws ec2 create-snapshot --volume-id <value> |
|
Membuat VPC |
aws ec2 create-vpc [--cidr-block <value>] |

Keluaran saat mendeskripsikan semua instance.
Lihat dokumentasi resmi untuk EC2 untuk informasi lebih lanjut.
S3
|
Description |
Command |
|
Daftar semua bucket S3 |
aws s3 ls |
|
Daftar objek dalam bucket S3 |
aws s3 ls s3://<bucket-name> --recursive |
|
Memindahkan file lokal atau objek S3 ke lokasi lain secara lokal atau di S3 |
aws s3 mv <LocalPath> <S3Uri> atau <S3Uri> <LocalPath> atau <S3Uri> <S3Uri> |
|
Menghapus objek dalam bucket S3 |
aws s3 rm <S3Uri> |

Perintah S3.
Lihat dokumentasi resmi untuk S3 untuk informasi lebih lanjut.
Perhatikan bahwa untuk layanan AWS S3, selain perintah CLI aws s3 yang dibahas di atas, ada juga perintah CLI aws s3api. Perintah aws s3 cukup generik, sedangkan perintah aws s3api lebih terperinci dan tingkat rendah.
Lihat dokumentasi resmi untuk s3api untuk informasi lebih lanjut.
Lambda
|
Description |
Command |
|
Untuk menampilkan semua fungsi Lambda |
aws lambda list-functions |
|
Untuk memperoleh informasi tentang suatu fungsi Lambda |
aws lambda get-function --function-name <function name> |
|
Memanggil fungsi Lambda |
aws lambda invoke --function-name <function name> |

Mengembalikan informasi tentang fungsi.
Lihat dokumentasi resmi untuk Lambda untuk informasi lebih lanjut.
Contoh: Menggunakan AWS CLI untuk manajemen EC2
Silakan lihat blog AWS EC2 Tutorial For Beginners untuk menyegarkan dasar-dasar EC2! Ini akan membantu Anda lebih memahami perintah berikut.
# To create an EC2 instance
aws ec2 run-instances \
--image-id ami-0bd55ebedabddc3c0 \
--count 1 \
--instance-type t2.micro

Keluaran saat membuat instance.
Jalankan aws ec2 describe-instances untuk melihat detail semua instance EC2, sebagaimana dibahas pada perintah dasar.
Jika Anda ingin menjalankan perintah untuk mengkueri instance tertentu, tambahkan flag --instance-ids dengan ID instance. Mis., aws ec2 describe-instances --instance-ids i-00836ea7575852f10.

Keluaran saat mendeskripsikan sebuah instance.
# To stop the instance
aws ec2 stop-instances --instance-ids i-00836ea7575852f10

Keluaran saat menghentikan instance.
# To start the instance
aws ec2 start-instances --instance-ids i-00836ea7575852f10

Keluaran saat memulai instance.
# To terminate the instance
aws ec2 terminate-instances --instance-ids i-00836ea7575852f10

Keluaran saat memutus instance.
Contoh: Bekerja dengan bucket S3
Berikut beberapa perintah berguna untuk menjalankan operasi umum dengan bucket S3, salah satu dasar di AWS!
# To create an S3 bucket. “mb” is short for “make bucket”
aws s3 mb s3://<bucket name> --region <region name>
# To list out all buckets
aws s3 ls
# To copy an object from your local or S3 object to another location locally or in S3. In the screenshot below, I used aws s3 cp <LocalPath> <S3Uri>
aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
# To delete an object from the S3 bucket
aws s3 rm <S3Uri>
# To sync the source directory to the destination. In the screenshot below, I used aws s3 sync <LocalPath> <S3Uri>
aws s3 sync <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
# To list the objects in the bucket
aws s3 ls <S3Uri>
# To delete an S3 bucket, it has to be empty of objects and versioned objects before it can be deleted. “rb” is short for “remove bucket”
aws s3 rb s3://my-unique-bucket-name-gfht68
# The “aws s3 rb” command comes with the --force parameter to first remove all of the objects in the bucket and then remove the bucket itself.
aws s3 rb s3://mybucket --force

Keluaran perintah AWS S3.
Fitur Lanjutan AWS CLI
Sekarang kita telah berlatih beberapa perintah CLI dasar, kita dapat meninjau beberapa fitur antarmuka yang lebih lanjut dan use case-nya.
Mengotomatisasi tugas dengan AWS CLI
Contoh AWS CLI yang telah kita bahas sejauh ini melibatkan satu perintah untuk mendapatkan informasi atau melakukan tindakan pada layanan. Mari lihat contoh menyusun beberapa perintah CLI dalam skrip untuk mengotomatisasi tugas.
Contoh: Skrip peluncuran instance EC2 otomatis
Buat file launch_ec2.sh dengan konten berikut.
#!/bin/bash
# Set variables
INSTANCE_NAME="My_Demo_Instance"
AMI_ID="ami-0bd55ebedabddc3c0" # Replace with your preferred AMI ID
INSTANCE_TYPE="t2.micro" # Replace with the desired instance type
REGION="ap-southeast-1"
# Launch the EC2 instance
INSTANCE_ID=$(aws ec2 run-instances \
--image-id "$AMI_ID" \
--instance-type "$INSTANCE_TYPE" \
--region "$REGION" \
--query "Instances[0].InstanceId" \
--output text)
echo "Instance launched with ID: $INSTANCE_ID"
# Add a Name tag to the instance
aws ec2 create-tags \
--resources "$INSTANCE_ID" \
--tags Key=Name,Value="$INSTANCE_NAME" \
--region "$REGION"
echo "Tag added: Name=$INSTANCE_NAME"
# Wait for the instance to reach a running state
aws ec2 wait instance-running --instance-ids "$INSTANCE_ID" --region "$REGION"
echo "Instance is now running."
Anda dapat menyesuaikan skrip untuk menyertakan lebih banyak parameter seperti nama key (--key-name), ID security group (--security-group-ids), ID subnet (--subnet-id), dan sebagainya.
# Grant the user permission to execute the shell script
chmod u+x ./launch_ec2.sh
# Run the script
./launch_ec2.sh

Skrip peluncuran EC2.
Contoh: Penghentian otomatis semua instance EC2 yang berjalan
Buat file stop_ec2.sh dengan konten berikut:
#!/bin/bash
# Check if a region is provided as an argument
if [ -n "$1" ]; then
REGION="$1"
else
# Get the default region from AWS CLI configuration
REGION=$(aws configure get region)
if [ -z "$REGION" ]; then
echo "No region provided, and no default region found in AWS CLI configuration."
echo "Please provide a region as an argument: ./stop-all-ec2.sh <region>"
exit 1
fi
fi
echo "Using region: $REGION"
# Get a list of all running EC2 instance IDs
RUNNING_INSTANCES=$(aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
--query "Reservations[*].Instances[*].InstanceId" \
--output text \
--region "$REGION")
if [ -z "$RUNNING_INSTANCES" ]; then
echo "No running EC2 instances found in region $REGION."
else
echo "Stopping the following EC2 instances in region $REGION:"
echo "$RUNNING_INSTANCES"
echo "Give it around 1 minute for the instances to be stopped."
# Stop the instances
aws ec2 stop-instances --instance-ids $RUNNING_INSTANCES --region "$REGION"
# Wait for the instances to stop
aws ec2 wait instance-stopped --instance-ids $RUNNING_INSTANCES --region "$REGION"
echo "All instances have been stopped successfully."
fi
# Grant the user permission to execute the shell script
chmod u+x ./stop_all_ec2.sh
# Run the script with the default region
./stop_all_ec2.sh
# Run the script overwriting the default region
./stop_all_ec2.sh us-west-1

Skrip penghentian EC2.
Menggunakan AWS CLI dengan JSON dan JQ
Keluaran perintah AWS CLI berisi cukup banyak informasi. Dalam beberapa kasus, kita mungkin tidak memerlukan semua informasi yang dikembalikan dan hanya menginginkan sebagian dari keluaran.
Sebagai contoh, pada bagian “EC2” di bawah “Perintah dasar” di atas, kita melihat bahwa perintah aws ec2 describe-instances mengembalikan keluaran JSON yang panjang. Untuk mengurai keluaran ini dan memperoleh hanya yang diperlukan, kita dapat menggunakan flag --query atau perintah jq.
Lihat skrip otomasi di bagian “Mengotomatisasi tugas dengan AWS CLI” di atas untuk contoh penggunaan flag --query.
Perhatikan bahwa perintah jq hanya berfungsi pada keluaran JSON. Jadi, konfigurasikan keluaran bawaan sebagai “JSON” atau tambahkan flag --output json untuk setiap perintah.
Verifikasi bahwa jq terpasang:

Periksa versi jq.
# Get a list of all EC2 instances and filter only the instance ID and state
aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId: .InstanceId, State: .State.Name}'
# Count the number of EC2 instances in the "running" state.
aws ec2 describe-instances --output json | jq '[.Reservations[].Instances[] | select(.State.Name == "running")] | length'
# Extract Lambda Function Names and their runtimes
aws lambda list-functions --output json | jq '.Functions[] | {FunctionName: .FunctionName, Runtime: .Runtime}'

Perintah AWS CLI dengan jq.
Menggunakan AWS CLI dalam pipeline CI/CD
Kita dapat memanfaatkan AWS CLI dalam konfigurasi pipeline kita untuk mengotomatisasi interaksi dengan layanan AWS, seperti menerapkan dan memperbarui sumber daya AWS setiap kali pipeline CI/CD kita berjalan.
Untuk contoh di bawah, saya akan menggunakan pipeline GitLab untuk mendemonstrasikan penerapan fungsi Lambda.
# .gitlab-ci.yml file configuration
stages:
- demo-cicd
datacamp_job:
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
stage: demo-cicd
id_tokens:
GITLAB_OIDC_TOKEN:
aud: https://gitlab.com
variables:
ROLE_ARN: "arn:aws:iam::<AWS Account ID>:role/<Name of IAM Role that pipeline will use>"
AWS_DEFAULT_REGION: "ap-southeast-1"
script:
- aws --version
- >
export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s"
$(aws sts assume-role-with-web-identity
--role-arn ${ROLE_ARN}
--role-session-name "GitLabRunner-${CI_PROJECT_ID}-${CI_PIPELINE_ID}"
--web-identity-token ${GITLAB_OIDC_TOKEN}
--duration-seconds 3600
--query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]'
--output text))
- aws sts get-caller-identity
- ls -l
- aws lambda create-function --function-name <function name> --runtime python3.13 --role <ARN of IAM role that Lambda function will use> --handler index.lambda_handler --zip-file fileb://lambda.zip
- unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

Log job pipeline GitLab.
Anda dapat memodifikasi konfigurasi pipeline untuk meneruskan parameter bersama perintah AWS CLI sebagai variabel dalam job pipeline alih-alih menuliskannya secara hard-code, seperti yang saya lakukan pada tangkapan layar di atas.
Dengan cara ini, kapan pun Anda ingin membuat fungsi Lambda, Anda dapat memasukkan dan melakukan commit variabel bersama konfigurasi pipeline Anda ke repositori Git.
Praktik Terbaik Menggunakan AWS CLI
Seperti semua praktik terbaik, berikan izin minimal yang diperlukan untuk melakukan tugas, terlepas dari apakah Anda menggunakan pengguna atau peran.
Mari kita tinjau praktik terbaik lain yang spesifik untuk AWS CLI!
Menggunakan peran AWS IAM untuk keamanan
Peran AWS IAM menyediakan kredensial keamanan sementara untuk mengakses sumber daya AWS. Kredensial ini diputar secara otomatis dan dibatasi pada izin peran tertentu, sehingga mengurangi risiko yang terkait dengan access key jangka panjang.
Cara yang direkomendasikan untuk menggunakan peran adalah melalui peran yang dibuat dari IAM Identity Center, seperti yang ditunjukkan pada bagian “IAM Identity Center” di bawah “Menyiapkan kredensial AWS” di atas. Ini juga merupakan pendekatan yang direkomendasikan oleh AWS.

Pendekatan yang direkomendasikan oleh AWS. Sumber gambar: AWS.
Saat administrator Cloud membuat pengguna Anda melalui IAM Identity Center, mereka harus menetapkan permission set.

Pengguna di IAM Identity Center.
Untuk setiap permission set, AWS akan membuat peran IAM.

Permission set di IAM Identity Center.
Mengelola banyak profil
Kemungkinan Anda akan menangani lebih dari satu akun AWS di lingkungan kerja Anda. Kita menggunakan profil untuk mengonfigurasi beberapa set kredensial dalam file ~/.aws/credentials dan ~/.aws/config.
Pada bagian “Menyiapkan kredensial AWS” di atas, kita menjalankan perintah aws configure tanpa menentukan profil melalui flag --profile atau variabel lingkungan AWS_PROFILE. Maka, informasi kredensial dan konfigurasi ditambahkan ke profil default. Untuk menambahkan profil baru, Anda dapat menjalankan aws configure --profile <profile name> agar memiliki set kredensial terpisah di bawah profil baru.
# Create a new profile called “dev”
aws configure --profile dev
# To run AWS CLI commands using the dev profile instead of the default profile, set the AWS_PROFILE environment variable to “dev”. Alternatively, add the “--profile dev” for every AWS CLI command.
export AWS_PROFILE=dev
# Validate that the IAM identity under the new profile is returned
aws sts get-caller-identity

Kredensial baru di bawah profil baru.
Jaga AWS CLI Anda tetap terbaru
Penting untuk memperbarui AWS CLI kita guna memastikan interaksi yang efektif dengan layanan AWS dan memanfaatkan fitur serta peningkatan terbaru.
Jika Anda memasang AWS CLI menggunakan paket penginstal untuk Windows dan Mac, Anda harus mengunduh file ke komputer lokal dan menjalankannya. Memperbaruinya akan melalui langkah yang sama: Unduh dan jalankan paket penginstal terbaru.
Jika Anda memasang AWS CLI via brew di Mac, pembaruan semudah menjalankan brew upgrade awscli. Di sini saya sudah memasang versi terbaru.

Keluaran perintah brew upgrade awscli.
Untuk Linux, langkah-langkahnya sama seperti saat memasang. Lihat cuplikan kode di bagian “Menginstal di Linux”. Ikuti perintah untuk mengunduh file zip, mengekstrak, dan menjalankan penginstal.
Pencatatan dan Pemecahan Masalah
AWS CLI adalah alat yang luar biasa, tetapi kita juga dapat menghadapi tantangan saat menggunakannya. Mari tinjau cara mengatasinya.
Log riwayat CLI
Sesekali, kita mungkin lupa perintah dan parameternya yang pernah dijalankan sebelumnya atau ingin melihat keluaran dari perintah yang telah dijalankan. Mengaktifkan cli_history dapat mengatasi kekhawatiran ini. Untuk informasi lebih lanjut, lihat bagian “Opsi konfigurasi” di atas.
Kesalahan konfigurasi CLI
Saat Anda menemui kesalahan konfigurasi AWS CLI, menjalankan perintah aws configure akan membantu menentukan apakah CLI membaca informasi dari file credentials dan config Anda dengan benar.

Galat “Unable to parse config file”.
# View configuration for the existing profile
aws configure list
# Verify credentials
aws sts get-caller-identity
# Verify configuration values
aws configure get region
aws configure get role_arn
# Review Environment Variables. Variables like AWS_PROFILE, AWS_ACCESS_KEY_ID, and AWS_REGION can override configuration
env | grep AWS
Kesalahan lainnya
Dalam kasus yang jarang, kita mungkin menemui kesalahan yang tidak diketahui saat mengeksekusi perintah AWS CLI. Untuk men-debug masalah dengan panggilan API atau mengumpulkan informasi lebih lanjut guna memahami kesalahan, menambahkan flag --debug ke perintah dapat membantu.
# Add the “--debug” flag
aws ec2 describe-instances --debug

Perintah AWS CLI dengan flag debug.
Informasi tambahan ini akan membantu Anda memahami dan memecahkan masalah.
Kesimpulan
AWS CLI adalah alat yang kuat yang memberdayakan Anda untuk berinteraksi dengan layanan AWS secara efisien, mengotomatisasi tugas rutin, dan mengelola sumber daya cloud dengan mudah. Dalam tutorial ini, saya mengajarkan cara menginstal, mengonfigurasi, dan menggunakan AWS CLI untuk melakukan operasi penting di beberapa layanan AWS umum.
Baik Anda pemula cloud maupun profesional DevOps berpengalaman, menguasai AWS CLI dapat meningkatkan produktivitas secara signifikan. Dari membuat dan mengelola sumber daya hingga mengotomatisasi deployment, kemungkinannya hampir tak terbatas dengan AWS CLI dalam peralatan Anda.
Luangkan waktu untuk bereksperimen dengan perintah, jelajahi kemampuan scripting lanjutan dalam pipeline Anda, dan integrasikan AWS CLI ke tugas sehari-hari Anda. Selamat bereksperimen di cloud!
Saya merekomendasikan untuk melihat AWS Cloud Practitioner skill track di DataCamp untuk menjadi ahli AWS.
FAQs
Mengapa saya harus menggunakan AWS CLI alih-alih AWS Management Console?
AWS CLI memungkinkan Anda berinteraksi dengan layanan AWS langsung dari terminal, sehingga memberikan kemampuan otomasi dan alur kerja yang lebih cepat, yang tidak mudah dicapai dengan AWS Console.
Apakah saya perlu memverifikasi checksum file setelah mengunduh paket penginstal dari AWS?
Meskipun tidak wajib, memverifikasi checksum paket penginstal adalah praktik yang baik.
Bagaimana cara memeriksa apakah AWS CLI sudah terpasang di lokal saya?
Buka terminal Anda, dan jalankan “aws --version”. Jika mengembalikan “aws-cli/x.x.x…”, AWS CLI sudah terpasang. Namun demikian, memperbaruinya ke versi terbaru adalah praktik terbaik.
Apa yang harus saya lakukan jika menemui kesalahan autentikasi atau izin saat menggunakan AWS CLI?
Kesalahan ini terjadi karena kredensial tidak benar atau izin tidak mencukupi. Periksa kembali access key AWS Anda, pastikan terkait dengan pengguna atau peran IAM yang benar, dan verifikasi bahwa kebijakan IAM Anda mengizinkan tindakan yang diperlukan. Jika Anda menggunakan peran dan session token telah kedaluwarsa, jalankan perintah “aws sso login”. Lihat bagian “Pengguna IAM Identity Center” untuk langkah terperinci.
Bagaimana saya dapat menggunakan AWS CLI untuk mengelola sumber daya di banyak region?
Anda dapat menentukan region AWS dalam perintah menggunakan flag “--region”, atau Anda dapat menetapkan region bawaan menggunakan perintah “aws configure”. Lihat bagian “Opsi konfigurasi” untuk informasi lebih lanjut.
Seorang Engineer Infrastruktur Cloud dan DevOps berpengalaman dengan keahlian dalam Terraform, pipeline GitLab CI/CD, dan beragam layanan AWS, Kenny mahir merancang solusi cloud yang skalabel, aman, dan hemat biaya. Ia unggul dalam membangun infrastruktur yang dapat digunakan kembali, mengotomatiskan alur kerja dengan Python dan Bash, serta menanamkan praktik keamanan terbaik ke dalam pipeline CI/CD. Dengan pengalaman langsung yang luas di Kubernetes dan berbagai alat observabilitas, Kenny andal dalam mengelola dan mengorkestrasi microservices sekaligus memastikan observabilitas yang kuat serta pemantauan kinerja. Diakui atas kepemimpinan, mentoring, dan komitmennya terhadap inovasi, Kenny secara konsisten menghadirkan solusi andal dan skalabel untuk aplikasi cloud-native modern. Ia tetap berkomitmen untuk berada di garis depan tren industri dan teknologi yang muncul, terus memperluas dan memperdalam keahliannya.

