Modul 3: Menyiapkan AWS CLI

TUTORIAL

Menyiapkan AWS CLI

Dalam modul ini, Anda akan mengonfigurasi AWS Command Line Interface (CLI)

Hal-hal yang akan Anda capai

Di dalam modul ini, Anda akan:
  • Menginstal AWS Command Line Interface (AWS CLI) untuk sistem operasi Anda
  • Mengonfigurasikan kredensial untuk mengakses akun AWS Anda
  • Mengonfigurasikan beberapa profil untuk mengakses akun AWS yang berbeda

Implementasi

AWS CLI adalah alat terpadu untuk mengelola layanan AWS Anda. Hanya dengan satu alat untuk mengunduh dan mengonfigurasi, Anda dapat mengontrol banyak layanan AWS dari baris perintah serta mengotomatiskannya melalui skrip. 

Untuk berinteraksi dengan AWS menggunakan CLI, kami perlu mengonfigurasi kredensial agar dapat digunakan saat melakukan panggilan API. Kami juga akan menunjukkan kepada Anda cara menyiapkan banyak profil untuk mengakses lebih dari satu akun AWS, baik dengan kredensial tambahan maupun melalui pengalihan peran IAM.

 Waktu penyelesaian

10 menit

 Kebutuhan modul

  • Peramban internet
  • Akun AWS

 Dapatkan bantuan

Instal AWS CLI

Ada berbagai cara untuk menginstal AWS CLI, tergantung sistem operasi Anda atau preferensi untuk menggunakan kontainer. Untuk menginstal AWS CLI v2, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

Setelah AWS CLI diinstal, Anda dapat menjalankan versi --aws di baris perintah dan melihat output berikut (versi mungkin akan berbeda):

aws --version

Misalnya, respons saat menginstal AW CLI pada Windows 10 adalah sebagai berikut:

aws-cli/2.12.1 Python/3.11.3 Windows/10 exe/AMD64 prompt/off

AWS CLI sekarang sudah diinstal dan Anda siap untuk mengonfigurasi kredensial. 

Konfigurasikan kredensial AWS CLI

Untuk mengonfigurasi kredensial, gunakan perintah <aws configure sso> agar dapat menyertakan kredensial pengguna yang dibuat dalam modul tutorial ini yang sebelumnya.

Di CLI, jalankan perintah <aws configure sso >. Anda akan diminta untuk memberikan informasi berikut:

  • Nama sesi SSO: Menyediakan nama untuk sesi yang disertakan dalam log AWS CloudTrail bagi entri yang terkait dengan sesi ini. Jika Anda tidak memasukkannya, nama akan dibuat secara otomatis. Untuk tutorial ini, gunakan <Test1>.
  • URL awal SSO: URL portal AWS Access yang Anda berikan saat mengonfigurasi Pusat Identitas IAM.
  • Wilayah SSO: Di dalam tutorial ini, contoh yang digunakan adalah <us-east-1>. Saat menjalankan perintah sendiri, tentukan wilayah tempat Anda telah mengaktifkan Pusat Identitas IAM. Anda dapat menemukan informasi ini di Konsol Manajemen AWS pada ringkasan Pengaturan Dasbor Pusat Identitas IAM.
  • Cakupan pendaftaran SSO:: Cakupan mengizinkan akses ke titik akhir yang berbeda. Dalam tutorial ini, kami akan menggunakan cakupan minimum <sso:account:access > untuk mendapatkan kembali token penyegaran dari layanan Pusat Identitas IAM.

Anda akan diminta untuk setiap item ini di terminal setelah memasukkan perintah <aws configure sso >.

aws configure sso

Catatan: Jika Anda tidak mengetahui URL atau wilayah awal untuk akun, masuk ke konsol sebagai pengguna root dan buka Dasbor Pusat Identitas IAM. Wilayah dan URL portal AWS Access ditampilkan dalam ringkasan Pengaturan.

Kode contoh berikut ini menunjukkan konten CLI pada tahap ini:

$ aws configure sso

Nama sesi SSO (Direkomendasikan): Test1
URL awal SSO [None]: https://my-sso-portal.awsapps.com/start
Wilayah SSO [None]: us-east-1
Ruang lingkup pendaftaran SSO [None]: sso:account:access

CLI mencoba membuka halaman otorisasi SSO secara otomatis di peramban default Anda dan memulai proses masuk untuk akun Pusat Identitas IAM.

Setelah memberikan kata sandi (dan kredensial MFA, jika diaktifkan), Anda diminta untuk mengizinkan akses ke data Anda. Proses ini memberi AWS CLI izin untuk mengambil dan menampilkan akun serta peran AWS yang diizinkan agar dapat digunakan dengan Pusat Identitas IAM.

Karena AWS CLI dibangun di atas SDK untuk Python, pesan izin mungkin akan berisi variasi nama botocore, seperti botocore-client-Test1. Pilih Izinkan. Setelah autentikasi, Anda akan diberi tahu bahwa jendela sudah dapat ditutup.   

CLI akan memperbarui dan menunjukkan akun serta peran AWS yang tersedia untuk Anda. Karena saat ini, Anda hanya menyiapkan satu akun AWS dengan peran AdministratorAccess yaitu, akun dan peran yang digunakan untuk masuk. Saat ini, jendela CLI Anda harus menampilkan baris ini:

Satu-satunya akun AWS yang tersedia untuk Anda adalah: 111122223333
Menggunakan ID akun 111122223333
Satu-satunya peran yang tersedia untuk Anda adalah: AdministratorAccess
Menggunakan nama peran "AdministratorAccess"   

Kemudian, Anda diminta untuk Menentukan format output default, Wilayah AWS default untuk mengirim perintah, dan memberikan nama untuk profil sehingga Anda dapat mereferensikan profil ini saat menjalankan perintah di CLI.

Nama profil yang disarankan adalah nomor ID akun yang diikuti dengan garis bawah, lalu nama peran. Namun, untuk tutorial ini, kami akan menggunakan nama profil yang lebih pendek, admin-1. Saat ini, jendela CLI Anda harus menampilkan baris ini:

Untuk menggunakan profil ini, tentukan nama profil menggunakan --profile, seperti yang ditunjukkan berikut ini:
aws s3 ls --profile admin-1

Sekarang, jalankan perintah <aws ec2 describe-vpcs> untuk memastikan konfigurasinya sudah benar. Setiap akun AWS baru memiliki VPC default yang dikonfigurasi sehingga Anda dapat menjalankan perintah ini tanpa mengonfigurasi layanan lain di akun AWS Anda.

aws ec2 describe-vpcs

Saat ini, jendela CLI Anda harus menampilkan informasi berikut.

Hal ini mengonfirmasi bahwa sekarang AWS CLI Anda telah disiapkan dengan benar.

Dengan melakukan prosedur ini, Anda telah memperbarui file AWS Config dengan bagian sso-session dan profil bernama.

File konfigurasi terletak di ~/.aws/config pada komputer yang menjalankan Linux atau macOS, atau di C:\Users\ USERNAME \.aws\config pada komputer yang menjalankan Windows. Jika membuka file konfigurasi, Anda akan melihat dua bagian ini:

aws ec2 describe-vpcs --profile admin-1

{
    "Vpcs": [
        {
            "CidrBlock": "10.0.0.0/16",
            "DhcpOptionsId": "dopt-d12345",
            "State": "available",
            "VpcId": "vpc-0123456789abcdef",
            "OwnerId": "111122223333",
            "InstanceTenancy": "default",
............"CidrBlockAssociationSet": [
................{
....................."AssociationId": "vpc-cidr-assoc-38b060a751a39af8e",
....................."CidrBlock": "10.24.34.0/23",
....................."CidrBlockState": {
........................."State": "associated"
......................}
................}
............],
............"IsDefault": true
.........}
    ]
}

[profile admin-1]
sso_session = Test1
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
wilayah = us-east-1
output = json

[sso-session Test1]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access

Anda sekarang dapat menggunakan sso-session dan profil ini untuk meminta kredensial dengan perintah <aws sso login>.  

aws sso login

Saat ini, jendela CLI Anda harus menampilkan informasi berikut:

aws sso login -–profile admin-1
Mencoba untuk membuka halaman otorisasi SSO secara otomatis di peramban default Anda.

Jika peramban tidak terbuka atau Anda ingin menggunakan perangkat lain untuk mengotorisasi permintaan ini, buka URL berikut:
https://device.sso.us-east1.amazonaws.com/

Kemudian, masukkan kode:
XXXX-XXXX

Arahkan ke jendela peramban dan izinkan akses ke data Anda. Saat Anda kembali ke jendela CLI, pesan berikut menampilkan baris ini:

Berhasil masuk ke URL Awal: https://my-sso-portal.awsapps.com/start

Konfigurasikan banyak profil (opsional)

Saat Anda menambahkan peran ke akun AWS dan menambahkan akun AWS tambahan ke organisasi, ulangi prosedur di atas untuk membuat profil bagi peran dan akun tersebut.

Saat menambahkan kompleksitas, sebaiknya miliki strategi penamaan profil yang mengaitkan ID akun AWS dan nama peran sehingga Anda dapat membedakan di antara profil.  

Kesimpulan

Selamat! Anda telah mempelajari cara menyiapkan AWS CLI dan mengonfigurasi profil bernama. Pada modul berikutnya, Anda akan mempelajari cara menyiapkan AWS Cloud9, IDE berbasis cloud.

Apakah halaman ini membantu?

Menyiapkan AWS Cloud9