GNU/Linux >> Znalost Linux >  >> Linux

Odstraňte nepoužívané svazky EBS (Elastic Block Storage) na AWS pomocí funkce Lambda

Amazon Elastic Block Store (EBS) je snadno použitelná a vysoce výkonná služba ukládání bloků. Je to jako externí disk, který lze připojit k instanci EC2 a použít na ni k ukládání našich dat. Pokud se objemy EBS nevyužívají, nejsou potřeba a jsou na účtu stále dostupné, bude vám je AWS účtovat zbytečně. Abychom ušetřili nějaké náklady, uvidíme funkci Lambda, kterou lze použít k nalezení a odstranění takových nevyužitých svazků EBS.

Předpoklady

  1. Účet AWS (vytvořte si jej, pokud jej nemáte).
  2. Základní znalosti o instanci EC2. Kliknutím sem získáte další informace o instanci EC2.
  3. Základní znalosti o Lambda, kliknutím sem se dozvíte více o funkcích Lambda.

Co uděláme?

  1. Přihlaste se do AWS.
  2. Vytvořte funkci Lambda pro odstranění nepoužívaných svazků EBS.

Přihlaste se do AWS

  1. Kliknutím sem přejdete na přihlašovací stránku AWS.

Když klikneme na výše uvedený odkaz, uvidíme následující webovou stránku, kde se musíme přihlásit pomocí našich přihlašovacích údajů.

Jakmile se úspěšně přihlásíme do AWS, uvidíme hlavní konzoli se všemi uvedenými službami.

Vytvořte funkci Lambda pro odstranění nepoužívaných svazků EBS.

Klikněte na "Služby" vlevo nahoře, vyhledejte "EC2" a přejděte na hlavní panel EC2.

Na hlavním panelu EC2 přejděte dolů a klikněte na "Volumes" pod "Elastic Block Storage ".

."

Zde uvidíte všechny svazky EBS, které máte ve vybrané oblasti. Svazky se stavem "dostupné" jsou nepoužité svazky a nejsou připojeny k žádné z instancí EC2. Tyto svazky lze bezpečně odstranit, pokud neobsahují důležitá data nebo na nich nejsou žádná data.

Svazky lze z této konzole smazat, ale pokud zbývá 100 až 1000 nepoužitých svazků, je lepší mít nějakou automatizaci.

Pro automatizaci procesu mazání nepoužívaných svazků můžeme použít "Lambda Functions". Klikněte na „Služby“ v levé horní části obrazovky a vyhledejte „Lambda“.

Na hlavním panelu Lambda klikněte na „Vytvořit funkci“.

Vytvořte funkci pomocí "Autor od nuly", pojmenujte funkci, která má být vytvořena, a vyberte Runtime. Zde uvidíme funkci Lambda s Python Runtime pro automatizaci procesu mazání nepoužívaných svazků EBS. Klikněte na "Vytvořit funkci" pro pokračování.

Uvidíte následující obrazovku s ukázkovým kódem funkce.

K odstranění nepoužívaných svazků EBS použijte následující kód. Odstraňte stávající kód funkce a vložte následující kód do pole kódu funkce. Pokud nechcete smazat konkrétní nepoužívané svazky EBS, označte je jako „Název:DND“. Následující kód takové svazky neodstraní.

import boto3
ec2 =boto3.resource('ec2',region_name='eu-west-3')
def lambda_handler(událost, kontext):
    pro objem v ec2. volumes.all():
        if  vol.state=='available':
            pokud je vol.tags None:
                vid=vol.id
          v =. vol.id)
                v.delete()
                tisk ('Deleted ' +vid)
                pokračovat
                 pokračovat
                 pokračovat
                 pokračovat
                 pokračovat
                  pokračovat
               '] =='Název':
                    value=tag['Value']
                    if value !='DND.' and vol.state=='available'    vol.       vol.        vol.         vol.     
                        v=ec2.Volume(vol.id)
                        v.delete()
                                      ' + vid.

Nebo můžete zadat seznam Nepoužitých svazků EBS, které je třeba odstranit.

import boto3
ec2 =boto3.resource('ec2',region_name='eu-west-3')
volume_ids =['vol-029af2107c0a0807d', 'vol-029af2107c0a08123']
def lambda_handler(událost, kontext):
    pro volid in volume_ids:
        vid=volid
        v=ec2.Volume(vid)
        v.delete()
        tisk ('Smazáno ' +vid)

Funkci uložte kliknutím na tlačítko Uložit.

Než spustíme/otestujeme kód, musíme vytvořit událost. Vytvoříme jednoduchou událost. Chcete-li vytvořit událost, klikněte na „Vybrat testovací událost“ -> Konfigurovat testovací událost.

Na následující obrazovce pojmenujte událost a ponechte šablonu události tak, jak je, a klikněte na „Vytvořit“.

Jakmile jsou kód a událost připraveny, poslední věc, která zbývá, než funkci otestujeme nebo spustíme, je přiřadit požadované zásady k funkci Lambda. Chcete-li přiřadit požadovanou zásadu, přejděte dolů a klikněte na „Zobrazit roli delete-unused-ebs-volumes-role-ruemgr4x“ a otevřete ji v novém okně.

Kliknutím na „Připojit zásady“ připojíte k této roli IAM požadované zásady.

Vyhledejte EC2 a připojte zásadu „AmazonEC2FullAccess“. Tato zásada poskytne plný přístup k funkci Lambda u instancí EC2.

Nyní jsme připraveni funkci spustit. Klikněte na "Test".

Jakmile funkci spustíte, uvidíte protokoly v Execution Result.

Můžete potvrdit, zda nepoužívaný svazek EBS byl/byl smazán nebo ne, na hlavním panelu instance EC2.

Jak vidíte, nepoužitý svazek EBS již není v konzole k dispozici, což znamená, že byl úspěšně odstraněn funkcí Lambda.

V tomto článku jsme viděli, jak napsat funkci Lambda pro odstranění nepoužívaných svazků EBS. To nám může pomoci ušetřit nějaké dodatečné náklady na účtu AWS.


Linux
  1. Jak vytvořit roli IAM v AWS pomocí Terraform

  2. Bash Beginner Series #9:Použití funkcí v Bash

  3. Použití sed k odstranění bloku textu

  1. Konfigurace blokového úložiště na serverech Linux

  2. Konfigurace úložiště bloků na serverech Windows

  3. Odstraňte prázdné řádky pomocí sed

  1. Jak spustit instanci AWS EC2 pomocí Terraform

  2. Vytvořte instanci EC2 na AWS pomocí Terraform

  3. Používáte hodinky k opakovanému spouštění funkce v Bash?