Amazon CloudWatch Archívum - Road to AWS https://roadtoaws.com/hu/tag/amazon-cloudwatch-en-hu/ This is my cloud journey Sun, 23 Jun 2024 18:30:57 +0000 hu hourly 1 https://wordpress.org/?v=6.7.1 https://roadtoaws.com/wp-content/uploads/2021/03/cropped-avatar-32x32.png Amazon CloudWatch Archívum - Road to AWS https://roadtoaws.com/hu/tag/amazon-cloudwatch-en-hu/ 32 32 Naplózás engedélyezése API Gateway-ben https://roadtoaws.com/hu/2021/06/21/naplozas-engedelyezese-api-gateway-ben/ https://roadtoaws.com/hu/2021/06/21/naplozas-engedelyezese-api-gateway-ben/#respond Mon, 21 Jun 2021 17:41:00 +0000 https://roadtoaws.com/?p=975 Most, hogy az Amazon API Gateway már működik, létfontosságú számunkra, hogy észleljük a hibákat vagy a helytelen használatot. A Lambda függvényeinkben már alapértelmezés szerint be…

A Naplózás engedélyezése API Gateway-ben bejegyzés először Road to AWS-én jelent meg.

]]>
Most, hogy az Amazon API Gateway már működik, létfontosságú számunkra, hogy észleljük a hibákat vagy a helytelen használatot. A Lambda függvényeinkben már alapértelmezés szerint be van kapcsolva a naplózás, és az egyes függvények Monitor lapján láthatjuk a lehetséges hibákat és a használati metrikákat. Az API Gateway-nk viszont alapértelmezés szerint nem engedélyezi a naplózást. Ebben az epizódban erre is kitérünk.

CloudWatch beállítások

Az egyes API stádiumokhoz különböző naplózási beállítások alkalmazhatók. Ezért találjuk a CloudWatch beállításokat a Stages -> [stage name] -> Logs/Tracing alatt.

A CloudWatch naplók esetében két naplózási szint közül választhatunk: INFO az összes kérés végrehajtási naplójának generálásához, vagy ERROR csak a hibát eredményező kérések végrehajtási naplójának generálásához.

Lehetőségünk van a teljes kérés/válasz adatainak naplózására a megfelelő jelölőnégyzet bejelölésével.

Itt is engedélyezhetjük a részletes CloudWatch metrikákat.

Tegyük fel, hogy még soha nem engedélyeztük az API-naplózást. Ebben az esetben, amikor megpróbáljuk elmenteni a módosításainkat, a következő hibát kapjuk:

CloudWatch Logs role ARN must be set in account settings to enable logging

CloudWatch jogosultságok

A fenti hiba azért jelent meg, mert még nem állítottuk be a CloudWatch napló szerepkör ARN-jét a Beállítások alatt.

❗ Ne feledjük, hogy az API-beállítások globálisak. Minden átjárónkra vonatkoznak. Ha megváltoztatjuk a CloudWatch naplószerep ARN-jét az egyik API átjárónkban, akkor az az összes átjárónkban meg fog változni, feltéve, hogy ugyanazt a régiót használjuk!

Próbáljuk meg hozzáadni a korábban létrehozott szerepkörünket: simple-api-role ARN. Az ARN-t az IAM konzol -> Roles, majd a simple-api-role kiválasztásával kapjuk meg.

Az ARN-ünk hozzáadásakor egy másik hibát kapunk: 🤯

The role ARN does not have required permissions configured. Please grant trust permission for API Gateway and add the required role policy.

A szerepkörünk még nincs beállítva a CloudWatchba való írásra. Menjünk vissza az IAM-be, és frissítsük a simple-api-szerepünket a megfelelő jogosultságokkal.

Először az AmazonAPIGatewayPushToCloudWatchLogs házirendet kell csatolnunk a szerepkörünkhöz. A házirendek szerepekhez való hozzáadását már korábban is elvégeztük. Ha elakadtál, menj vissza az Új Lambda funkció hozzáadása egy API Gateway-hez bejegyzéshez, ahol leírtam, hogyan csatolhatunk új házirendet egy meglévő szerepkörhöz. De még nem végeztünk… ⏱

A Trust relationships (izalmi kapcsolatok) lapon kattintson a Bizalmi kapcsolat szerkesztése gombra, és adja hozzá az apigateway.amazon.aws.com címet. Ha csak a Lambda-t használta ezzel a szereppel, akkor ez a példaházirend-dokumentum fog működni:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "lambda.amazonaws.com",
            "apigateway.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Most, hogy a jogosultságok megfelelően konfigurálva vannak, visszamehetünk az API-átjáróhoz, és hiba nélkül hozzáadhatjuk a szerepet. 🤠

Befejezés

Beállítottuk a CloudWatch napló szerepkör ARN-jét, most itt az ideje, hogy engedélyezzük a naplózást az API átjárónkban.

Amikor engedélyezzük a naplózást a /aws/apigateway/welcome log csoportban, egy új naplóbejegyzést fogunk látni: Cloudwatch naplók engedélyezve az API Gateway számára. Ez azt jelenti, hogy nagyszerű munkát végeztünk! 🥳 Sajnos a naplóüzenetből nem derül ki, hogy melyik átjáróhoz, de az időbélyegző alapján duplán ellenőrizhetjük, hogy ez a mi átjárónk.

Az Amazon API Gateway új naplócsoportot hoz létre a következő formátum alapján: API-Gateway-Execution-Logs_apiId/stageName. Itt találjuk az API Gateway-ünk naplóbejegyzéseit.

Majdnem befejeztük API Gateway sorozatunkat. De a legfontosabb feladatunk még hátravan: Dokumentáció. 📄

A Naplózás engedélyezése API Gateway-ben bejegyzés először Road to AWS-én jelent meg.

]]>
https://roadtoaws.com/hu/2021/06/21/naplozas-engedelyezese-api-gateway-ben/feed/ 0
Lambda függvény hozzáadása API-átjáróhoz https://roadtoaws.com/hu/2021/04/05/lambda-fuggveny-hozzaadasa-api-atjarohoz/ https://roadtoaws.com/hu/2021/04/05/lambda-fuggveny-hozzaadasa-api-atjarohoz/#respond Mon, 05 Apr 2021 21:52:00 +0000 https://roadtoaws.com/?p=866 Egy korábbi blogbejegyzésben létrehoztunk egy API átjárót egy Lambda tervezettel. Ezzel mind az API Gateway, mind a Lambda függvény automatikusan létrejött és összekapcsolódott egymással. Most…

A Lambda függvény hozzáadása API-átjáróhoz bejegyzés először Road to AWS-én jelent meg.

]]>
Egy korábbi blogbejegyzésben létrehoztunk egy API átjárót egy Lambda tervezettel. Ezzel mind az API Gateway, mind a Lambda függvény automatikusan létrejött és összekapcsolódott egymással. Most ezt manuálisan fogjuk megtenni, és megnézzük, hogyan tud egy API Gateway meghívni egy Lambda függvényt.

Lambda függvény létrehozása

Először is, hozzunk létre egy Lambda függvényt, mint az előző bejegyzésben, de ahelyett, hogy a Use a blueprint opciót választanánk, most az Author from scratch (Üres tervezet) opciót válasszuk. Adjunk egy nevet a függvényünknek. A Permissions alatt nem fogunk új szerepet létrehozni ehhez a függvényhez, hanem a meglévő szerepkörünket választjuk ki, amit a terveztünk hozott létre.

A Create function (Függvény létrehozása) gombra kattintás után a Lambda kódunk elkészül, és készen áll az API átjárónkkal való összekapcsolásra. Ehhez belépünk az API Gateway szolgáltatásba.

Szeretnénk ezt a funkciót új erőforrásként használni, ezért létrehozunk egy új erőforrást, és abban egy új módszert. A metódus beállításainál az előzőekhez hasonlóan kiválasztjuk az új Lambda függvényünket. Most már láthatjuk az API flow diagram-ot (folyamatábrázolási diagram) ahol szemléletesen láthatjuk, hogyan hajtódik végre az újonnan létrehozott Lambda függvényünk.

A Test gombra kattintva tesztelhetjük az új API-hívásunkat, és hogy minden rendben működik. Biztosak vagyunk benne?! 🤔

Minden rendben van?

Ne feledjük, hogy egy meglévő szerepet választottunk az új Lambda függvényünkhöz. A szerepkörünk rendelkezik az összes szükséges jogosultsággal?

Ha visszamegyünk a Lambda-hoz, és megnézzük a Monitor részt, nem látunk hibát.

A CloudWatch naplók megtekintése gombra kattintva viszont hibaüzenetet kapunk.

Ez azt jelenti, hogy a naplózás jelenleg nem működik az új Lambda függvényünkön. Manuálisan kell létrehoznunk egy naplócsoportot, és engedélyeznünk kell a szerepkörünknek, hogy ebbe a naplóba írjon.

A CloudWatch konzolban válasszuk a Log groups (naplócsoportok) menüpontot, majd kattintsunk a Create log group (naplócsoport létrehozása) gombra, és nevezzük el a naplócsoportunkat pontosan úgy, ahogy a hibaüzenetben szerepel. Esetünkben: /aws/lambda/simple-api-auth

💡 A naplócsoport létrehozásakor ne felejtsük el feljegyezni az ARN-jét, mert később szükségünk lesz rá.

Most, hogy engedélyeztük a szerepkörünknek, hogy írjhasson ebbe a naplócsoportba, el kell mennünk az IAM-be, és módosítanunk kell a szerepkörünket. Látjuk, hogy a CloudWatch engedélyek az AWSLambdaBasicExecutionRole házirendben vannak.

Most kiválasztjuk ezt a házirendet, és az Edit policy (Házirend szerkesztése) gombra kattintunk. Az erőforrások szakaszban az Add ARN (ARN hozzáadása) gombra kattintunk, és hozzáadjuk az újonnan létrehozott naplócsoportok ARN-jét. Mentsük el a házirendet.

És kész is vagyunk! Hozzáadtunk egy új funkciót az API-átjárónkhoz, és beállítottuk a szükséges jogosultságokat. 🎉

Tanulságok:

  • Tartsuk karban a jogosultságokat az IAM-ben. Adjuk meg a haznált erőforrásokat, és csak a szükséges házirendeket engedélyezzük.

A Lambda függvény hozzáadása API-átjáróhoz bejegyzés először Road to AWS-én jelent meg.

]]>
https://roadtoaws.com/hu/2021/04/05/lambda-fuggveny-hozzaadasa-api-atjarohoz/feed/ 0