Optimoi suorituskyky ja alenna verkkoanalytiikan kustannuksia Apache Parquet -muodossa olevilla VPC Flow Logsilla

Lähdesolmu: 1189863

VPC-virtalokit auttaa sinua ymmärtämään verkkoliikennemalleja, tunnistamaan tietoturvaongelmia, tarkastamaan käyttöä ja diagnosoimaan verkkoyhteyden AWS:ssä. Asiakkaat reitittävät usein VPC-kulkulokinsa suoraan Amazonin yksinkertainen tallennuspalvelu (Amazon S3) pitkäaikaiseen säilytykseen. Voit sitten käyttää mukautetun muodon muunnossovellusta muuntaaksesi nämä tekstitiedostot Apache Parquet -muotoon, jotta voit optimoida lokitietojen analyyttisen käsittelyn ja vähentää lokin tallennuskustannuksia. Tämä mukautetun muodon muunnosvaihe lisäsi VPC-kulkulokin liikenneanalytiikkaan monimutkaisuutta, aikaa oivalluksiin ja kustannuksia. Tähän päivään asti VPC-kulkulokit toimitettiin Amazon S3:lle raakatekstitiedostoina GZIP-muodossa.

Tänään olemme iloisia voidessamme ilmoittaa uudesta ominaisuudesta, joka toimittaa VPC-kulkulokit Apache-parketti muodossa, mikä tekee Amazon S3:een tallennettujen VPC-kulkulokien analysoinnista helpompaa, nopeampaa ja kustannustehokkaampaa. Voit myös toimittaa VPC-kulkulokit Amazon S3:lle Hive-yhteensopivilla S3-etuliitteillä, jotka on ositettu tuntikohtaisesti.

Apache-parketti on avoimen lähdekoodin tiedostomuoto, joka tallentaa tiedot tehokkaasti sarakemuotoon, tarjoaa erilaisia ​​koodaustyyppejä ja tukee predikaattisuodatusta. Hyvien pakkaussuhteiden ja tehokkaan koodauksen ansiosta Parquetiin tallennetut VPC-virtauslokit vähentävät Amazon S3:n tallennuskustannuksia. Kun vuolokien kysely jatkui Parquet-muodossa analyyttisten puitteiden kanssa, ei-olennaiset tiedot ohitetaan, mikä vaatii vähemmän lukuja Amazon S3:ssa ja parantaa siten kyselyn suorituskykyä. Voit vähentää kyselyn suoritusaikaa ja kustannuksia Amazon Athena ja Amazonin punasiirtospektri, Apache Parketti on usein suositeltu tiedostomuoto.

Tässä viestissä tutkimme tätä uutta ominaisuutta ja sitä, kuinka se voi auttaa sinua suorittamaan tehokkaita kyselyitä Athenen vuolokeissasi.

Luo virtauslokit Parketti-tiedostomuodolla

Hyödynnä tätä ominaisuutta luomalla uusi VPC-kulkulokitilaus Amazon S3:n määränpäänä käyttämällä AWS-hallintakonsoli, AWS-komentoriviliitäntä (AWS CLI) tai API. Kun luot uuden VPC-kulkulokitilauksen konsolissa Amazon S3:n kanssa, voit valita yhden tai useamman seuraavista vaihtoehdoista:

  • Lokitiedostomuoto
  • Hive-yhteensopivat S3-etuliitteet
  • Osiolokit ajan mukaan

Tutkimme nyt, kuinka kukin näistä vaihtoehdoista voi tehostaa vuolokien käsittelyä ja tallennusta

Apache Parquet -muotoiset tiedostot

Oletusarvoisesti lokit toimitetaan tekstimuodossa. Vaihtaaksesi Parkettiin, varten Lokitiedostomuotovalitse parketti. Tämä toimittaa VPC-kulkulokit Amazon S3:lle Apache Parquet -muodossa.

Huomaa seuraavat huomiot:

  • Et voi muuttaa olemassa olevia kulkulokeja toimittamaan lokit parkettimuodossa. Sinun on luotava uusi VPC-kulkulokitilaus, jonka lokitiedostomuoto on Parquet.
  • Harkitse korkeamman enimmäiskoontivälin (10 minuuttia) käyttöä kokoaessasi vuopaketteja varmistaaksesi suuremmat Parquet-tiedostot Amazon S3:ssa.
  • Mainita Amazon CloudWatch -hinnoittelu tukkitoimituksen hinnoitteluun Apache Parquet -muodossa VPC-virtauslokeille

Hive-yhteensopivat osiot

Osiointi on tekniikka tietojen järjestämiseen kyselykoneen tehokkuuden parantamiseksi. Osiot, jotka on kohdistettu kyselysuodattimissa usein käytettyjen sarakkeiden kanssa, voivat lyhentää kyselyn vastausaikaa merkittävästi. Voit nyt määrittää, että kulkulokit järjestetään Hive-yhteensopivassa muodossa. Tämän avulla voit suorittaa MSCK REPAIR -komennon Athenassa lisätäksesi nopeasti ja helposti uusia osioita, kun ne toimitetaan Amazon S3:een. Valitse vain Enable varten Hive-yhteensopiva S3-etuliite asettaaksesi tämän. Tämä toimittaa vuolokit Amazon S3:lle seuraavalla polulla:

s3://my-flow-log-bucket/my-custom-flow-logs/AWSLogs/aws-account-id=123456789012/aws-service=vpcflowlogs/aws-region=us-east-1/year=2021/month=10/day=07/123456789012_vpcflowlogs_us-east-1_fl-06a0eeb1087d806aa_20211007T1930Z_d5ab7c14.log.parquet

Tuntikohtaiset osiot

Voit myös järjestää vuolokit paljon yksityiskohtaisemmalla tasolla lisäämällä tuntikohtaisia ​​osioita. Sinun tulee ottaa tämä ominaisuus käyttöön, jos sinun on jatkuvasti etsittävä suuria lokimääriä tietyn ajanjakson predikaattina. Lokien kyseleminen vain tiettyinä aikoina johtaa vähemmän skannattujen tietojen määrään, mikä tarkoittaa alhaisempia kyselykohtaisia ​​kustannuksia moottoreilla, kuten Athena ja Redshift Spectrum.

Voit myös asettaa tuntikohtaisia ​​osioita API:n tai AWS CLI:n kautta käyttämällä --destination-options parametri sisään luo-flow-lokit:

aws ec2 create-flow-logs --resource-type VPC --resource-ids vpc-001122333 --traffic-type ALL --log-destination-type s3 --log-destination arn:aws:s3:::my-flow-log-bucket/my-custom-flow-logs/ --destination-options FileFormat=parquet,HiveCompatiblePartitions=True, PerHourPartition=True

Seuraavassa on esimerkkikulun lokitiedosto, joka on tallennettu tuntikohtaiseen ryhmään. Oletusarvoisesti Parquetin kulkulokit pakataan Gzip-muodossa, jolla on korkein pakkaussuhde muihin pakkausmuotoihin verrattuna.

s3://my-flow-log-bucket/my-custom-flow-logs/AWSLogs/aws-account-id=123456789012/aws-service=vpcflowlogs/aws-region=us-east-1/year=2021/month=10/day=07/hour=19/123456789012_vpcflowlogs_us-east-1_fl-06a0eeb1087d806aa_20211007T1930Z_d5ab7c14.log.parquet

Kysy Athenalta

Voit käyttää Athena-integraatio VPC Flow Logsille Amazon VPC -konsolista automatisoidaksesi Athenen asennuksen ja kyselyn VPC-kulkulokeista Amazon S3:ssa. Tätä integraatiota on nyt laajennettu tukemaan näitä uusia virtalokin toimitusvaihtoehtoja Amazon S3:lle.

Aloitetaan Amazon Athena -konsolista, jotta voit esitellä kyselyn kulkulokeja Parketissa ja pelkällä tekstillä tässä blogissa. Aloitamme luomalla ulkoisen taulukon, joka osoittaa virtauslokit Parketissa.

Huomaa, että tämä ominaisuus tukee kulkulokikenttien määrittämistä Parquetin alkuperäisissä tietotyypeissä. Tämän ansiosta sinun ei tarvitse lähettää kenttiäsi, kun kyselet liikennelokeja.

Suorita sitten MSCK REPAIR TABLE.

Suoritetaan esimerkkikysely näille parkettipohjaisille virtauslokeille.

Luodaan nyt taulukko pelkkänä tekstinä toimitettaville kulkulokeille.

Lisäämme osiot Athenen ALTER TABLE -käskyllä.

Suorita yksinkertainen vuolokien kysely ja pane merkille kyselyn suorittamiseen kulunut aika.

Athena-kyselyn suoritusaika virtauslokeilla parketissa (1.16 sekuntia) on paljon nopeampi kuin pelkkä tekstimuotoisten virtauslokien suoritusaika (2.51 sekuntia).

Vertailuarvot, jotka kuvaavat edelleen kustannussäästöjä ja suorituskyvyn parannuksia, jotka johtuvat rakeisissa osioissa olevista Parquet-tiedostoista, on kohdassa Top 10 suorituskyvyn viritysvinkkiä Amazon Athenalle.

Yhteenveto

Voit nyt toimittaa VPC-kulkulokit Amazon S3:lle kolmella uudella vaihtoehdolla:

  • Apache Parquet -muotoillut tiedostot
  • Hive-yhteensopivilla S3-etuliitteillä
  • Tuntiosioiduissa tiedostoissa

Nämä toimitusvaihtoehdot tekevät analytiikan tallentamisesta ja suorittamisesta VPC-kulkulokeissa nopeampaa, helpompaa ja kustannustehokkaampaa. Lisätietoja on osoitteessa VPC Flow Logs -dokumentaatio. Toivomme, että kokeilet tätä ominaisuutta ja jaat kokemuksesi kanssamme. Lähetä palautetta osoitteeseen AWS-foorumi Amazon VPC:lle tai tavallisten AWS-tukikontaktien kautta.


Tietoja Tekijät

Radhika Ravirala on Amazon Web Services -palvelun johtava suoratoistoarkkitehti, jossa hän auttaa asiakkaita luomaan hajautettuja suoratoistosovelluksia Amazon Kinesiksen ja Amazon MSK:n avulla. Vapaa-ajallaan hän harrastaa pitkiä kävelylenkkejä koiransa kanssa, pelaa lautapelejä ja lukee laajasti.

Vaibhav Katkade on vanhempi tuotepäällikkö Amazon VPC -tiimissä. Hän on kiinnostunut verkkoturvallisuuden ja pilviverkkotoiminnan alueista. Työn ulkopuolella hän nauttii ruoanlaitosta ja ulkoilusta.

Lähde: https://aws.amazon.com/blogs/big-data/optimize-performance-and-reduce-costs-for-network-analytics-with-vpc-flow-logs-in-apache-parquet-format/

Aikaleima:

Lisää aiheesta AWS