שילוב של Amazon EC2 עם Google SecOps
במאמר הזה מוסבר איך לשלב את AWS Elastic Compute Cloud (Amazon EC2) עם Google Security Operations.
תרחישים לדוגמה
אבטחת המכונות של Amazon Elastic Compute Cloud (Amazon EC2)
- יוצרים קבוצות אבטחה כדי להגביל את הגישה לאינטרנט הנכנסת והיוצאת ל-Amazon EC2.
- הקצאת כתובת Elastic IP חדשה
- שיוך של כתובת Elastic IP חדשה
ניהול משאבים – שימוש בתגים מותאמים אישית של מכונות כדי לעקוב אחרי משאבי AWS ולזהות אותם.
לפני שמתחילים
לפני שמגדירים את השילוב של AWS Elastic Compute Cloud (EC2) ב-Google SecOps, צריך לוודא שסביבת הרשת ופרטי הכניסה ל-AWS עומדים בכל הדרישות המוקדמות לתפעול.
כדי להכין את הסביבה לשילוב, צריך לבצע את הפעולות הבאות:
מוודאים שיש קו ראייה ברשת בין Google SecOps לבין נקודות הקצה של השירות האזורי של AWS EC2.
משיגים פרטי כניסה פרוגרמטיים ל-API של AWS (מזהה מפתח גישה ומפתח גישה סודי) עם הרשאות IAM מתאימות.
מגדירים ובודקים את המכונה המשולבת ב-Google SecOps.
דרישות רשת
מערכת Google SecOps מתקשרת ישירות עם שירות AWS EC2 באמצעות ממשקי API בארכיטקטורת REST ב-HTTPS ו-AWS Python SDK (boto3).
חשוב לוודא שסביבת הרשת עומדת בכללי הקישוריות הבאים:
גישה יוצאת ל-HTTPS: מפעילים תקשורת יוצאת של HTTPS מהמכונה של Google SecOps או מהסוכן המרוחק לנקודת הקצה האזורית של AWS EC2 (
ec2.<region>.amazonaws.com) דרך יציאה443/TCP.מידע נוסף זמין במאמר AWS Service Endpoints במסמכי התיעוד של AWS.
הגדרת שרת proxy: אם הארגון שלכם מנתב תעבורת נתונים יוצאת דרך Proxy ל-HTTP/HTTPS, צריך להגדיר משתני סביבה סטנדרטיים של שרת proxy (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) בשרת Google SecOps או במארח של הסוכן המרוחק.
אימות ופרטי כניסה
כדי לשלב את AWS EC2, צריך פרטי כניסה פרוגרמטיים ל-API כדי לאמת בקשות באמצעות AWS Signature Version 4.
חשוב לוודא שסביבת AWS עומדת בדרישות האימות הבאות:
פרטי כניסה פרוגרמטיים: משיגים מזהה מפתח גישה תקין ל-AWS ומפתח סודי ל-AWS שמשויכים למשתמש או לתפקיד ב-AWS IAM.
למידע על יצירת זהויות IAM ופרטי כניסה, קראו את המאמרים ניהול מפתחות גישה למשתמשי IAM וזהויות IAM במאמרי העזרה של AWS.
הרשאות מינימליות: הגבילו את ההרשאות רק לפעולות ולמשאבי המחשוב שנדרשים לתהליכי העבודה האוטומטיים, והחליפו את פרטי הכניסה מדי פעם.
לפרטים על המלצות אבטחה, ראו שיטות מומלצות לאבטחה ב-IAM במסמכי התיעוד של AWS.
הגדרת הרשאות לפעולות
נותנים לזהות AWS IAM המאומתת את ההרשאות הספציפיות שנדרשות לפעולות שהפלייבוקים של Google SecOps מבצעים.
בטבלה הבאה מפורטות ההרשאות המינימליות לפעולות ב-AWS Elastic Compute Cloud (EC2):
| שם הפעולה | הרשאת AWS IAM נדרשת (ActionName:Permission) |
הרשאה נדרשת | תיאור / היקף המשאבים |
|---|---|---|---|
| Authorize Security Group Egress | ec2:AuthorizeSecurityGroupEgress |
ec2:DescribeRegions |
הוספת כללים לתעבורת נתונים יוצאת לקבוצת אבטחה של EC2. משאב: ה-ARN של קבוצת האבטחה המטורגטת. |
| Authorize Security Group Ingress | ec2:AuthorizeSecurityGroupIngress |
ec2:DescribeRegions |
הוספת כללים נכנסים לקבוצת אבטחה של EC2. משאב: ה-ARN של קבוצת האבטחה המטורגטת. |
| יצירת תגים | ec2:CreateTags |
ec2:DescribeRegions |
הוספה או החלפה של תגים במשאבי EC2. Resource: ה-ARN של משאב היעד ב-EC2. |
| רשימת מכונות | ec2:DescribeInstances |
ec2:DescribeRegions |
אחזור הסטטוס והמטא-נתונים של מכונות EC2. מקור מידע:
*. |
| רשימת קבוצות אבטחה | ec2:DescribeSecurityGroups |
— | אחזור של הגדרות וכללים של קבוצות אבטחה. מקור מידע:
*. |
| פינג | ec2:DescribeRegions |
— | מאמת את הקישוריות של השילוב. המשאב: *. |
| ביטול תעבורת נתונים יוצאת (egress) של קבוצת אבטחה | ec2:RevokeSecurityGroupEgress |
ec2:DescribeRegions |
הסרת כללים לתעבורה יוצאת מקבוצת אבטחה של EC2. משאב: ה-ARN של קבוצת האבטחה המטורגטת. |
| ביטול כניסה לקבוצת אבטחה | ec2:RevokeSecurityGroupIngress |
ec2:DescribeRegions |
הסרת כללים נכנסים מקבוצת אבטחה של EC2. משאב: ה-ARN של קבוצת האבטחה המטורגטת. |
| הפעלת מכונה | ec2:StartInstances |
— | הפעלת מכונות EC2 שהופסקו. משאב: ה-ARN של מכונת היעד ב-EC2. |
| עצירת המכונה | ec2:StopInstances |
— | עצירת מכונות EC2 פועלות. משאב: ה-ARN של מכונת היעד ב-EC2. |
| צילום תמונה במסגרת | ec2:CreateSnapshots |
ec2:DescribeRegions |
יוצרת תמונות מצב של EBS בנקודת זמן מסוימת לנפחי מכונות. משאב: מזהי ARN של מכונה ושל אמצעי אחסון. |
| סגירת המכונה | ec2:TerminateInstances |
— | מכבה ומפסיקה מכונות EC2. Resource: ה-ARN של מכונת היעד ב-EC2. |
הסבר לסמלים שמופיעים בטבלה (ActionName:Permission)
כדי לבדוק מהן ההרשאות הנדרשות לכל פעולה, אפשר להיעזר בטבלה הבאה:
Ping: ec2:DescribeRegions
Authorize Security Group Egress: ec2:AuthorizeSecurityGroupEgress, ec2:DescribeRegions
Authorize Security Group Ingress: ec2:AuthorizeSecurityGroupIngress, ec2:DescribeRegions
Create Tags: ec2:CreateTags, ec2:DescribeRegions
List Instances: ec2:DescribeInstances, ec2:DescribeRegions
List Security Groups: ec2:DescribeSecurityGroups
Revoke Security Group Egress: ec2:RevokeSecurityGroupEgress, ec2:DescribeRegions
Revoke Security Group Ingress: ec2:RevokeSecurityGroupIngress, ec2:DescribeRegions
Start Instance: ec2:StartInstances
Stop Instance: ec2:StopInstances
Take Snapshot: ec2:CreateSnapshots, ec2:DescribeRegions
Terminate Instance: ec2:TerminateInstances
דוגמה למדיניות IAM (הרשאות מינימליות)
מדיניות לדוגמה שממחישה את ההרשאות שנדרשות כדי להריץ את כל הפעולות של AWS EC2 ב-Google SecOps.
במסמכי התיעוד של AWS מוסבר איך יוצרים ומצרפים כללי מדיניות IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SecOpsEC2Discovery",
"Effect": "Allow",
"Action": [
"ec2:DescribeRegions",
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
},
{
"Sid": "SecOpsEC2InstanceRemediation",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances",
"ec2:CreateTags",
"ec2:CreateSnapshots"
],
"Resource": "*"
},
{
"Sid": "SecOpsEC2SecurityGroupManagement",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*"
}
]
}
פרמטרים של שילוב
כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהה מפתח הגישה של AWS | String | לא רלוונטי | כן | מזהה מפתח הגישה ל-AWS שבו משתמשים בשילוב. |
| מפתח סודי של AWS | סיסמה | לא רלוונטי | כן | מפתח סודי של AWS לשימוש בשילוב. |
| אזור ברירת המחדל של AWS | String | לא רלוונטי | כן | אזור ברירת המחדל של AWS לשימוש בשילוב, לדוגמה us-west-2. |
איך מגדירים שילובים ב-Google SecOps
אם צריך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של אינטגרציה, אפשר להשתמש בו בפלייבוקים. במאמר תמיכה במספר מופעים מוסבר איך להגדיר מספר מופעים ולתמוך בהם.
פעולות
מידע נוסף על פעולות זמין במאמרים מענה לפעולות בהמתנה משולחן העבודה והפעלה ידנית של פעולה בבקשת התמיכה.
אישור תעבורת נתונים יוצאת של קבוצת אבטחה
מוסיף את כלל התעבורה היוצאת שצוין לקבוצת אבטחה לשימוש עם VPC. כלל תעבורת נתונים יוצאת מאפשר למכונות לשלוח תעבורת נתונים לטווחי הכתובות שצוינו ב-CIDR של IPv4 או IPv6. השינויים בכללים מופצים למכונות המושפעות במהירות האפשרית. עם זאת, יכול להיות עיכוב קל.
מידע נוסף על המגבלות של קבוצות אבטחה ב-VPC זמין במאמר Amazon VPC Limits.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי קבוצות אבטחה | String | לא רלוונטי | כן | מזהה אחד או יותר של קבוצת אבטחה. מופרדים בפסיקים. Note for dev: every ID in a separate request |
| פרוטוקול IP | DDL | all | לא | שם פרוטוקול ה-IP. כדי לציין את כל הפרוטוקולים, משתמשים בערך "all". אם מציינים "all", תתאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. ערכים אפשריים: tcp , udp , icmp, all Note for dev: 'all' equals -1 from code |
| יציאת המקור | מספר שלם | לא | ההתחלה של טווח היציאות לפרוטוקולים TCP ו-UDP, או מספר מסוג ICMP. | |
| יציאת היעד | מספר שלם | לא | הסוף של טווח היציאות לפרוטוקולים TCP ו-UDP מאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. | |
| טווחי IP – CidrIP | String | לא רלוונטי | לא | טווח ה-CIDR של IPv4. כדי לציין כתובת IPv4 אחת, משתמשים באורך הקידומת /32. |
| טווחי IPv6 – CidrIP | String | לא רלוונטי | לא | טווח ה-CIDR של IPv6. כדי לציין כתובת IPv6 אחת, משתמשים באורך הקידומת /128. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם כללי התעבורה היוצאת שצוינו נוספו בהצלחה לקבוצת אבטחה אחת לפחות (או לכולן): (is_success = true): "Successfully added the specified egress rule to the following security groups: {group_ids}" אם הוספת כללי התעבורה היוצאת שצוינו נכשלה בגלל שגיאה בכלל ההרשאות (יציאה לא חוקית וכו'): (is_success = false): "הוספת כלל התעבורה היוצאת שצוין לקבוצות האבטחה הבאות נכשלה: {group_ids}. הסיבה: הוגדרה קבוצת הרשאות IP לא תקינה. פרטים נוספים זמינים ביומנים". אם לא הצלחתם להוסיף את כללי התעבורה היוצאת שצוינו בגלל מזהה לא תקין של קבוצת אבטחה: (is_success = false): "Failed to add the specified egress rule to the following security groups: {group_ids}. הסיבה: צוין מזהה לא תקין של קבוצת אבטחה. פרטים נוספים מופיעים ביומנים.`` אם לא הצלחתם להוסיף את כללי התעבורה היוצאת שצוינו לכל הקבוצות: is_success=false הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "אישור תעבורת נתונים יוצאת של קבוצת אבטחה". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
הרשאת כניסה לקבוצת אבטחה
מוסיפה את כלל הכניסה שצוין לקבוצת אבטחה. כלל תנועה נכנסת מאפשר למכונות לקבל תנועה מטווחי הכתובות שצוינו ב-CIDR של IPv4 או IPv6. שינויים בכללים מופצים למכונות המושפעות מהר ככל האפשר. עם זאת, יכול להיות עיכוב קל.
מידע נוסף על המגבלות של קבוצות אבטחה ב-VPC זמין במאמר Amazon VPC Limits.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי קבוצות אבטחה | String | לא רלוונטי | כן | מזהה אחד או יותר של קבוצת אבטחה. מופרדים בפסיקים. Note for dev: every ID in a separate request |
| פרוטוקול IP | DDL | all | לא | שם פרוטוקול ה-IP. כדי לציין את כל הפרוטוקולים, משתמשים בערך "all". אם מציינים "all", תתאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. ערכים אפשריים: tcp , udp , icmp, all Note for dev: 'all' equals -1 from code |
| יציאת המקור | מספר שלם | לא | ההתחלה של טווח היציאות לפרוטוקולים TCP ו-UDP, או מספר מסוג ICMP. | |
| יציאת היעד | מספר שלם | לא | הסוף של טווח היציאות לפרוטוקולים TCP ו-UDP מאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. | |
| טווחי IP – CidrIP | String | לא רלוונטי | לא | כתובת ה-IPv4 בפורמט CIDR. כדי לציין כתובת IPv4 אחת, משתמשים באורך הקידומת /32. |
| טווחי IPv6 – CidrIP | String | לא רלוונטי | לא | טווח ה-CIDR של IPv6. כדי לציין כתובת IPv6 אחת, משתמשים באורך הקידומת /128. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם כללי הכניסה שצוינו נוספו בהצלחה לקבוצת אבטחה אחת לפחות (אם כולם עודכנו בהצלחה – is_success = true): "כלל הכניסה שצוין נוסף בהצלחה לקבוצות האבטחה הבאות: {group_ids}" אם לא הצלחתם להוסיף את כללי ה-ingress שצוינו בגלל שגיאה בכלל ההרשאות (יציאה לא חוקית וכו'): (is_success =false): "לא הצלחנו להוסיף את כלל ה-ingress שצוין לקבוצות האבטחה הבאות: {group_ids}. הסיבה: הוגדרה קבוצת הרשאות IP לא תקינה. פרטים נוספים זמינים ביומנים". אם לא הצליח להוסיף את כללי תעבורת הנתונים הנכנסת שצוינו בגלל מזהה לא תקין של קבוצת אבטחה: (is_success =false): "לא הצליח להוסיף את כלל תעבורת הנתונים הנכנסת שצוין לקבוצות האבטחה הבאות: {group_ids}. הסיבה: צוין מזהה לא תקין של קבוצת אבטחה. פרטים נוספים מופיעים ביומנים.`` הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "אישור כניסה לקבוצת אבטחה". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
יצירת תגים
תג הוא תווית שאתם מקצים למשאב AWS. כל תג מורכב ממפתח ומערך אופציונלי. אתם יכולים להשתמש בתגים כדי לחפש ולסנן את המשאבים או לעקוב אחרי העלויות ב-AWS. מוסיף או מחליף רק את התגים שצוינו למשאב או למשאבים שצוינו ב-Amazon EC2. כשמציינים מפתח תג קיים, הערך מוחלף בערך החדש. לכל משאב יכולים להיות עד 50 תגים. מפתחות התגים צריכים להיות ייחודיים לכל משאב.
מידע נוסף על תגים זמין במאמר Tagging Your Resources במדריך למשתמש של Amazon Elastic Compute Cloud.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי המשאבים | String | לא רלוונטי | כן | מזהה משאב אחד או יותר. מופרדים בפסיקים. |
| תגים | String | לא רלוונטי | כן | שילוב המפתח/ערך של תג שיוקצה למשאב. לדוגמה, כדי להוסיף לכל המשאבים שצוינו תג עם המפתח אתם יכולים להוסיף את התגים שצוינו או להחליף אותם. מפתחות התגים חייבים להיות ייחודיים לכל משאב. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם הפעולה בוצעה: "Successfully added {tags_list} tags to the following resources: "resource_ids" למזהי משאבים לא חוקיים (is_success = false): "Failed to add {tag_list} tags to the following resources: {resource_ids}. הסיבה: מזהה משאב לא תקין אם למשאב יש יותר מ-50 תגים (is_success = false): "Failed to add {tag_list} tags to the following resources: {resource_ids}. הסיבה: למשאב יכולים להיות עד 50 תגים. אם מפתח התג לא ייחודי: (is_success = false): "Failed to add {tag_list} tags to the following resources: {resource_ids}. הסיבה: מפתחות התגים צריכים להיות ייחודיים לכל משאב. אם התג שצוין הוא בפורמט לא תקין (כלומר רק מפתח או רק ערך בלי המבנה המלא של key:value) (is_success = false): "Failed to add {invalid_tags} tags to the following resources: {ids}. הסיבה: פורמט לא תקין. התג צריך לכלול מפתח וערך. הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה 'יצירת תגים'. הסיבה: {0}''.format(error.Stacktrace) |
כללי |
הצגת רשימה של מכונות
תיאור של המכונות שצוינו או של כל המכונות.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי מופעים | String | לא רלוונטי | לא | מזהה אחד או יותר של מכונות. אם מציינים מזהי מכונות, הפלט כולל מידע רק על המכונות שצוינו. אי אפשר להשתמש בפרמטר הזה עם הפרמטר "מספר תוצאות מקסימלי". לפרמטר "מזהי מופעים" יש עדיפות על פני הפרמטר "מספר תוצאות מקסימלי". |
| מסנני תגים | String | לא רלוונטי | לא | שילוב המפתח/ערך של תג שהוקצה למשאב. לדוגמה, כדי למצוא את כל המשאבים שיש להם תג עם המפתח Owner והערך TeamA, מציינים Owner:TeamA. מסנני תגים מופרדים בפסיקים. דוגמה: Name:Name1,Owner:TeamA. המופעים שיוחזרו יתאימו לכל המסננים. |
| מספר התוצאות המקסימלי | מספר שלם | 50 | לא | מציינים כמה מופעים להחזיר. ברירת המחדל היא 50. המספר המקסימלי הוא 1,000. אי אפשר להשתמש בפרמטר "מזהי מופעים" עם הפרמטר "מספר תוצאות מקסימלי". ל"מזהי מופעים" יש עדיפות על פני הפרמטר "תוצאה מקסימלית". |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
"EC2_Instances": [
{
"AmiLaunchIndex":0,
"ImageId":"ami-047a51fa27710816e",
"InstanceId":"i-044c08c5bfe1a7f98",
"InstanceType":"t2.micro",
"KeyName":"\"Key\": \"Test\", \"Value\":\"Test\"",
"LaunchTime":"2021-1-30",
"Monitoring":{
"State":"disabled"
},
"Placement":{
"AvailabilityZone":"us-east-1d",
"GroupName":"",
"Tenancy":"default"
},
"PrivateDnsName":"ip-192-0-2-220.ec2.internal",
"PrivateIpAddress":"192.0.2.220",
"ProductCodes":[
],
"PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
"PublicIpAddress":"192.0.2.218",
"State":{
"Code":16,
"Name":"running"
},
"StateTransitionReason":"",
"SubnetId":"subnet-1b1fda3a",
"VpcId":"vpc-ID",
"Architecture":"x86_64",
"BlockDeviceMappings":[
{
"DeviceName":"/dev/xvda",
"Ebs":{
"AttachTime":"2021-1-30",
"DeleteOnTermination":true,
"Status":"attached",
"VolumeId":"vol-00f70681a43e5d86e"
}
}
],
"ClientToken":"",
"EbsOptimized":false,
"EnaSupport":true,
"Hypervisor":"xen",
"NetworkInterfaces":[
{
"Association":{
"IpOwnerId":"amazon",
"PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
"PublicIp":"192.0.2.218"
},
"Attachment":{
"AttachTime":"",
"AttachmentId":"eni-attach-06bc5e5901ce99ef2",
"DeleteOnTermination":true,
"DeviceIndex":0,
"Status":"attached",
"NetworkCardIndex":0
},
"Description":"",
"Groups":[
{
"GroupName":"launch-wizard-2",
"GroupId":"sg-001700ccddac4189a"
}
],
"Ipv6Addresses":[
],
"MacAddress":"12:34:56:ab:cd:ef",
"NetworkInterfaceId":"eni-020fa83efd417e32d",
"OwnerId":"ID",
"PrivateDnsName":"ip-192-0-2-220.ec2.internal",
"PrivateIpAddress":"192.0.2.220",
"PrivateIpAddresses":[
{
"Association":{
"IpOwnerId":"amazon",
"PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
"PublicIp":"192.0.2.218"
},
"Primary":true,
"PrivateDnsName":"ip-192-0-2-220.ec2.internal",
"PrivateIpAddress":"192.0.2.220"
}
],
"SourceDestCheck":true,
"Status":"in-use",
"SubnetId":"subnet-1b1fda3a",
"VpcId":"vpc-ID",
"InterfaceType":"interface"
}
],
"RootDeviceName":"/dev/xvda",
"RootDeviceType":"ebs",
"SecurityGroups":[
{
"GroupName":"launch-wizard-2",
"GroupId":"sg-001700ccddac4189a"
}
],
"SourceDestCheck":true,
"Tags":[
{
"Key":"Owner",
"Value":"Example"
},
{
"Key":"Name",
"Value":"Example test"
}
],
"VirtualizationType":"hvm",
"CpuOptions":{
"CoreCount":1,
"ThreadsPerCore":1
},
"CapacityReservationSpecification":{
"CapacityReservationPreference":"open"
},
"HibernationOptions":{
"Configured":false
},
"MetadataOptions":{
"State":"applied",
"HttpTokens":"optional",
"HttpPutResponseHopLimit":1,
"HttpEndpoint":"enabled"
},
"EnclaveOptions":{
"Enabled":false
}
}
]
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:
הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה קריטית, מזהה מכונה לא חוקי, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "רשימת מכונות". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
| שולחן קיר עם ויטרינה | שם הטבלה: מכונות של Amazon EC2 עמודות בטבלה: מזהה מדינה סוג אזור זמינות DNS ציבורי של IPv4 כתובת IPv4 ציבורית מעקב שם קבוצת האבטחה שם מפתח שעת ההשקה |
הצגת רשימה של קבוצות אבטחה
מתאר את קבוצות האבטחה שצוינו או את כל קבוצות האבטחה שלכם. קבוצת אבטחה מיועדת לשימוש עם מכונות בפלטפורמת EC2-Classic או ב-VPC ספציפי.
מידע נוסף זמין במאמר Amazon EC2 Security Groups.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שמות של קבוצות אבטחה | String | לא רלוונטי | לא נכון | שם אחד או יותר של קבוצת אבטחה [EC2-Classic ו-VPC שמוגדר כברירת מחדל בלבד]. מופרדים בפסיקים.אם מציינים שמות של קבוצות אבטחה, הפלט כולל מידע רק על השמות שצוינו. |
| מזהי קבוצות אבטחה | String | לא רלוונטי | לא נכון | מזהה אחד או יותר של קבוצת אבטחה. מופרדים בפסיקים.אם מציינים מזהים של קבוצות אבטחה, הפלט כולל מידע רק על המזהים שצוינו. נדרש לקבוצות אבטחה ב-VPC שאינו ברירת מחדל. |
| מסנני תגים | String | לא רלוונטי | לא נכון | שילוב המפתח/ערך של תג שהוקצה לקבוצת האבטחה. לדוגמה, כדי למצוא את כל הקבוצות עם תג שכולל את המפתח |
| מספר התוצאות המקסימלי | מספר שלם | 50 | לא נכון | מספר קבוצות האבטחה שיוחזרו. ערך ברירת המחדל הוא 50.
הערך המקסימלי הוא 1000.
הערה: אי אפשר להשתמש בפרמטרים "מזהי קבוצות אבטחה" ו"שמות של קבוצות אבטחה" עם הפרמטר "מספר תוצאות מקסימלי". |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
"EC2_Security_Groups": [
{
"Description":"launch-wizard-2 created 2021-01-30T19:37:11.523+02:00",
"GroupName":"launch-wizard-2",
"IpPermissions":[
{
"FromPort":22,
"IpProtocol":"tcp",
"IpRanges":[
{
"CidrIp":"192.0.2.0/0"
}
],
"Ipv6Ranges":[
],
"PrefixListIds":[
],
"ToPort":22,
"UserIdGroupPairs":[
]
}
],
"OwnerId":"582302349248",
"GroupId":"sg-001700ccddac4189a",
"IpPermissionsEgress":[
{
"IpProtocol":"-1",
"IpRanges":[
{
"CidrIp":"192.0.2.0/0"
}
],
"Ipv6Ranges":[
],
"PrefixListIds":[
],
"UserIdGroupPairs":[
]
}
],
"Tags":[
{
"Key":"Team",
"Value":"A-Team"
},
{
"Key":"Owner",
"Value":"Example"
}
],
"VpcId":"vpc-ID"
}
]
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:
הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, מזהה או שם קבוצה לא חוקיים, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה 'רשימת קבוצות אבטחה'. הסיבה: {0}''.format(error.Stacktrace) |
כללי |
| שולחן קיר עם ויטרינה | שם הטבלה: מכונות של Amazon EC2 עמודות בטבלה: מזהה קבוצת האבטחה שם קבוצת האבטחה מזהה VPC תיאור מזהה בעלים |
פינג
בודקים את הקישוריות ל-AWS EC2.
פרמטרים
לא רלוונטי
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם החיבור הצליח: "Successfully connected to the Amazon EC2 with the provided connection parameters!" הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם התגובה נכשלה: "החיבור לשרת Amazon EC2 נכשל! השגיאה היא {0}".format(exception.stacktrace) |
כללי |
ביטול תעבורת נתונים יוצאת של קבוצת אבטחה
הסרת כללי התעבורה היוצאת שצוינו מקבוצת אבטחה של EC2-VPC. הפעולה הזו לא חלה על קבוצות אבטחה לשימוש ב-EC2-Classic. כדי להסיר כלל, הערכים שאתם מציינים (למשל, יציאות) חייבים להתאים בדיוק לערכים של הכלל הקיים. שינויים בכללים מופצים למכונות בקבוצת האבטחה במהירות האפשרית. עם זאת, יכול להיות עיכוב קל.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי קבוצות אבטחה | String | לא רלוונטי | כן | מזהה אחד או יותר של קבוצת אבטחה. מופרדים בפסיקים. Note for dev: every ID in a separate request |
| פרוטוקול IP | DDL | all | לא | שם פרוטוקול ה-IP. כדי לציין את כל הפרוטוקולים, משתמשים בערך "all". אם מציינים "all", תתאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. ערכים אפשריים: tcp , udp , icmp, all Note for dev: 'all' equals -1 from code |
| יציאת המקור | מספר שלם | לא | ההתחלה של טווח היציאות לפרוטוקולים TCP ו-UDP, או מספר מסוג ICMP. | |
| יציאת היעד | מספר שלם | לא | הסוף של טווח היציאות לפרוטוקולים TCP ו-UDP מאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. | |
| טווחי IP – CidrIP | String | לא רלוונטי | לא | כתובת ה-IPv4 בפורמט CIDR. כדי לציין כתובת IPv4 אחת, משתמשים באורך הקידומת /32. |
| טווחי IPv6 – CidrIP | String | לא רלוונטי | לא | טווח ה-CIDR של IPv6. כדי לציין כתובת IPv6 אחת, משתמשים באורך הקידומת /128. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם כללי התעבורה היוצאת שצוינו בוטלו בהצלחה מקבוצת אבטחה אחת לפחות (או מכולן): (is_success = true): "Successfully revoked the specified egress rule from the following security groups: {group_ids}" אם לא הצלחנו לבטל את כללי התעבורה היוצאת שצוינו בגלל שגיאה בכלל ההרשאות (יציאה לא חוקית כמו 205 וכו'): (is_success =false): "Failed to revoke the specified egress rule from the following security groups: {group_ids}. הסיבה: הוגדרה קבוצת הרשאות IP לא תקינה. פרטים נוספים זמינים ביומנים". אם לא הצליח לבטל את כללי התעבורה היוצאת שצוינו בגלל מזהה קבוצת אבטחה לא חוקי: (is_success =false): "לא הצליח לבטל את כלל התעבורה היוצאת שצוין מקבוצות האבטחה הבאות: {group_ids}. הסיבה: צוין מזהה לא תקין של קבוצת אבטחה. פרטים נוספים מופיעים ביומנים.`` הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "ביטול קבוצת אבטחה יוצאת". הסיבה: {0}''.format(error.Stacktrace) |
Gener |
ביטול כניסה לקבוצת אבטחה
הסרה של כללי כניסה (ingress) שצוינו (כללים לתעבורת נתונים נכנסת) מקבוצת אבטחה. כדי להסיר כלל, הערכים שאתם מציינים (למשל, יציאות) חייבים להיות זהים בדיוק לערכים של הכלל הקיים. שינויים בכללים מופצים למכונות בקבוצת האבטחה במהירות האפשרית. עם זאת, יכול להיות עיכוב קל.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי קבוצות אבטחה | String | לא רלוונטי | כן | מזהה אחד או יותר של קבוצת אבטחה. מופרדים בפסיקים. Note for dev: every ID in a separate request |
| פרוטוקול IP | DDL | all | לא | שם פרוטוקול ה-IP. כדי לציין את כל הפרוטוקולים, משתמשים בערך "all". אם מציינים "all", תתאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. ערכים אפשריים: tcp , udp , icmp, all Note for dev: 'all' equals -1 from code |
| יציאת המקור | מספר שלם | לא | ההתחלה של טווח היציאות לפרוטוקולים TCP ו-UDP, או מספר מסוג ICMP. | |
| יציאת היעד | מספר שלם | לא | הסוף של טווח היציאות לפרוטוקולים TCP ו-UDP מאפשר תנועה בכל היציאות, בלי קשר לטווח היציאות שציינתם. | |
| טווחי IP – CidrIP | String | לא רלוונטי | לא | כתובת ה-IPv4 בפורמט CIDR. כדי לציין כתובת IPv4 אחת, משתמשים באורך הקידומת /32. |
| טווחי IPv6 – CidrIP | String | לא רלוונטי | לא | טווח ה-CIDR של IPv6. כדי לציין כתובת IPv6 אחת, משתמשים באורך הקידומת /128. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם כללי הכניסה שצוינו בוטלו בהצלחה בקבוצת אבטחה אחת לפחות (או בכולן): (is_success = true): "כלל הכניסה שצוין בוטל בהצלחה בקבוצות האבטחה הבאות: {group_ids}" אם לא הצלחנו לבטל את כללי ה-ingress שצוינו בגלל שגיאה בכלל ההרשאות (יציאה לא חוקית כמו 205 וכו'): (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. הסיבה: הוגדרה קבוצת הרשאות IP לא תקינה. פרטים נוספים זמינים ביומנים". אם לא הצלחתם לבטל את כללי ה-Ingress שצוינו בגלל מזהה לא תקין של קבוצת אבטחה: (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. הסיבה: צוין מזהה לא תקין של קבוצת אבטחה. פרטים נוספים מופיעים ביומנים.`` הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "ביטול כניסה לקבוצת אבטחה". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
הפעלת המכונה
הפעלת מכונה מגובה ב-Amazon Elastic Block Store (Amazon EBS) שהפסקתם בעבר. יכול להיות שיעברו כמה דקות עד שהמכונה תתחיל לפעול. שימו לב שאי אפשר להפעיל מכונה שמגובה במאגר מכונות. מידע נוסף על מכונות שמגובות במאגר מכונות זמין במאמר אחסון למכשיר הבסיס.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי מופעים | String | לא רלוונטי | כן | מזהה אחד או יותר של מכונה. מופרד באמצעות פסיק |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"CurrentState": "pending",
"InstanceId": "string",
"PreviousState":"stopped"
}
]
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:
הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "הפעלת מכונה". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
עצירת המכונה
עצירת מכונה שמגובה ב-Amazon EBS. כשעוצרים מכונה, המערכת מנסה לכבות אותה באופן מאולץ אחרי השהיה קצרה. לוקח כמה דקות עד שהמכונה מפסיקה לפעול. אפשר להפעיל מחדש את המכונה בכל שלב. אי אפשר לעצור מכונה שמגובה במאגר מכונות, אלא צריך לסיים אותה. מידע נוסף על מכונות שמגובות במאגר מכונות זמין בכתובת https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי מופעים | String | לא רלוונטי | כן | רשימה מופרדת בפסיקים של מזהי מכונות. |
| כוח | בוליאני | לא רלוונטי | לא | אם בוחרים באפשרות הזו, הפעולה מבצעת כיבוי לא תקין (קשה), ומפסיקה מיד את המכונה בלי לאפשר לה לרוקן את המטמון של מערכת הקבצים או את המטא-נתונים.
התהליך הזה דורש בדיקה חובה של מערכת הקבצים וביצוע הליכי תיקון לפני שהמכונה יכולה לחזור לפעול. לא מומלץ למכונות של Windows.
התכונה לא מופעלת כברירת מחדל. |
ריצה
הפעולה הזו לא פועלת על ישויות.
צלם תמונה
יוצרים קובץ Snapshot של המכונה.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהה מופע | String | לא רלוונטי | כן | מציינים את מזהה המכונה. |
| תיאור | String | לא רלוונטי | לא | מציינים את התיאור של קובץ ה-snapshot. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
{
"EC2_Snapshot": [
{
"Description": "",
"Tags": [],
"Encrypted": false,
"VolumeId": "vol-ID",
"State": "pending",
"VolumeSize": 8,
"StartTime": "2022-11-13 15:45:44.795000+00:00",
"Progress": "",
"OwnerId": "OWNER_ID",
"SnapshotId": "snap-ID"
}
]
}
סיום המכונה
סיום של מכונה.
אי אפשר להפעיל מחדש מכונות שהופסקו. אפשר להפסיק רק מכונות שמגובות במאגר מכונות. מידע נוסף על מכונות שמגובות במאגר מכונות זמין במאמר אחסון למכשיר הבסיס.
אם תסגרו מכונה יותר מפעם אחת, כל קריאה תצליח. אם מציינים כמה מכונות והבקשה נכשלת (לדוגמה, בגלל מזהה מכונה שגוי אחד), אף אחת מהמכונות לא תופסק.
מכונות שהופסקו נשארות גלויות אחרי ההפסקה (למשך כשעה). כברירת מחדל, Amazon EC2 מוחק את כל נפחי ה-EBS שצורפו כשהמכונה הופעלה. אמצעי אחסון שצורפו אחרי הפעלת המכונה ממשיכים לפעול. מידע נוסף זמין במדריך למשתמש של אמזון.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהי מופעים | String | לא רלוונטי | כן | מזהה אחד או יותר של מכונה. מופרדים בפסיקים. |
ריצה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
"StoppingInstances": [
{
"CurrentState": "shutting-down",
"InstanceId": "string",
"PreviousState":"running"
}
]
קיר תיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק:
הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "סיום המכונה". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.