קבוצות אבטחה ל-GKE ב-AWS

במאמר הזה מוסבר על קבוצות האבטחה (SG) של AWS שצריך בשביל GKE ב-AWS.

אם מתקינים שירות ניהול או משתמשים ב-AWS VPC קיים,‏ anthos-gke יוצר עבורכם קבוצות אבטחה. אפשר להגדיר את ה-CRD‏ AWSCluster ואת ה-CRD‏ AWSNodePool עם רשימה של מזהים נוספים של קבוצות אבטחה.

בתרשים הבא מוצג איך GKE ב-AWS משתמש בקבוצות אבטחה כדי להתחבר ל- Google Cloud ולשירותי AWS.

תרשים של יציאות וחיבורים מרכיבי GKE ב-AWS אל Google Cloud ושירותי AWS.

קבוצת אבטחה של שירות הניהול

קבוצת האבטחה של שירות הניהול מאפשרת גישה ל-API של שירות הניהול באמצעות HTTPS. אם הגדרתם יעד מבוצר (bastion host), מותרת תנועה נכנסת מקבוצת האבטחה של באסטיון.

אם יוצרים סביבת GKE on AWS ב-AWS VPC קיים, צריך להיות לכם קבוצת אבטחה שמאפשרת את החיבורים הבאים.

סוג פרוטוקול יציאה כתובת תיאור
לקבלת נתונים TCP 443 VPC CIDR לאפשר HTTPS מ-AWS VPC.
לקבלת נתונים TCP 22 Bastion host SG הרשאה למנהור SSH מיעד מבוצר (bastion host) (כלול רק ב-VPC ייעודי).
להעברת נתונים TCP 80 0.0.0.0/0 התרת HTTP יוצא.
להעברת נתונים TCP 443 0.0.0.0/0 לאפשר HTTPS יוצא.

גישה לדומיינים חיצוניים

שירות הניהול דורש גישה יוצאת לדומיינים הבאים.

  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • storage.googleapis.com
  • www.googleapis.com
  • gcr.io
  • k8s.gcr.io
  • EC2-REGION.ec2.archive.ubuntu.com

מחליפים את EC2-REGION באזור AWS EC2 שבו פועלת ההתקנה של GKE on AWS. לדוגמה, us-west-1.ec2.archive.ubuntu.com/.

אם אתם משתמשים ב-Cloud Service Mesh עם Prometheus ו-Kiali, אתם צריכים לאפשר גישה יוצאת מהדומיינים הבאים:

  • docker.io
  • quay.io

קבוצת אבטחה של יעד מבוצר (bastion host) (אופציונלי)

אתם משתמשים בחיבורים של קבוצת האבטחה של שרת הבסטיון שמותרים על ידי הקבוצה שלו כדי להתחבר לשירות הניהול של GKE ב-AWS ולאשכולות המשתמשים. הקבוצה הזו היא אופציונלית והיא נכללת רק אם משתמשים ב-anthos-gke כדי ליצור התקנה של GKE ב-AWS בVPC ייעודי.

סוג פרוטוקול יציאה כתובת תיאור
לקבלת נתונים TCP 22 בלוק ה-CIDR מ-bastionAllowedSSHCIDRBlocks בהגדרה AWSManagementService. מאפשרים SSH ליעד מבוצר (bastion host).
להעברת נתונים TCP 22 0.0.0.0/0 אפשר להשתמש ב-SSH יוצא.
להעברת נתונים TCP 80 0.0.0.0/0 התרת HTTP יוצא.
להעברת נתונים TCP 443 0.0.0.0/0 לאפשר HTTPS יוצא.

קבוצת אבטחה של מישור הבקרה

קבוצת האבטחה של מישור הבקרה מאפשרת חיבורים בין צמתים של מישור הבקרה לבין שירות הניהול, ובין צמתים של מישור הבקרה לבין מאגרי צמתים.

מישור הבקרה מורכב משלושה מופעי EC2 מאחורי מאזן עומסי רשת של AWS ‏(NLB). המופעים האלה מקבלים חיבורים ממופעי etcd בצמתים אחרים, בצמתים של מאגר הצמתים וב-NLB. כדי לעדכן רכיבי GKE ב-AWS, צריך לאפשר את כל התנועה היוצאת של HTTP/HTTPS.

מציינים את מזהי קבוצות האבטחה בהגדרה של AWSCluster.

סוג פרוטוקול יציאה כתובת תיאור
לקבלת נתונים TCP 2380 ה-SG הזה מאפשרים שכפול של etcd במישור הבקרה.
לקבלת נתונים TCP 2381 ה-SG הזה היתר שכפול אירועים של etcd במישור הבקרה.
לקבלת נתונים TCP 443 מאגר צמתים SG לאפשר HTTPS מצמתים של מאגר צמתים.
לקבלת נתונים TCP 443 טווח CIDR של AWS VPC לאפשר HTTPS ממאזן העומסים ומשירות הניהול.
לקבלת נתונים TCP 11872 טווח CIDR של AWS VPC בדיקת תקינות של HTTP למאזן עומסים.
להעברת נתונים TCP 22 מאגר צמתים SG אפשר להשתמש במנהור SSH למאגרי צמתים (בגרסאות 1.20 ומטה של אשכולות).
לקבלת נתונים TCP 8132 מאגר צמתים SG מתן הרשאה לחיבור Konnectivity ממאגרי צמתים (לגרסאות של אשכולות v1.21 ומעלה).
להעברת נתונים TCP 80 0.0.0.0/0 התרת HTTP יוצא.
להעברת נתונים TCP 443 0.0.0.0/0 לאפשר HTTPS יוצא.
להעברת נתונים TCP 2380 ה-SG הזה מאפשרים שכפול של etcd במישור הבקרה.
להעברת נתונים TCP 2381 ה-SG הזה היתר שכפול אירועים של etcd במישור הבקרה.
להעברת נתונים TCP 10250 מאגר צמתים SG מאפשרים חיבורים ממישור הבקרה אל Kubelet.

קבוצת אבטחה של מאגר צמתים

קבוצת האבטחה של מאגר הצמתים מאפשרת חיבורים ממישור הבקרה ומצמתים אחרים. מציינים את מזהי קבוצות האבטחה בהגדרות של AWSNodePool.

סוג פרוטוקול יציאה כתובת תיאור
לקבלת נתונים TCP הכול ה-SG הזה מתן הרשאה לתקשורת בין פודים.
לקבלת נתונים TCP 22 קבוצת אבטחה של מישור הבקרה מתן הרשאה למנהור SSH ממישור הבקרה (עבור אשכולות מגרסה 1.20 ומטה).
להעברת נתונים TCP 8132 קבוצת אבטחה של מישור הבקרה אפשר להשתמש בחיבורי Konnectivity למישור הבקרה (בגרסאות 1.21 ואילך של אשכולות).
לקבלת נתונים TCP 443 קבוצת אבטחה של מישור הבקרה מאפשרים חיבורים ממישור הבקרה אל Kubelet.
לקבלת נתונים TCP 10250 קבוצת אבטחה של מישור הבקרה מאפשרים חיבורים ממישור הבקרה אל Kubelet.
להעברת נתונים TCP הכול ה-SG הזה מתן הרשאה לתקשורת בין פודים.
להעברת נתונים TCP 80 0.0.0.0/0 התרת HTTP יוצא.
להעברת נתונים TCP 443 0.0.0.0/0 לאפשר HTTPS יוצא.