GNU/Linux >> Belajar Linux >  >> Linux

Hapus Volume EBS (Elastic Block Storage) yang tidak digunakan di AWS menggunakan Fungsi Lambda

Amazon Elastic Block Store (EBS) adalah layanan penyimpanan blok berkinerja tinggi yang mudah digunakan. Ini seperti disk eksternal yang dapat dilampirkan ke Instans EC2 dan digunakan untuk menyimpan data kita di dalamnya. Jika Volume EBS tidak digunakan dan tidak diperlukan serta masih tersedia di akun, maka Anda akan dikenakan biaya oleh AWS secara tidak perlu. Untuk menghemat biaya, kita akan melihat fungsi Lambda yang dapat digunakan untuk menemukan dan menghapus Volume EBS yang tidak digunakan tersebut.

Prasyarat

  1. Akun AWS (Buat jika Anda belum memilikinya).
  2. Pemahaman dasar tentang Instans EC2, klik di sini untuk mengetahui lebih lanjut tentang Instans EC2.
  3. Pemahaman dasar tentang Lambda, klik di sini untuk mengetahui lebih lanjut tentang Fungsi Lambda.

Apa yang akan kita lakukan?

  1. Masuk ke AWS.
  2. Buat Fungsi Lambda untuk menghapus Volume EBS yang Tidak Digunakan.

Masuk ke AWS

  1. Klik di sini untuk membuka Halaman Login AWS.

Ketika kita menekan link di atas, kita akan melihat halaman web sebagai berikut dimana kita diharuskan untuk login menggunakan detail login kita.

Setelah kita berhasil masuk ke AWS, kita akan melihat konsol utama dengan semua layanan yang terdaftar.

Buat Fungsi Lambda untuk menghapus Volume EBS yang Tidak Digunakan.

Klik "Layanan" di kiri atas, cari "EC2" dan buka dasbor utama EC2.

Di dasbor utama EC2, gulir ke bawah dan klik "Volume" di bawah "Blok Elastis Penyimpanan ".

Di sini, Anda akan melihat semua Volume EBS yang Anda miliki di wilayah yang dipilih. Volume dengan status "tersedia" adalah volume yang tidak digunakan dan tidak dilampirkan ke Instans EC2 mana pun. Volume ini aman untuk dihapus jika tidak memiliki data penting atau tidak memiliki data.

Volume dapat dihapus dari konsol ini, tetapi jika ada 100-1000 tidak terpakai volume, lebih baik memiliki beberapa otomatisasi.

Untuk mengotomatiskan proses penghapusan volume yang tidak digunakan, kita dapat menggunakan "Fungsi Lambda". Klik "Layanan" di kiri atas layar dan cari "Lambda".

Di dasbor utama Lambda, klik "Buat Fungsi".

Buat fungsi dengan "Author from Scratch", beri nama fungsi yang akan dibuat dan pilih Runtime. Di sini kita akan melihat Fungsi Lambda dengan Python Runtime untuk mengotomatiskan proses penghapusan Volume EBS yang tidak digunakan. Klik "Buat fungsi" untuk melangkah lebih jauh.

Anda akan melihat layar berikut dengan contoh kode fungsi.

Gunakan kode berikut untuk menghapus Volume EBS yang tidak digunakan. Hapus kode fungsi yang ada dan tempel kode berikut di kotak kode fungsi. Jika Anda tidak ingin menghapus Volume EBS tertentu yang tidak digunakan, beri tag sebagai "Nama:DND". Kode berikut tidak akan menghapus volume tersebut.

import boto3
ec2 =boto3.resource('ec2',region_name='eu-west-3')
def lambda_handler(event, context):
    untuk vol di ec2. volumes.all():
        if  vol.state=='available':
            if vol.tags is None:
                vid=vol.id
         =ec . jika ' vol.id)
                v.delete()
                print ('Dihapus ' +vid)
              lanjutkan
            tag untuk       untuk tag '] =='Name':
                    value=tag['Value']
                    if value !='DND' dan vol.state=='available':
     vid      vid
                        v=ec2.Volume(vol.id)
                        v.delete()
                 >   sudah dihapus

Atau Anda dapat menentukan daftar Volume EBS yang Tidak Digunakan yang perlu dihapus.

impor boto3
ec2 =boto3.resource('ec2',region_name='eu-west-3')
volume_ids =['vol-029af2107c0a0807d', 'vol-029af2107c0a08123']
def lambda_handler(event, context):
    for volid in volume_ids:
        vid=volid
        v=ec2.Volume(vid)
        v.delete()
        print ('Dihapus ' +vid)

Simpan fungsi dengan mengeklik tombol Simpan.

Sebelum kita mengeksekusi/menguji kode, kita perlu membuat event. Kami akan membuat acara sederhana. Untuk membuat acara, klik "Pilih acara percobaan" -> Konfigurasi acara percobaan.

Pada layar berikut, beri nama acara dan pertahankan template acara apa adanya dan klik "Buat".

Setelah kode dan acara siap, hal terakhir yang tersisa sebelum kita menguji atau menjalankan fungsi adalah menetapkan kebijakan yang diperlukan ke Fungsi Lambda. Untuk menetapkan kebijakan yang diperlukan, gulir ke bawah dan klik "Lihat peran delete-unused-ebs-volumes-role-ruemgr4x" dan buka di jendela baru.

Klik "Lampirkan Kebijakan" untuk melampirkan kebijakan yang diperlukan ke Peran IAM ini.

Telusuri EC2 dan lampirkan kebijakan "AmazonEC2FullAccess''. Kebijakan ini akan memberikan akses penuh ke Fungsi Lambda pada Instans EC2.

Sekarang, kita siap untuk menjalankan Fungsi. Klik "Uji".

Setelah Anda menjalankan fungsi, Anda dapat melihat log di Hasil Eksekusi.

Anda dapat mengonfirmasi apakah Volume EBS yang tidak digunakan telah/telah dihapus atau tidak dengan membuka dasbor utama instans EC2.

Di sini, seperti yang Anda lihat, Volume EBS yang tidak digunakan tidak lagi tersedia di konsol yang berarti telah berhasil dihapus oleh Fungsi Lambda.

Dalam artikel ini, kita melihat cara menulis Fungsi Lambda untuk menghapus Volume EBS yang Tidak Digunakan. Ini dapat membantu kami menghemat biaya tambahan di Akun AWS.


Linux
  1. Mengonfigurasi Penyimpanan Blok di Server Linux

  2. Mengonfigurasi Penyimpanan Blok di Server Windows

  3. Menggunakan sed untuk menghapus blok teks

  1. Bash Seri Pemula #9:Menggunakan Fungsi di Bash

  2. Hapus baris kosong menggunakan sed

  3. Menggunakan jam tangan untuk menjalankan fungsi berulang kali di Bash?

  1. Cara Meluncurkan Instans AWS EC2 Menggunakan Terraform

  2. Buat instans EC2 di AWS menggunakan Terraform

  3. Cara membuat Peran IAM di AWS menggunakan Terraform