DanLevy.net

חידון: אחסון AWS: 20+ שאלות!

האם תוכל לנווט במבוך הענן?

אתה בענן?! 🤡

צלול לעומק שירותי האחסון של AWS! החידון הזה יבחן את הידע שלך ב‑S3, DynamoDB, Aurora, RDS, ElastiCache ועוד. ממנהגים מומלצים ועד מלכודות מפתיעות, נחקור את נוף אחסון הענן.

התכונן להוכיח את המומחיות שלך בענן! 🚀

אומת לאחרונה: 8 במאי 2026. מגבלות AWS ומחירים משתנים במהירות.

מה משמעות השם S3?

S3 מייצג שירות אחסון פשוט (Simple Storage Service). זהו שירות אחסון אובייקטים הניתן להרחבה המיועד לאחסון נתונים בקנה מידה גדול.

AWS S3 מציע מספר מחלקות אחסון:

  • Standard: לנתונים שנגישים בתדירות גבוהה
  • Infrequent Access (IA): עלות נמוכה יותר לגישה פחות תכופה
  • Glacier: אחסון ארכיון לטווח ארוך בעלות נמוכה

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

למד עוד על מחלקות אחסון S3

מה הכוונה כאשר DynamoDB מתואר כ”ללא סכמה”?

DynamoDB נחשב “ללא סכמה” מכיוון שהוא מאפשר לך לאחסן מאפיינים שרירותיים בפריטים ללא סכמה מוגדרת מראש.

DynamoDB Best Practices

איזה API של DynamoDB מעדכן תכונות על פריט קיים אחד?

המפתח כאן הוא עדכונים, לא הכנסות או PUTs. אם אתה מבצע הכנסות, אתה יכול להשתמש ב-BatchWriteItem או TransactWriteItems.

בעוד ש-BatchWriteItem יכול לטפל במספר פעולות, הוא מוגבל ל-PUTs ו-DELETES. TransactWriteItems הוא חזק יותר, אבל הוא קצת פטיש כבד לעדכונים פשוטים. לעדכונים פשוטים, UpdateItem הוא הבחירה הטובה ביותר. הוא מאפשר לך לעדכן (UPDATE), או לשנות תכונה אחת או יותר בפריט קיים.

פעולת UpdateItem משנה פריט אחד לכל בקשה. עבור מילוי חוזר גדול או עדכונים בכמות גדולה, אתה בדרך כלל מתזמן קריאות UpdateItem רבות או משתמש בתהליך עבודה רחב יותר כמו ביצוע אצווה של PartiQL, Step Functions, Glue, EMR, או תהליך עובד מותאם אישית.

פעולת UpdateItem:

  • מעדכנת תכונות של פריט קיים.
  • מוסיפה תכונות חדשות לפריט קיים.
  • מסירה תכונות מפריט קיים.
  • מבצעת את העדכון באופן מותנה אם הפריט קיים או עומד בתנאים מסוימים.

DynamoDB UpdateItem

איזה שירות AWS כאן נבנה במיוחד לחיפוש טקסט מלא וניתוח חיפוש?

OpenSearch הוא השירות המנוהל של AWS לחיפוש, ניתוח יומנים ועומסי עבודה של חיפוש טקסט מלא.

המסיחים הם שירותים שימושיים, אך הם אינם מנוע החיפוש הייעודי ברשימה זו:

  • ElastiCache: בעיקר מטמון בזיכרון. ElastiCache הנוכחי עבור Valkey כולל פקודות חיפוש לנתונים באינדקס בזיכרון, כך שכבר לא מדויק לתאר את כל השירות כחסר חיפוש מובנה.
  • Neptune: מסד נתונים גרפי; יכול להשתלב עם OpenSearch לחיפוש טקסט מלא.
  • Redshift: מחסן נתונים לניתוח SQL.
  • DocumentDB: מסד נתונים מסמכים עם חיפוש טקסט תואם MongoDB בגרסאות נתמכות.

מהו היתרון העיקרי של פריסת RDS Multi-AZ?

אזורי זמינות (AZs) הם מרכזי נתונים נפרדים בתוך אזור. פריסת RDS Multi-AZ מספקת החלפת כשל אוטומטית לעותק עמידה באזור קרוב.

פריסת Multi-AZ:

  • מספקת החלפת כשל אוטומטית
  • מגבירה זמינות מסד הנתונים
  • יוצרת עותק עמידה סינכרוני
  • ממזערת זמן השבתה במהלך תקלות תשתית

אל תבלבל בין פריסת Multi-AZ לבין Read Replicas, המשמשות להרחבת פעולות קריאה.

👋 אני מקווה שאתה נהנה עד כה!

הגיע הזמן לשאלה מסובכת…

איזה שירות AWS מספק ממשקי WebSocket מנוהלים שבהם AWS מחזיקה בחיבור הלקוח ומנתבת הודעות לאינטגרציות?

API Gateway תומך בממשקי WebSocket דו-כיווניים, אך היישום מנוהל על ידי API Gateway במקום להיות סוקט ישיר לתוך תהליך השרת שלך. API Gateway שומר על חיבור הלקוח ומנתב הודעות ל-Lambda, נקודות קצה HTTP, או אינטגרציות אחרות. ניתן לשלוח הודעות חזרה ללקוחות מחוברים דרך API Gateway Management API.

האחרים הרבה יותר ידידותיים ל-WebSocket:

  • Lightsail: מושלם להגדרות WebSocket פשוטות 👌
  • AppSync: משתמש ב-WebSockets למנויי GraphQL מנוהלים
  • EC2: האפשרות הקלאסית ‘עשה מה שאתה רוצה’ ל-WebSockets
  • EKS: מצוין להרצת אשכולות WebSocket ניתנים להרחבה

טיפ מקצוען: אם אתה צריך כוח WebSocket גולמי, הישאר עם שירותי המחשוב!

מהי הגישה המומלצת להרשאות דלי S3?

ברוב המוחלט של המערכות, אימוץ עיצוב של ‘הרשאה מינימלית’ הוא דרך מרכזית להקשיח ולהגן לעתיד. ניסיון לנעול מערכת קיימת הוא קשה כמו להעביר בניין משרדים שלם ליסוד חדש.

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

שיטות עבודה מומלצות לאבטחה:

  • יישם עקרון הרשאה מינימלית
  • התחל ללא הרשאות
  • הענק רק גישה נחוצה
  • השתמש בתפקידי IAM ובמדיניות
  • בקר באופן קבוע את הרשאות הדלי

הימנע מהגדרות מתירניות מדי שעלולות לחשוף מידע רגיש.

שיטות עבודה מומלצות לאבטחת S3

מהי התכונה המרכזית של Aurora Serverless?

Aurora Serverless:

  • מכוון אוטומטית את קיבולת המחשוב
  • מתאים משאבים לפי עומס העבודה
  • אידיאלי לעומסי עבודה בלתי צפויים
  • משלם רק על משאבים בשימוש

מעולה עבור יישומים עם דפוסי תעבורה משתנים.

סקירת Aurora Serverless

עוד שאלת באצ’ של DynamoDB!
מה המספר המקסימלי של פריטים שניתן לאחזר באמצעות בקשת BatchGetItem אחת של DynamoDB?

ה-SDK של DynamoDB מאפשר לך לאחזר עד 100 פריטים בבקשת BatchGetItem אחת. זה גבוה מהמגבלה עבור BatchWriteItem, שהיא 25 פריטים. בנוסף, יש מגבלות על גודל המטען הכולל, גודל המסמך וקצב הבקשות.

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

הערה: אפשר לחרוג מ_חלק_ מהמגבלות הללו - אם אתה יכול לשכנע את מנהל החשבון שלך ב-AWS. 😎

מהו המספר המקסימלי של מסמכים ש-DynamoDB יכול לעדכן (UPDATE) באצווה?

לקוחות DynamoDB הם למעשה עטיפות ל-HTTP API שלה. הפעולה BatchWriteItem יכולה PUT או DELETE עד 25 מסמכים לבקשת HTTP, אך היא לא יכולה UPDATE מספר מסמכים.

בעוד ש-DynamoDB יכול INSERT עד 25 מסמכים לבקשת HTTP, הוא יכול UPDATE רק 1 מסמך לבקשה באמצעות הפעולה UpdateItem.

מתי כדאי להשתמש בקיבולת לפי דרישה של DynamoDB?

קיבולת לפי דרישה היא הטובה ביותר עבור:

  • עומסי עבודה בלתי צפויים
  • תעבורה ספורדית
  • יישומים עם דפוסי גישה לא ידועים
  • הימנעות מהקצאת יתר

קיבולת מוקצית טובה יותר עבור:

  • עומסי עבודה צפויים ועקביים
  • שליטה רבה יותר בביצועים
  • חיסכון פוטנציאלי בעלויות

מצבי קיבולת של DynamoDB

כיצד לייעל את ביצועי S3 עבור קצבי בקשות גבוהים?

טיפים לביצועי S3:

  • S3 המודרני מתאים אוטומטית קצבי בקשות לפי קידומת
  • אין צורך בקידומות אקראיות/גיבוב לצורך ביצועים
  • השתמש בשמות מפתחות לוגיים המתאימים לדפוסי הגישה שלך
  • עקוב אחר תגובות 503 Slow Down אם אתה דוחף קצבי בקשות גבוהים מאוד

ההנחיות הישנות המליצו על אקראיות קידומות כדי להימנע ממחיצות חמות, אך AWS כבר לא ממליצה על כך כדרישת ביצועים ברירת מחדל.

הנחיות ביצועי S3

מהי גישת הגיבוי המומלצת ל-RDS?

שיטות עבודה מומלצות לגיבוי:

  • הפעל גיבויים אוטומטיים
  • השתמש בשחזור לנקודת זמן
  • שמור גיבויים לפי צורכי תאימות
  • בדוק תהליך שחזור באופן קבוע
  • שקול גיבוי חוצה אזורים

גיבויים אוטומטיים מספקים:

  • הגנה רציפה על נתונים
  • אפשרויות שחזור גמישות

שיטות עבודה מומלצות לגיבוי RDS

הבדל מרכזי בין Redis ל-Memcached ב-ElastiCache?

יתרונות Redis:

  • תומך במבני נתונים מורכבים
  • אפשרויות התמדה
  • פעולות מתקדמות
  • הודעות Pub/Sub

Memcached:

  • חנות מפתח-ערך פשוטה
  • מטמון טהור
  • ביצועים גבוהים למקרי שימוש פשוטים

Redis לעומת Memcached

מהי מטרת האינדקס המשני הגלובלי ב-DynamoDB?

אינדקס משני גלובלי (GSI):

  • מאפשר שאילתה על תכונות שאינן מפתח ראשי
  • יוצר דפוסי גישה חלופיים
  • מגביר גמישות שאילתה
  • כרוך בעלות נוספת של קיבולת כתיבה

שימושי לדרישות שאילתה מורכבות מעבר למפתח הראשי.

אינדקסים של DynamoDB

מה מאפשר ניהול מחזור חיים של S3?

ניהול מחזור חיים:

  • העברה אוטומטית של אובייקטים בין מחלקות אחסון
  • העברת נתונים נדירים לאחסון זול יותר
  • הגדרת כללים לתפוגת אובייקטים
  • אופטימיזציית עלויות אחסון
  • הפחתת עומס ניהול ידני

כללי מחזור חיים של S3

מה המספר המקסימלי של רפליקות קריאה ש- Amazon Aurora תומך?

Amazon Aurora תומך בעד 15 רפליקות קריאה, ומאפשר לך להרחיב משמעותית את פעולות הקריאה שלך. רפליקות אלו נהנות מ:

  • שכפול כמעט מיידי בין רפליקות
  • השפעה מינימלית על ביצועים במופע הראשי
  • חלוקה יעילה של עומסי קריאה

הגדרה זו מאפשרת הרחבה אופקית עבור יישומים עם דרישות קריאה כבדות.

למד עוד על רפליקות קריאה של Aurora

אילו יכולות הצפנה מספק RDS?

תכונות הצפנת RDS:

  • הצפנת נתונים במנוחה באמצעות KMS
  • הצפנת נתונים במעבר באמצעות SSL/TLS
  • הפעלת הצפנה בעת יצירת מסד הנתונים
  • הגנה על מידע רגיש
  • עמידה בתקני אבטחה

אפשרויות הצפנת RDS

מה השימוש העיקרי של DynamoDB Streams?

DynamoDB Streams:

  • לכידת שינויים ברמת הפריט
  • הפעלת ארכיטקטורות מונעות אירועים
  • הפעלת פונקציות Lambda
  • תמיכה בשכפול בין אזורים
  • אספקת תנועת נתונים כמעט בזמן אמת

סקירת DynamoDB Streams

מהי השיטה הטובה ביותר להעלאת קבצים גדולים ל-S3?

יתרונות העלאה מרובת חלקים:

  • טיפול יעיל בקבצים גדולים
  • חידוש העלאות שהופסקו
  • העלאה מקבילית של חלקי קובץ
  • מומלץ לקבצים מעל 100MB
  • שיפור אמינות הרשת

העלאה מרובת חלקים ב-S3

מהי הגישה החסכונית ביותר לאחסון 1PB של נתונים כאשר 20% נגישים מדי יום, 30% מדי חודש ו-50% מדי שנה?

אסטרטגיית אחסון אופטימלית:

  • 20% ב-S3 Standard לגישה יומית
  • 30% ב-S3 Standard-IA לגישה חודשית
  • 50% ב-Glacier לגישה שנתית

גישה זו מייעלת עלויות תוך שמירה על דפוסי גישה מתאימים.

שיקולי עלות:

  • תמחור אחסון ל-GB
  • עלויות שליפה
  • דפוסי גישה
  • עלויות מעבר

לטבלת DynamoDB יש קיבולת קריאה מוקצית של 100 RCUs. כמה קריאות עקביות חזקה של פריטים בגודל 4KB ניתן לבצע בשנייה?

הבנת מודלי העקביות של DynamoDB היא קריטית:

  • 1 RCU = 1 קריאה עקבית חזקה/שנייה עבור פריטים עד 4KB
  • 1 RCU = 2 קריאות עקביות בסופו של דבר/שנייה עבור פריטים עד 4KB

לכן:

  • 100 RCUs = 100 קריאות עקביות חזקה של 4KB/שנייה
  • 100 RCUs = 200 קריאות עקביות בסופו של דבר של 4KB/שנייה

בחר מודלי עקביות על בסיס:

  • דרישות היישום
  • שיקולי עלות
  • צרכי ביצועים
  • דרישות רעננות הנתונים

באשכול Aurora עם מספר replicas לקריאה, מה קורה במהלך failover אוטומטי כאשר המופע הראשי נכשל?

תהליך Failover של Aurora:

  1. מזהה כשל במופע הראשי
  2. בוחר Aurora Replica על פי דרגת עדיפות failover בעיקר
  3. משתמש במאפייני המופע כקובעי שוויון כאשר הדרגות תואמות
  4. מעדכן את נקודת הקצה של האשכול באופן אוטומטי

שיטות עבודה מומלצות:

  • שמירה על מספר replicas על פני אזורי זמינות (AZs)
  • הגדרת דרגות קידום (promotion tiers) בכוונה
  • שימוש בנקודת קצה של האשכול באפליקציות
  • בדיקת תרחישי failover באופן קבוע

נכון לסוף 2020, איזה מודל עקביות S3 מספקת לכל הפעולות?

מודל העקביות של S3:

  • עקביות חזקה של קריאה לאחר כתיבה לכל הפעולות
  • חל על PUT ו-DELETE
  • אין צורך בפתרונות עוקפים שהיו בשימוש בעבר
  • ללא עלות נוספת

השפעה:

  • לוגיקת אפליקציה פשוטה יותר
  • אין צורך בבדיקות עקביות
  • קריאות מיידיות אמינות לאחר כתיבות
  • שיפור באמינות האפליקציה

כיצד תכונת TTL של DynamoDB מטפלת במחיקת פריטים?

מאפייני TTL של DynamoDB:

  • תהליך רקע עוקב אחר מאפיין TTL
  • פריטים שפג תוקפם נמחקים בלוח זמנים מיטבי, בדרך כלל תוך מספר ימים
  • אין עלות נוספת עבור TTL
  • פריטים שנמחקו מופיעים ב-streams

מקרי שימוש:

  • ניהול הפעלות
  • פקיעת תוקף לוגים
  • ניקוי נתונים זמניים
  • עמידה ברגולציה

מה השיקול המרכזי כשמסתמכים על Aurora Serverless לטיפול בעליות תנועה פתאומיות?

סקיילינג של Aurora Serverless:

  • Aurora Serverless v2 מתקנה מידה קיבולת בתוספות ACU מדויקות
  • מהירות הסקיילינג תלויה בקיבולת הנוכחית ובהגדרות ACU מינימום/מקסימום
  • גרסאות נתמכות יכולות לעצור אוטומטית ב-0 ACUs כשמוגדר
  • חיוב לפי שנייה על בסיס ACUs

שיטות עבודה מומלצות:

  • הגדר קיבולת מינימלית גבוהה מספיק לעליות פתאומיות בעומסי עבודה קריטיים
  • נטר אירועי סקיילינג
  • זכור לנהל חיבורים

וואו, ההרפתקה הזו נכנסה עמוק לעניינים! 🚀☁️ אני מקווה שנהניתם מהמסע, ואולי אפילו למדתם דבר או שניים על שירותי האחסון של AWS.

בדקו עוד אתגרים של דן! 🧠

משפט משפטי: החידון הזה מיועד למטרות חינוכיות בלבד. כל הסימנים המסחריים וזכויות היוצרים שייכים לבעליהם בהתאמה, במיוחד הגדולים.