Paano I-enable ang Access Logs Para sa Iyong Application Load Balancer?

Paano I Enable Ang Access Logs Para Sa Iyong Application Load Balancer



Ang isang Application Load Balancer (ALB) ay mahusay na namamahagi ng trapiko sa iba't ibang mga server o node. Pinipigilan nito ang pagbagsak ng application at nagbibigay ng mataas na kakayahang magamit, tumaas na kapasidad, at pinahusay na pagganap sa mga kliyente. Higit pa rito, ang kahilingang ginawa sa application load balancer ay naitala din sa anyo ng “ Access Logs ”. Ang mga view log na ito ay maa-access ng mga user sa pamamagitan ng dashboard para sa pagsusuri sa pattern ng trapiko at pag-troubleshoot ng mga isyu.

Mabilis na Balangkas

Inilalarawan ng artikulong ito ang mga sumusunod na aspeto:

Ano ang Access Log?

Ang Access log ay isang opsyonal na tampok ng application load balancer na kumukuha ng detalyadong impormasyon tungkol sa kahilingang ipinadala sa Load Balancer. Ang detalyadong impormasyong ito ay naglalaman ng petsa at oras ng pagtanggap ng kahilingan, IP address ng kliyente, mga latency, port, atbp sa anyo ng 'I-access ang mga log file' . Sa Application Load Balancer (ALB), kailangang manual na paganahin ang feature na ito. Ang mga access log na ito ay tinatanggap ng S3 bucket mula sa kung saan sila maa-access at matingnan ng user.







Ano ang Access log Files?

Ang mga Access log ay naglalaman ng 'I-access ang mga log file' na na-publish para sa bawat Load Balancer node pagkatapos ng bawat 5 minuto. Maaaring magkaroon ng maraming log kung ang site ay may mataas na trapiko. Ang mga access log file ay sumusunod sa isang tinukoy na format:



balde [ / unlapi ] / AWSLogs / aws - account - id / elasticloadbalancing / rehiyon / yyyy / mm / DD / aws - account - id_elasticloadbalancing_region_app. load - tagabalanse - id_end - time_ip - address_random - string. log . gz
  • balde ”: field ay naglalaman ng pangalan ng bucket na tatanggap ng mga log file.
  • unlapi ”: ay opsyonal. Maglalaman ang field na ito ng value kung mayroong anumang prefix na tinukoy ng user sa oras ng paggawa ng S3 bucket. Ang prefix ay hindi dapat maglaman ng ' AWSLogs ” keyword.
  • “aws-account-id” : naglalaman ng AWS Account ID ng may-ari.
  • rehiyon ”: field ay naglalaman ng rehiyon ng load balancer.
  • yyy/mm/dd ”: tumutukoy sa data kung saan naihatid ang log.
  • load-balancer-id ”: ay nagpapahiwatig ng partikular na ID ng load balancer. Higit pa rito, ang mga forward slash sa ID ay pinapalitan ng mga tuldok (.).
  • katapusan-panahon ”: tumutukoy sa pagtatapos ng petsa at oras para sa pagitan ng pag-log.
  • IP address ”: tumutukoy sa IP address kung saan gumagana ang load balancer
  • random-string ”: naglalaman ng random na string na nabuo ng system.

Ano ang Access Log Entries?

Ang Mga Access Log Entries na ito ay naglalaman ng impormasyon tungkol sa bawat isang kahilingan na ginawa sa Application Load Balancer. Ang mga naturang solong kahilingan ay tinutukoy bilang “Mag-log Entry” . Kasama rin sa mga log entries na ito ang mga maling porma na kahilingan i.e., ang kahilingang hindi nakarating sa load balancer (ALB). Kung ang mga kahilingang ginawa sa load balancer ay may kinalaman sa mga Web socket, ang log entry na ito ay ire-record lamang kapag ang koneksyon ay sarado.



Paano Pinoproseso ang Mga Access Log Files?

Bilang default, ang i-access ang mga file ng log ay naka-compress . Samakatuwid, ang mga file na ito ay dapat na hindi ma-compress muna kapag na-download upang makita ang impormasyon. Gayunpaman, sa pamamagitan ng paggamit ng S3 console, maaaring direktang tingnan ng user ang impormasyon ng mga log file na ito.





Ang mga ito log file ay nabuo bilang isang resulta ng kahilingan na ginawa sa Load balancer . Kung kasalukuyang may mataas na trapiko sa website, ang mga log file na nabuo ng load balancer ay maglalaman ng data sa gigabytes. Ang ganitong malaking halaga ng data ay maaaring naproseso sa pamamagitan ng paggamit mga tool sa pagsusuri tulad ng Amazon Athena, Splunk, Sumo logic, atbp.

Paano I-enable ang Access Logs Para sa Application Load Balancer?

Maaaring i-configure ang mga access log para sa iba't ibang rehiyon sa pamamagitan ng paggamit ng mga sumusunod na pamamaraan:



  • Paraan 1: I-access ang mga log para sa Mga Rehiyon na available bago ang Agosto 2022
  • Paraan 2: I-access ang mga log para sa Mga Rehiyon na available simula Agosto 2022 o mas bago

Paraan 1: I-access ang mga log para sa Mga Rehiyon na available bago ang Agosto 2022

Upang i-configure ang mga log ng pag-access para sa mga rehiyon na available bago ang Agosto 2022, sundin ang mga nabanggit na hakbang sa ibaba:

  • Hakbang 1: Gumawa ng S3 Bucket
  • Hakbang 2: I-edit ang Mga Attribute ng Load Balancer
  • Hakbang 3: Pag-verify

Hakbang 1: Gumawa ng S3 bucket

Ang unang hakbang ay ang gumawa ng S3 bucket para paganahin ang access log para sa ALB. Para sa layuning ito, i-access ang serbisyo ng S3 bucket sa pamamagitan ng paghahanap nito sa search bar ng AWS Management Console:

Galing sa S3 Dashboard , i-click ang 'Gumawa ng bucket' pindutan:

Nasa Pangkalahatang pagsasaayos , magbigay ng globally unique identifier para sa S3 bucket sa “ Pangalan ng bucket ” field ng text. Mahalagang isaalang-alang na ang ' Rehiyon ng AWS ” ay dapat na katulad sa rehiyon ng Load balancer:

Sa pamamagitan ng pagpapanatili ng natitirang mga setting bilang default, mag-click sa “ Lumikha ng balde ” button na matatagpuan sa ibaba ng interface:

Ang balde ay matagumpay na nalikha:

Galing sa S3 bucket dashboard , i-tap ang “ S3 ” pangalan ng bucket para i-configure ang mga pahintulot:

Galing sa S3 bucket console , i-click ang “ Mga Pahintulot ” tab:

Mag-scroll pababa sa interface at i-click ang “ I-edit 'button mula sa' Patakaran sa balde ” seksyon:

Nasa Editor , i-paste ang patakaran sa ibaba at palitan ang mga sumusunod na variable:

{
'Bersyon' : '2012-10-17' ,
'Pahayag' : [
{
'Epekto' : 'Payagan' ,
'Major' : {
'AWS' : 'arn:aws:iam::elb-account-id:root'
} ,
'Aksyon' : 's3:PutObject' ,
'Resource' : 'my-s3-arn'
}
]
}
  • elb-account-id : Sa field na ito, ibigay ang ID ng AWS Region. Ang mga ID na ito ay ibinigay sa opisyal na dokumentasyon ng AWS . Mag-scroll pababa sa ' Magagamit ang mga log ng access para sa Mga Rehiyon bago ang Agosto 2022 ” at sa ilalim ng patakaran, ang mga rehiyon na may kani-kanilang ID ay binanggit:

  • my-s3-arn : Ang ARN ng S3 bucket ay maaaring palitan sa pamamagitan ng paggamit ng dalawang format:
    • Format 1: ARN na may prefix
    • Format 2: ARN na walang prefix

Format 1: ARN na may prefix : Ang format na ito ay dapat sundin kung ang iyong bucket ay naglalaman ng prefix na halaga:

arn:aws:s3:::bucket-name / unlapi / AWSLogs / aws-account-id /*
  • Pangalan ng balde : palitan ang field na ito ng orihinal na pangalan ng bucket.
  • unlapi : ibigay ang prefix kung naglalaman ang iyong bucket ng anuman. Ang halaga ng prefix ay kinakailangan dahil ito ay tinukoy sa format na ito.
  • aws-account-id: ibigay ang AWS Account ID sa field na ito. Para sa layuning ito, i-tap ang pangalan ng AWS account na binanggit sa kaliwang sulok sa itaas ng interface. Mula sa drop-down na menu, kopyahin ang Account ID:

Format 2: ARN na walang prefix : Ang format na ito ay gagamitin kapag ang bucket ay walang anumang prefix. Ang lahat ng mga patlang na tinukoy ay mananatiling pareho tulad ng nakasaad sa nabanggit sa itaas na ARN. Ang pagkakaiba lang ay ito' RNA ' ay hindi naglalaman ng anumang field na 'prefix':

arn:aws:s3:::bucket-name / AWSLogs / aws-account-id /*

Dito, ang patakaran ay pinalitan :

Mag-scroll pababa sa ibaba ng interface at i-click ang 'I-save ang mga pagbabago' button para ilapat ang mga pagbabago:

Ang patakaran ay na-edit matagumpay :

Hakbang 2: I-edit ang Mga Attribute ng Load Balancer

Galing sa EC2 Dashboard , i-click ang 'Mga Load Balancer' opsyon sa ilalim ng 'Pagbabalanse ng Load' seksyon mula sa pane ng nabigasyon:

Galing sa Dashboard ng Load Balancer , i-click ang pangalan ng load balancer sa paganahin ang mga log ng pag-access . Para sa demo na ito, mayroong isang load balancer nalikha na at tumatakbo:

Sa ibaba ng ' Mga Detalye ” seksyon, mayroong maraming iba't ibang mga opsyon na magagamit. I-click ang “ Mga Katangian ” tab:

Galing sa ' Mga Katangian ” tab, i-click ang “ I-edit 'button:

Sa susunod na interface, mag-scroll pababa sa ' Pagsubaybay ” seksyon. I-toggle ang “ I-access ang mga log ” button upang paganahin ang I-access ang tampok na log . Susunod, mag-click sa 'Browse S3' button para piliin ang bucket:

Matapos i-click ang 'Browse S3' button, may lalabas na pop-up window. Piliin ang S3 bucket at pindutin ang ' Pumili 'button:

Pagkatapos idagdag ang bucket, i-click ang “ I-save ang mga pagbabago 'button:

Ipapakita ng AWS ang isang mensahe ng kumpirmasyon sa matagumpay na pagsasaayos ng S3 bucket sa mga Access log:

Hakbang 3: Pag-verify

Upang i-verify kung naidagdag na ang bucket, bisitahin ang dashboard ng S3 at piliin ang bucket:

Dito, ang bucket na ito ay naglalaman na ngayon ng isang folder “AWSLogs/” . Ang folder na ito ay maglalaman ng lahat ng impormasyong nauugnay sa Access Logs:

Paraan 2: I-access ang mga log para sa Mga Rehiyon na available simula Agosto 2022 o mas bago

Upang paganahin ang Mga Log sa Pag-access para sa mga rehiyong available simula Agosto 2022 o mas bago, sundin ang mga hakbang na nabanggit sa ibaba:

  • Lumikha ng S3 bucket.
  • Pagkatapos gawin ang S3 bucket, i-tap ang “ Mga Pahintulot ” tab. I-tap ang ' I-edit ” button mula sa sumusunod na seksyon.
  • Palitan ang kasalukuyang patakaran ng sumusunod na patakarang binanggit:
{
'Bersyon' : '2012-10-17' ,
'Pahayag' : [
{
'Epekto' : 'Payagan' ,
'Major' : {
'Serbisyo' : 'logdelivery.elasticloadbalancing.amazonaws.com'
} ,
'Aksyon' : 's3:PutObject' ,
'Resource' : 'arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*'
}
]
}

Sa nabanggit na patakaran, palitan ang mga sumusunod na variable:

  • Pangalan ng balde : Palitan ang field na ito ng orihinal na pangalan ng bucket.
  • prefix (opsyonal) : Ito ay isang opsyonal na field. Kung ang iyong bucket ay naglalaman ng anumang prefix, ibigay ang pangalan ng prefix sa field na ito. Gayunpaman, maaari ring laktawan ng user ang field na ito kung walang mga prefix na tutukuyin.

Pagkatapos tukuyin ang patakarang ito, i-click ang “ I-save ang mga pagbabago ” button para ilapat ang mga pagbabago. Ang natitirang mga hakbang ay susundan sa parehong pagkakasunud-sunod tulad ng nakasaad sa Paraan 1.

Tip sa Bonus: I-disable ang Access Logs

Upang huwag paganahin ang mga log ng pag-access sa application, sundin ang mga nabanggit na hakbang sa ibaba:

  • Piliin ang load balancer mula sa Load Balancer Dashboard.
  • Mag-scroll pababa sa interface at i-click ang “ Mga Katangian ” tab.
  • Sa loob ng ' Mga Katangian ” seksyon, i-tap ang “ I-edit ” button.
  • Mag-scroll pababa sa ' Pagsubaybay ” seksyon. Dito, maaaring i-disable ng user ang access log sa pamamagitan ng pag-toggle sa sumusunod na naka-highlight na button. Pindutin ang 'I-save ang mga pagbabago' button para i-save at ilapat ang mga pagbabago:

– Ang access log ay matagumpay na hindi pinagana at ang Mga Katangian ay binago:

Iyon ay mula sa gabay na ito

Konklusyon

Upang paganahin ang Access Logs para sa Load balancer, i-edit ang nabanggit na patakaran sa ginawang S3 bucket mula sa tab na 'Mga Pahintulot' at pindutin ang 'I-save ang mga pagbabago' na buton. Ang impormasyon sa loob ng mga log file na ito ay maaaring direktang ma-access mula sa S3 bucket Console. Maaari ding i-download ng user ang mga log file at i-uncompress ang mga ito upang tingnan ang kanilang mga nilalaman. Ang blog na ito ay isang hakbang-hakbang na pagpapakita para sa pagpapagana at hindi pagpapagana ng access log ng load balancer.