AWS Solutions Architect · บทเรียน

กลุ่มความปลอดภัยและคู่คีย์

ควบคุมการรับส่งข้อมูลขาเข้าและขาออกด้วยกลุ่มความปลอดภัย และจัดการการยืนยันตัวตน SSH ด้วยคู่คีย์ EC2

บทเรียน 3 จาก 413 ขั้นตอน

กลุ่มความปลอดภัยและคู่คีย์ เป็นบทเรียน AWS Solutions Architect ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Solutions Architect และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน

กลุ่มความปลอดภัยคืออะไร

กลุ่มความปลอดภัย คือไฟร์วอลล์เสมือนแบบมีสถานะที่ควบคุมการรับส่งข้อมูลขาเข้าและขาออกของอินสแตนซ์ EC2 หรือทรัพยากร AWS อื่น ๆ เช่น RDS, Lambda, ELB กลุ่มความปลอดภัยทำงานในระดับอินสแตนซ์ โดยแต่ละกฎระบุโพรโทคอล (TCP/UDP/ICMP) ช่วงพอร์ต และต้นทางหรือปลายทาง (ช่วง IP หรือกลุ่มความปลอดภัยอื่น) กลุ่มความปลอดภัยต่างจากไฟร์วอลล์แบบดั้งเดิมตรงที่เป็นแบบมีสถานะ: หากคุณอนุญาตการรับส่งข้อมูลขาเข้า การรับส่งข้อมูลตอบกลับจะได้รับอนุญาตให้ออกโดยอัตโนมัติโดยไม่ต้องมีกฎอย่างชัดเจน

กฎขาเข้าและขาออก

กลุ่มความปลอดภัยมีชุดกฎขาเข้าและขาออกแยกกัน กฎขาเข้าควบคุมการรับส่งข้อมูลที่เข้ามายังอินสแตนซ์ โดยค่าเริ่มต้น การรับส่งข้อมูลขาเข้าทั้งหมดจะถูกปฏิเสธ กฎขาออกควบคุมการรับส่งข้อมูลที่ออกจากอินสแตนซ์ โดยค่าเริ่มต้น การรับส่งข้อมูลขาออกทั้งหมดจะได้รับอนุญาต คุณเพิ่มกฎ Allow อย่างชัดเจนได้ แต่กลุ่มความปลอดภัยไม่มีกฎ Deny อย่างชัดเจน (ใช้ Network ACLs สำหรับการปฏิเสธอย่างชัดเจน) กฎทั้งหมดในกลุ่มความปลอดภัยจะได้รับการประเมินร่วมกันด้วยตรรกะ OR โดยกฎ Allow ที่ตรงกันข้อใดข้อหนึ่งจะอนุญาตการรับส่งข้อมูล

# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 80 \
  --cidr 0.0.0.0/0

การเชื่อมโยงกลุ่มความปลอดภัย

กลุ่มความปลอดภัยรองรับการอ้างอิงกลุ่มความปลอดภัยต้นทาง/ปลายทาง ซึ่งยืดหยุ่นและปลอดภัยกว่าการระบุช่วง IP ตัวอย่างเช่น กลุ่มความปลอดภัยของ ALB อนุญาต 0.0.0.0/0 บนพอร์ต 443 กลุ่มความปลอดภัยของอินสแตนซ์ EC2 อนุญาตพอร์ตขาเข้า 8080 จากID กลุ่มความปลอดภัยของ ALBเท่านั้น ไม่ใช่จาก IP ใด ๆ หาก ALB ถูกแทนที่หรือปรับขนาด กฎนี้จะยังคงทำงานได้อย่างถูกต้องโดยไม่ต้องเปลี่ยน IP รูปแบบนี้สร้างการป้องกันแบบเป็นชั้นและเปลี่ยนแปลงได้สำหรับสถาปัตยกรรมหลายชั้น

# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-ec2-instances \
  --protocol tcp \
  --port 8080 \
  --source-group sg-load-balancer

กลุ่มความปลอดภัยเป็นแบบมีสถานะ

แบบมีสถานะหมายความว่ากลุ่มความปลอดภัยติดตามสถานะการเชื่อมต่อ หากกฎขาเข้าของคุณอนุญาตพอร์ต TCP 80 จากอินเทอร์เน็ต และไคลเอนต์ส่งคำขอ แพ็กเก็ตตอบกลับขาออกจะได้รับอนุญาตให้กลับไปยังไคลเอนต์โดยอัตโนมัติ แม้ไม่มีกฎขาออกสำหรับพอร์ต 80 ซึ่งแตกต่างโดยพื้นฐานจากNetwork ACLs ที่ไม่มีสถานะและต้องมีกฎอย่างชัดเจนสำหรับการรับส่งข้อมูลทั้งสองทิศทาง การมีสถานะทำให้กลุ่มความปลอดภัยกำหนดค่าได้ง่ายขึ้นสำหรับรูปแบบการรับส่งข้อมูลของแอปพลิเคชันทั่วไป

หลายกลุ่มความปลอดภัยในอินสแตนซ์เดียว

คุณสามารถแนบกลุ่มความปลอดภัยหลายกลุ่มเข้ากับอินสแตนซ์ EC2 เดียวได้ (ค่าเริ่มต้นสูงสุด 5 กลุ่ม และปรับได้) กฎจากกลุ่มความปลอดภัยที่แนบทั้งหมดจะถูกรวมกันแบบยูเนียน (ตรรกะ OR) หากกลุ่มความปลอดภัยใดอนุญาตคำขอ คำขอนั้นจะได้รับอนุญาต ซึ่งหมายความว่ากลุ่มความปลอดภัยสามารถเพิ่มสิทธิ์ได้เท่านั้น และไม่สามารถจำกัดสิทธิ์ได้ หากต้องการจำกัดการเข้าถึงให้เข้มงวดยิ่งขึ้น คุณต้องลบหรือแก้ไขกฎ ไม่ใช่เพิ่มกลุ่มความปลอดภัยที่เข้มงวดกว่า โปรดคำนึงถึงลักษณะการเพิ่มสิทธิ์นี้เมื่อทำข้อสอบเกี่ยวกับการจำกัดการเข้าถึง

พฤติกรรมของกลุ่มความปลอดภัยเริ่มต้น

ทุก VPC มีกลุ่มความปลอดภัยเริ่มต้น กฎเริ่มต้นคือ ขาเข้าอนุญาตการรับส่งข้อมูลทั้งหมดจากอินสแตนซ์อื่นที่อยู่ในกลุ่มความปลอดภัยเริ่มต้นเช่นกัน และขาออกอนุญาตการรับส่งข้อมูลทั้งหมดไปทุกที่ การตั้งค่านี้จงใจให้มีสิทธิ์กว้างเพื่อให้อินสแตนซ์ใหม่สื่อสารกันได้โดยค่าเริ่มต้น สำหรับสภาพแวดล้อมจริง ให้สร้างกลุ่มความปลอดภัยแบบกำหนดเองที่มีชุดกฎขาเข้าที่จำกัดอย่างรัดกุม และลบการเชื่อมโยงอินสแตนซ์กับกลุ่มความปลอดภัยเริ่มต้นเพื่อหลีกเลี่ยงการเปิดเผยโดยไม่ตั้งใจ

คู่กุญแจทำงานอย่างไร

คู่กุญแจ EC2 ใช้การเข้ารหัสแบบอสมมาตรเพื่อการยืนยันตัวตน SSH AWS สร้างคู่กุญแจให้คุณ หรือคุณนำเข้ากุญแจสาธารณะของตนเอง โดย AWS จะเก็บกุญแจสาธารณะและแทรกกุญแจนั้นลงในอินสแตนซ์ขณะเปิดใช้ ส่วนคุณจะดาวน์โหลดและเก็บกุญแจส่วนตัว (ไฟล์ .pem) โดย AWS จะไม่เก็บกุญแจดังกล่าว SSH ใช้กุญแจส่วนตัวเพื่อพิสูจน์ตัวตนของคุณกับเซิร์ฟเวอร์โดยไม่ส่งรหัสผ่าน กุญแจส่วนตัวต้องมีสิทธิ์การเข้าถึงที่จำกัด (chmod 400) มิฉะนั้น SSH จะปฏิเสธการใช้งาน

# Create a key pair and save the private key
aws ec2 create-key-pair \
  --key-name ProdKey \
  --key-type rsa \
  --key-format pem \
  --query 'KeyMaterial' \
  --output text > ProdKey.pem
chmod 400 ProdKey.pem

การกู้คืนการเข้าถึงโดยไม่มีคู่กุญแจ

หากคุณทำกุญแจส่วนตัวของอินสแตนซ์ Linux EC2 สูญหาย คุณจะไม่สามารถเชื่อมต่อผ่าน SSH ตามปกติได้ ตัวเลือกการกู้คืน ได้แก่ Systems Manager Session Manager (หากเอเจนต์ SSM ทำงานอยู่และแนบ IAM role แล้ว โดยไม่ต้องใช้กุญแจ), EC2 Instance Connect (แทรกกุญแจชั่วคราวผ่านเบราว์เซอร์หรือ CLI โดยต้องเปิดพอร์ต SSH และมีสิทธิ์ EIC) หรือหยุดอินสแตนซ์ ถอดโวลุม EBS ราก แนบเข้ากับอินสแตนซ์อื่น แก้ไขไฟล์ authorized_keys แล้วแนบกลับและเริ่มทำงานใหม่ สำหรับ Windows ให้ใช้ Systems Manager เพื่อดึงรหัสผ่าน

# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
  --instance-id i-0abcdef1234567890 \
  --instance-os-user ec2-user \
  --ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67

แนวปฏิบัติที่ดี: จำกัดการเข้าถึง SSH

การเปิด SSH (พอร์ต 22) ให้ 0.0.0.0/0 ทำให้อินสแตนซ์ของคุณเสี่ยงต่อการโจมตีแบบเดารหัสผ่านซ้ำ ๆ และการใช้ข้อมูลรับรองที่รั่วไหลจากทุกแห่งบนอินเทอร์เน็ต แนวปฏิบัติที่ดีคือ จำกัด SSH ให้เข้าถึงได้จากช่วง IP ขององค์กรที่ระบุ หรือใช้โฮสต์บาสเตียน (กล่องกระโดด) ในซับเน็ตสาธารณะที่มีกลุ่มความปลอดภัยควบคุมอย่างรัดกุม จากนั้นจึงเชื่อมต่อ SSH จากบาสเตียนไปยังอินสแตนซ์ส่วนตัว ทางเลือกที่ดีกว่าคือใช้Systems Manager Session Managerเพื่อตัดการเปิดเผยพอร์ต SSH ออกทั้งหมด โดยไม่ต้องมีกฎขาเข้าเลย

# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 198.51.100.0/24  # Your corporate CIDR

ขีดจำกัดและโควตาของกลุ่มความปลอดภัย

ขีดจำกัดเริ่มต้นสำคัญสำหรับกลุ่มความปลอดภัย ซึ่งปรับได้ผ่าน Service Quotas ได้แก่ กลุ่มความปลอดภัยสูงสุด 2,500 กลุ่มต่อ VPC กฎขาเข้า 60 กฎและกฎขาออก 60 กฎต่อกลุ่มความปลอดภัย และ กลุ่มความปลอดภัย 5 กลุ่มต่ออินเทอร์เฟซเครือข่าย เมื่ออ้างอิงกลุ่มความปลอดภัยอื่นเป็นต้นทาง การจับคู่ระหว่างกลุ่มความปลอดภัยที่อ้างอิงกับกฎแต่ละคู่จะนับเป็นหนึ่งกฎ หากถึงขีดจำกัดกฎ ให้รวมกฎโดยอ้างอิง ID ของกลุ่มความปลอดภัยแทนช่วง IP รายบุคคล หรือใช้รายการคำนำหน้าเพื่อจัดกลุ่ม CIDR หลายรายการเป็นเอนทิตีเดียวที่จัดการได้

รายการคำนำหน้าที่จัดการ

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

# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
  --group-id sg-12345678 \
  --ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจของคุณเกี่ยวกับแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า กลุ่มความปลอดภัยคือไฟร์วอลล์เสมือนแบบมีสถานะที่อนุญาตการรับส่งข้อมูลด้วยการปฏิเสธเป็นค่าเริ่มต้น การเชื่อมโยงกลุ่มความปลอดภัยด้วย ID มีความปลอดภัยและยืดหยุ่นกว่าการใช้ช่วง IP และ คู่กุญแจมอบการยืนยันตัวตน SSH แบบอสมมาตร ขณะที่ Systems Manager Session Manager ทำให้ไม่จำเป็นต้องเปิดพอร์ต SSH ต่อไป เราจะครอบคลุมตัวเลือกที่เก็บข้อมูล EC2 ได้แก่ Instance Store เทียบกับ EBS

เริ่มต้นได้ฟรี

เรียนรู้ AWS Solutions Architect ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “กลุ่มความปลอดภัยและคู่คีย์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “กลุ่มความปลอดภัยและคู่คีย์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Solutions Architect ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Solutions Architect มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “กลุ่มความปลอดภัยและคู่คีย์”

ควบคุมการรับส่งข้อมูลขาเข้าและขาออกด้วยกลุ่มความปลอดภัย และจัดการการยืนยันตัวตน SSH ด้วยคู่คีย์ EC2 คุณปฏิบัติ AWS Solutions Architect ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Solutions Architect หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Solutions Architect บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “กลุ่มความปลอดภัยและคู่คีย์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AWS Solutions Architect นี้ได้ไหม

ได้ บทเรียน AWS Solutions Architect ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเปิดใช้งานอินสแตนซ์ EC2 แรกของคุณ
  2. ประเภทอินสแตนซ์และรูปแบบราคา
  3. กลุ่มความปลอดภัยและคู่คีย์
  4. พื้นที่จัดเก็บ EC2: Instance Store เทียบกับ EBS
← กลับไปที่ AWS Solutions Architect