วิธีเปิดใช้งานบันทึกการเข้าถึงสำหรับ Application Load Balancer ของคุณ

Withi Peid Chi Ngan Banthuk Kar Khea Thung Sahrab Application Load Balancer Khxng Khun



Application Load Balancer (ALB) กระจายการรับส่งข้อมูลไปยังเซิร์ฟเวอร์หรือโหนดต่างๆ ได้อย่างมีประสิทธิภาพ สิ่งนี้จะป้องกันไม่ให้แอปพลิเคชันยุบและให้ความพร้อมใช้งานสูง ความจุที่เพิ่มขึ้น และประสิทธิภาพที่เพิ่มขึ้นให้กับลูกค้า นอกจากนี้ คำขอที่ส่งไปยังตัวโหลดบาลานเซอร์ของแอปพลิเคชันจะถูกบันทึกในรูปแบบของ “ บันทึกการเข้าถึง '. ผู้ใช้สามารถเข้าถึงบันทึกการดูเหล่านี้ผ่านแดชบอร์ดเพื่อวิเคราะห์รูปแบบการรับส่งข้อมูลและแก้ไขปัญหา

โครงร่างด่วน

บทความนี้แสดงให้เห็นถึงประเด็นต่อไปนี้:

บันทึกการเข้าถึงคืออะไร?

ที่ บันทึกการเข้าถึง เป็น คุณสมบัติเสริม ของแอปพลิเคชันโหลดบาลานเซอร์ที่รวบรวมข้อมูลโดยละเอียดเกี่ยวกับคำขอที่ส่งไปยังโหลดบาลานเซอร์ ข้อมูลโดยละเอียดนี้ประกอบด้วยวันที่และเวลาที่ได้รับคำขอ ที่อยู่ IP ของลูกค้า เวลาแฝง พอร์ต ฯลฯ ในรูปแบบของ “เข้าถึงไฟล์บันทึก” . ใน Application Load Balancer (ALB) จะต้องเปิดใช้งานคุณสมบัตินี้ด้วยตนเอง จากนั้นบัคเก็ต S3 จะได้รับบันทึกการเข้าถึงเหล่านี้จากจุดที่ผู้ใช้สามารถเข้าถึงและดูได้







ไฟล์บันทึกการเข้าถึงคืออะไร

บันทึกการเข้าถึงประกอบด้วย “เข้าถึงไฟล์บันทึก” ซึ่งเผยแพร่สำหรับแต่ละโหนด Load Balancer ทุก ๆ 5 นาที สามารถมีได้หลายบันทึกหากไซต์มีการเข้าชมสูง ไฟล์บันทึกการเข้าถึงเป็นไปตามรูปแบบที่ระบุ:



ถัง [ / คำนำหน้า ] / AWSLogs / เอาล่ะ - - บัญชี - - รหัส / การปรับสมดุลโหลดแบบยืดหยุ่น / ภูมิภาค / เย้ / มม / วว / เอาล่ะ - - บัญชี - - id_elasticloadbalancing_region_app โหลด - - บาลานเซอร์ - - id_end - - เวลา_ip - - ที่อยู่_สุ่ม - - เชือก บันทึก . กซ
  • ถัง ”: ฟิลด์ประกอบด้วยชื่อของที่เก็บข้อมูลที่จะรับไฟล์บันทึก
  • คำนำหน้า ”: เป็นทางเลือก ช่องนี้จะมีค่าหากมีคำนำหน้าใดๆ ที่ระบุโดยผู้ใช้ในขณะที่สร้างบัคเก็ต S3 คำนำหน้าต้องไม่มี “ AWSLogs ' คำสำคัญ.
  • “aws-บัญชี-id” : มีรหัสบัญชี AWS ของเจ้าของ
  • ภูมิภาค ”: ฟิลด์ประกอบด้วยขอบเขตของโหลดบาลานเซอร์
  • ปปป/ดด/วว ”: ระบุข้อมูลที่มีการจัดส่งบันทึก
  • โหลดบาลานเซอร์-id ”: ระบุ ID เฉพาะของโหลดบาลานเซอร์ นอกจากนี้ เครื่องหมายทับใน ID จะถูกแทนที่ด้วยจุด (.)
  • เวลาสิ้นสุด ”: ระบุจุดสิ้นสุดของวันที่และเวลาสำหรับช่วงเวลาการบันทึก
  • ที่อยู่ IP ”: ระบุที่อยู่ IP ที่โหลดบาลานเซอร์ทำงาน
  • สุ่มสตริง ”: มีสตริงสุ่มที่สร้างโดยระบบ

รายการบันทึกการเข้าถึงคืออะไร

รายการบันทึกการเข้าถึงเหล่านี้มีข้อมูลเกี่ยวกับทุกคำขอที่ทำกับ Application Load Balancer คำขอเดี่ยวดังกล่าวเรียกว่า “รายการบันทึก” . รายการบันทึกเหล่านี้ยังรวมถึงคำขอที่มีรูปแบบไม่ถูกต้อง เช่น คำขอที่ไม่เคยส่งไปยังตัวจัดสรรภาระงาน (ALB) หากคำขอที่ทำกับโหลดบาลานเซอร์เกี่ยวข้องกับเว็บซ็อกเก็ต รายการบันทึกนี้จะถูกบันทึกเมื่อการเชื่อมต่อปิดเท่านั้น



ไฟล์บันทึกการเข้าถึงได้รับการประมวลผลอย่างไร

โดยค่าเริ่มต้น เข้าถึงไฟล์บันทึก เป็น บีบอัด . ดังนั้นเมื่อดาวน์โหลดไฟล์เหล่านี้จะต้องคลายการบีบอัดก่อนเพื่อดูข้อมูล อย่างไรก็ตาม เมื่อใช้คอนโซล S3 ผู้ใช้สามารถดูข้อมูลของไฟล์บันทึกเหล่านี้ได้โดยตรง





เหล่านี้ ไฟล์บันทึก ถูกสร้างขึ้นอันเป็นผลมาจากการร้องขอที่ทำกับ โหลดบาลานเซอร์ . หากในปัจจุบันมีปริมาณการรับส่งข้อมูลสูงบนเว็บไซต์ ไฟล์บันทึกที่สร้างโดยโหลดบาลานเซอร์จะมีข้อมูลเป็นกิกะไบต์ ข้อมูลจำนวนมากดังกล่าวสามารถเป็นได้ ประมวลผล โดยใช้ เครื่องมือวิเคราะห์ เช่น Amazon Athena, Splunk, Sumo logic เป็นต้น

จะเปิดใช้งานบันทึกการเข้าถึงสำหรับ Application Load Balancer ได้อย่างไร

คุณสามารถกำหนดค่าบันทึกการเข้าถึงสำหรับภูมิภาคต่างๆ ได้โดยใช้วิธีการต่อไปนี้:



  • วิธีที่ 1: บันทึกการเข้าถึงสำหรับภูมิภาคที่พร้อมใช้งานก่อนเดือนสิงหาคม 2022
  • วิธีที่ 2: บันทึกการเข้าถึงสำหรับภูมิภาคที่มีให้บริการในเดือนสิงหาคม 2022 หรือใหม่กว่า

วิธีที่ 1: บันทึกการเข้าถึงสำหรับภูมิภาคที่พร้อมใช้งานก่อนเดือนสิงหาคม 2022

หากต้องการกำหนดค่าบันทึกการเข้าถึงสำหรับภูมิภาคที่พร้อมใช้งานก่อนเดือนสิงหาคม 2022 ให้ทำตามขั้นตอนที่กล่าวถึงด้านล่าง:

  • ขั้นตอนที่ 1: สร้างบัคเก็ต S3
  • ขั้นตอนที่ 2: แก้ไขแอตทริบิวต์ Load Balancer
  • ขั้นตอนที่ 3: การยืนยัน

ขั้นตอนที่ 1: สร้างบัคเก็ต S3

ขั้นตอนแรกคือการสร้างบัคเก็ต S3 เพื่อเปิดใช้งานบันทึกการเข้าถึงสำหรับ ALB เพื่อจุดประสงค์นี้ ให้เข้าถึงบริการบัคเก็ต S3 โดยค้นหาในแถบค้นหาของ คอนโซลการจัดการ AWS:

จาก S3 แดชบอร์ด , คลิก “สร้างบัคเก็ต” ปุ่ม:

ใน การกำหนดค่าทั่วไป ให้ระบุตัวระบุที่ไม่ซ้ำกันทั่วโลกสำหรับบัคเก็ต S3 ใน ' ชื่อถัง ' ช่องข้อความ. สิ่งสำคัญคือต้องพิจารณาว่า “ ภูมิภาค AWS ” ควรคล้ายกับขอบเขตของโหลดบาลานเซอร์:

โดยคงการตั้งค่าที่เหลือไว้เป็นค่าเริ่มต้น ให้คลิกที่ ' สร้างที่เก็บข้อมูล ปุ่ม” ที่อยู่ด้านล่างของอินเทอร์เฟซ:

ที่ ถัง สร้างสำเร็จแล้ว:

จาก แดชบอร์ดบัคเก็ต S3 ให้แตะ “ S3 ” ชื่อที่เก็บข้อมูลเพื่อกำหนดค่าการอนุญาต:

จาก คอนโซลบัคเก็ต S3 , คลิก ' สิทธิ์ ” แท็บ:

เลื่อนอินเทอร์เฟซลงแล้วคลิกปุ่ม “ แก้ไข ” จากปุ่ม “ นโยบายที่เก็บข้อมูล ' ส่วน:

ใน บรรณาธิการ วางนโยบายด้านล่างและแทนที่ตัวแปรต่อไปนี้:

{
'เวอร์ชั่น' : : '2012-10-17' ,
'คำแถลง' : : [
{
'ผล' : : 'อนุญาต' ,
'วิชาเอก' : : {
'เอดับบลิว' : : 'arn:aws:iam::elb-account-id:root'
} ,
'การกระทำ' : : 's3:ใส่วัตถุ' ,
'ทรัพยากร' : : 'มาย-เอส3-อาร์น'
}
]
}
  • รหัสบัญชี elb : ในช่องนี้ ให้ระบุ ID ของภูมิภาค AWS รหัสเหล่านี้ได้รับใน เอกสาร AWS อย่างเป็นทางการ . เลื่อนลงไปที่ “ บันทึกการเข้าถึงสำหรับภูมิภาคจะพร้อมใช้งานก่อนเดือนสิงหาคม 2022 ” และภายใต้นโยบาย มีการกล่าวถึงภูมิภาคที่มีรหัสที่เกี่ยวข้อง:

  • my-s3-arn : ARN ของบัคเก็ต S3 สามารถแทนที่ได้โดยใช้สองรูปแบบ:
    • รูปแบบ 1: ARN พร้อมคำนำหน้า
    • รูปแบบ 2: ARN โดยไม่มีคำนำหน้า

รูปแบบ 1: ARN พร้อมคำนำหน้า : จะต้องปฏิบัติตามรูปแบบนี้หากที่เก็บข้อมูลของคุณมีค่านำหน้า:

arn:aws:s3:::ชื่อถัง / คำนำหน้า / AWSLogs / รหัสบัญชี aws /*
  • ชื่อถัง : แทนที่ฟิลด์นี้ด้วยชื่อเดิมของที่เก็บข้อมูล
  • คำนำหน้า : ระบุคำนำหน้าหากที่เก็บข้อมูลของคุณมีข้อมูลใดๆ จำเป็นต้องมีค่าของคำนำหน้าตามที่ระบุไว้ในรูปแบบนี้
  • รหัสบัญชี aws: ระบุรหัสบัญชี AWS ในช่องนี้ เพื่อจุดประสงค์นี้ ให้แตะชื่อบัญชี AWS ที่ระบุไว้ที่มุมซ้ายบนของอินเทอร์เฟซ จากเมนูแบบเลื่อนลง ให้คัดลอกรหัสบัญชี:

รูปแบบ 2: ARN โดยไม่มีคำนำหน้า : รูปแบบนี้จะใช้เมื่อที่เก็บข้อมูลไม่มีคำนำหน้าใดๆ ฟิลด์ทั้งหมดที่ระบุจะยังคงเหมือนเดิมตามที่ระบุไว้ใน ARN ที่กล่าวถึงข้างต้น ข้อแตกต่างเพียงอย่างเดียวคือสิ่งนี้” อาร์เอ็นเอ ” ไม่มีช่อง “คำนำหน้า” ใดๆ:

arn:aws:s3:::ชื่อถัง / AWSLogs / รหัสบัญชี aws /*

นี่. นโยบาย ได้รับการ แทนที่ : :

เลื่อนลงไปที่ด้านล่างของอินเทอร์เฟซแล้วคลิก 'บันทึกการเปลี่ยนแปลง' ปุ่มเพื่อใช้การเปลี่ยนแปลง:

ที่ นโยบาย ได้รับการแก้ไขแล้ว ประสบความสำเร็จ : :

ขั้นตอนที่ 2: แก้ไขแอตทริบิวต์ Load Balancer

จาก แดชบอร์ด EC2 , คลิกที่ “โหลดบาลานเซอร์” ตัวเลือกภายใต้ “การปรับสมดุลโหลด” ส่วนจากบานหน้าต่างนำทาง:

จาก แดชบอร์ดโหลดบาลานเซอร์ ให้คลิกชื่อโหลดบาลานเซอร์เพื่อ เปิดใช้งานบันทึกการเข้าถึง . สำหรับการสาธิตนี้ โหลดบาลานเซอร์มี ถูกสร้างขึ้นแล้ว และทำงานอยู่:

ใต้ ' รายละเอียด ” มีตัวเลือกต่างๆ ให้เลือกมากมาย คลิก ' คุณลักษณะ ” แท็บ:

จาก ' คุณลักษณะ แท็บ ” คลิกปุ่ม “ แก้ไข ' ปุ่ม:

ในอินเทอร์เฟซถัดไป เลื่อนลงไปที่ “ การตรวจสอบ ' ส่วน. สลับ ' บันทึกการเข้าถึง ” เพื่อเปิดใช้งาน คุณสมบัติบันทึกการเข้าถึง . ต่อไปให้คลิกที่ “เรียกดู S3” ปุ่มเพื่อเลือกที่เก็บข้อมูล:

หลังจากคลิก. “เรียกดู S3” ปุ่ม หน้าต่างป๊อปอัปจะปรากฏขึ้น เลือกที่ฝากข้อมูล S3 และกดปุ่ม “ เลือก ' ปุ่ม:

หลังจากเพิ่มที่เก็บข้อมูลแล้วให้คลิกปุ่ม “ บันทึกการเปลี่ยนแปลง ' ปุ่ม:

AWS จะแสดงไฟล์ ข้อความยืนยัน เมื่อกำหนดค่าบัคเก็ต S3 ไปยังบันทึกการเข้าถึงได้สำเร็จ:

ขั้นตอนที่ 3: การยืนยัน

หากต้องการตรวจสอบว่ามีการเพิ่มบัคเก็ตหรือไม่ ให้ไปที่แดชบอร์ด S3 และเลือกบัคเก็ต:

ตอนนี้ที่เก็บข้อมูลนี้มีโฟลเดอร์แล้ว “AWSLogs/” . โฟลเดอร์นี้จะมีข้อมูลทั้งหมดที่เกี่ยวข้องกับบันทึกการเข้าถึง:

วิธีที่ 2: บันทึกการเข้าถึงสำหรับภูมิภาคที่มีให้บริการในเดือนสิงหาคม 2022 หรือใหม่กว่า

หากต้องการเปิดใช้งานบันทึกการเข้าถึงสำหรับภูมิภาคที่มีให้บริการในเดือนสิงหาคม 2022 หรือใหม่กว่า ให้ทำตามขั้นตอนที่กล่าวถึงด้านล่าง:

  • สร้างบัคเก็ต S3
  • หลังจากสร้างบัคเก็ต S3 แล้ว ให้แตะ “ สิทธิ์ ” แท็บ แตะ “ แก้ไข ” จากส่วนต่อไปนี้
  • แทนที่นโยบายที่มีอยู่ด้วยนโยบายต่อไปนี้ที่กล่าวถึง:
{
'เวอร์ชั่น' : : '2012-10-17' ,
'คำแถลง' : : [
{
'ผล' : : 'อนุญาต' ,
'วิชาเอก' : : {
'บริการ' : : 'logdelivery.elasticloadbalancing.amazonaws.com'
} ,
'การกระทำ' : : 's3:ใส่วัตถุ' ,
'ทรัพยากร' : : 'arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*'
}
]
}

ในนโยบายดังกล่าวข้างต้น แทนที่ตัวแปรต่อไปนี้:

  • ชื่อถัง : แทนที่ฟิลด์นี้ด้วยชื่อที่เก็บข้อมูลเดิม
  • คำนำหน้า (ไม่บังคับ) : เป็นช่องที่ไม่บังคับ หากที่เก็บข้อมูลของคุณมีคำนำหน้า ให้ระบุชื่อของคำนำหน้าในช่องนี้ อย่างไรก็ตาม ผู้ใช้ยังสามารถข้ามฟิลด์นี้ได้หากไม่มีการระบุคำนำหน้า

หลังจากระบุนโยบายนี้แล้ว ให้คลิกปุ่ม “ บันทึกการเปลี่ยนแปลง ” เพื่อใช้การเปลี่ยนแปลง ขั้นตอนที่เหลือจะปฏิบัติตามตามลำดับเดียวกับที่ระบุไว้ในวิธีที่ 1

เคล็ดลับโบนัส: ปิดการใช้งานบันทึกการเข้าถึง

หากต้องการปิดใช้งานบันทึกการเข้าถึงในแอปพลิเคชัน ให้ทำตามขั้นตอนด้านล่างนี้:

  • เลือกโหลดบาลานเซอร์จากแดชบอร์ดโหลดบาลานเซอร์
  • เลื่อนอินเทอร์เฟซลงแล้วคลิกปุ่ม “ คุณลักษณะ ” แท็บ
  • ภายใน ' คุณลักษณะ ” แตะส่วน “ แก้ไข ' ปุ่ม.
  • เลื่อนลงไปที่ “ การตรวจสอบ ' ส่วน. ที่นี่ ผู้ใช้สามารถปิดใช้งานบันทึกการเข้าถึงได้โดยสลับปุ่มที่ไฮไลต์ต่อไปนี้ ตี 'บันทึกการเปลี่ยนแปลง' ปุ่มเพื่อบันทึกและใช้การเปลี่ยนแปลง:

– เดอะ บันทึกการเข้าถึง ได้รับการ ปิดการใช้งานเรียบร้อยแล้ว และคุณสมบัติได้รับการแก้ไขแล้ว:

นั่นคือทั้งหมดจากคู่มือนี้

บทสรุป

หากต้องการเปิดใช้งานบันทึกการเข้าถึงสำหรับโหลดบาลานเซอร์ ให้แก้ไขนโยบายดังกล่าวในบัคเก็ต S3 ที่สร้างขึ้นจากแท็บ 'สิทธิ์' แล้วกดปุ่ม 'บันทึกการเปลี่ยนแปลง' ข้อมูลภายในไฟล์บันทึกเหล่านี้สามารถเข้าถึงได้โดยตรงจาก S3 Bucket Console ผู้ใช้ยังสามารถดาวน์โหลดไฟล์บันทึกและคลายการบีบอัดเพื่อดูเนื้อหาได้ บล็อกนี้เป็นการสาธิตการเปิดใช้งานและปิดใช้งานบันทึกการเข้าถึงของโหลดบาลานเซอร์แบบทีละขั้นตอน