Mengelola aws keys

Jika kita mempunyai beberapa AWS keys yang sering digunakan, baik untuk project pribadi ataupun dari perusahaan.

Akan sangat menyulitkan kita jika kita setiap kali berpindah project kita harus menggati juga AWS keys kita.

Untuk memudahkan workflow AWS, kita dapat mengguakan aws-cli

Apa itu aws-cli ?

aws-cli adalah sebuah tool yang diterbitkan oleh AWS untuk mengelola semua konfigurasi AWS menggunakan terminal/ command line.

Untuk mengelola beberapa AWS keys, kita dapat menggunakan aws configure, salah satu fitur dari aws-cli

Sebelumnya kita harus meng-install aws-cli pada mesin yang kita pakai: Install aws-cli

// Pastikan aws-cli sudah ter-install
$ aws --version
aws-cli/2.0.10 Python/3.7.3 Linux/4.19.84-microsoft-standard botocore/2.0.0dev14

Sekarang buat aws profile dengan cara

$ aws configure --profile myprofile
AWS Access Key ID [None]: MYAWSKEYID
AWS Secret Access Key [None]: MYAWSSECRETKEY
Default region name [None]: us-east-1
Default output format [None]:

Value yang kita masukkan akan ada di ~/.aws/credentials dan ~/.aws/config

lihat dengan cara:

$ cat ~/.aws/credentials
[myprofile]
aws_access_key_id = MYAWSKEYID
aws_secret_access_key = MYAWSSECRETKEY

$ cat ~/.aws/config
[profile myprofile]
region = us-east-1

Jadi, sekarang untuk menggunakan aws kita dapat menggunakan AWS_PROFILE environment variable

// Disini kita ingin menggunakan `myprofile`
$ export AWS_PROFILE=myprofile
$ aws sts get-caller-identity
{
    "UserId": "XXXXXXUVS3TV33KXXXXXX",
    "Account": "XXXXXXX10361",
    "Arn": "arn:aws:iam::XXXXXXX10361:user/developer/andrkrn"
}

// Sekarang coba kita pakai profile yang lain
$ export AWS_PROFILE=myotherprofile
$ aws sts get-caller-identity
{
    "UserId": "XXXXXXQR6EUSQTWXXXXXX",
    "Account": "XXXXXXX75420",
    "Arn": "arn:aws:iam::XXXXXXX75420:user/developer/andrkrn"
}

Sekarang kita cukup mengubah environment variable AWS_PROFILE dengan profile yang telah kita buat untuk
meng akses akun AWS yang berbeda :tada: