شعار زيفيرنت

قم بتوسيع وظائف AWS Glue من خلال تحسين استهلاك عنوان IP وتوسيع سعة الشبكة باستخدام بوابة NAT خاصة | خدمات الويب الأمازون

التاريخ:

مع توسع الشركات، غالبًا ما يتجاوز الطلب على عناوين IP داخل شبكة الشركة العرض. غالبًا ما يتم تصميم شبكة المؤسسة مع بعض التوقع للمتطلبات المستقبلية، ولكن مع تطور المؤسسات، تتجاوز احتياجاتها من تكنولوجيا المعلومات (IT) الشبكة المصممة مسبقًا. قد تجد الشركات نفسها تواجه تحديات في إدارة المجموعة المحدودة من عناوين IP.

لأحمال عمل هندسة البيانات متى غراء AWS في مثل هذا التكوين المقيد للشبكة، قد يواجه فريقك أحيانًا عقبات في تشغيل العديد من المهام في وقت واحد. يحدث هذا لأنه قد لا يكون لديك عناوين IP كافية لدعم الاتصالات المطلوبة بقواعد البيانات. للتغلب على هذا النقص، قد يحصل الفريق على المزيد من عناوين IP من تجمع شبكة شركتك. يمكن أن تكون عناوين IP التي تم الحصول عليها فريدة (غير متداخلة) أو متداخلة، عند إعادة استخدام عناوين IP في شبكة شركتك.

عند استخدام عناوين IP متداخلة، فإنك تحتاج إلى إدارة شبكة إضافية لتأسيس الاتصال. يمكن أن تتضمن حلول الشبكات خيارات مثل بوابات ترجمة عنوان الشبكة الخاصة (NAT)., AWS الرابط الخاصأو أجهزة NAT مُدارة ذاتيًا لترجمة عناوين IP.

سنناقش في هذا المنشور استراتيجيتين لتوسيع نطاق وظائف AWS Glue:

  1. تحسين استهلاك عنوان IP من خلال تحديد الحجم الصحيح لوحدات معالجة البيانات (DPUs)، باستخدام ميزة Auto Scaling في AWS Glue، وضبط المهام.
  2. توسيع سعة الشبكة باستخدام نطاق إضافي غير قابل للتوجيه بين المجالات (CIDR) مع بوابة NAT خاصة.

قبل أن نتعمق في هذه الحلول، دعونا نفهم كيفية استخدام AWS Glue واجهة الشبكة المرنة (ENI) لإنشاء الاتصال. لتمكين الوصول إلى مخازن البيانات داخل VPC، تحتاج إلى إنشاء اتصال AWS Glue المرتبط بـ VPC الخاص بك. عند تشغيل مهمة AWS Glue في VPC الخاصة بك، تقوم المهمة بإنشاء ENI داخل VPC التي تم تكوينها لكل اتصال بيانات، وتستخدم ENI عنوان IP في VPC المحدد. هذه ENIs قصيرة العمر ونشطة حتى اكتمال المهمة.

الآن دعونا نلقي نظرة على الحل الأول الذي يشرح تحسين استهلاك عنوان IP الخاص بـ AWS Glue.

استراتيجيات الاستهلاك الفعال لعنوان IP

في AWS Glue، يحدد عدد العاملين الذين تستخدمهم المهمة عدد عناوين IP المستخدمة من شبكة VPC الفرعية الخاصة بك. وذلك لأن كل عامل يحتاج إلى عنوان IP واحد يتم تعيينه إلى ENI واحد. عندما لا يكون لديك نطاق CIDR كافٍ مخصص لشبكة AWS Glue الفرعية، فقد تلاحظ أخطاء استنفاد عنوان IP. فيما يلي بعض أفضل الممارسات لتحسين استهلاك عنوان IP الخاص بـ AWS Glue:

  • تحديد الحجم الصحيح لوحدات DPU الخاصة بالمهمة - AWS Glue هو محرك معالجة موزع. إنه يعمل بكفاءة عندما يمكنه تشغيل المهام بالتوازي. إذا كانت المهمة تحتوي على أكثر من وحدات DPU المطلوبة، فإنها لا تعمل دائمًا بشكل أسرع. لذا، فإن العثور على العدد الصحيح من وحدات DPU سيضمن لك استخدام عناوين IP على النحو الأمثل. من خلال بناء إمكانية المراقبة في النظام وتحليل الأداء الوظيفي، يمكنك الحصول على رؤى حول اتجاهات استهلاك ENI ومن ثم تكوين السعة المناسبة في الوظيفة بالحجم المناسب. لمزيد من التفاصيل، راجع مراقبة تخطيط قدرات DPU. تعد Spark UI أداة مفيدة لمراقبة استخدام العاملين لوظائف AWS Glue. لمزيد من التفاصيل، راجع مراقبة المهام باستخدام واجهة مستخدم الويب Apache Spark.
  • AWS Glue Auto Scaling – غالبًا ما يكون من الصعب التنبؤ بمتطلبات سعة الوظيفة مقدمًا. سيؤدي تمكين ميزة Auto Scaling في AWS Glue إلى إلغاء تحميل بعض هذه المسؤولية على عاتق AWS. في وقت التشغيل استنادًا إلى متطلبات حمل العمل، تقوم الوظيفة تلقائيًا بقياس العقد العاملة إلى الحد الأقصى للتكوين المحدد. إذا لم تكن هناك حاجة إضافية، فلن تقوم AWS Glue بإفراط في توفير العمال، وبالتالي توفير الموارد وتقليل التكلفة. تتوفر ميزة Auto Scaling في AWS Glue 3.0 والإصدارات الأحدث. لمزيد من المعلومات، راجع تقديم AWS Glue Auto Scaling: قم تلقائيًا بتغيير حجم موارد الحوسبة بدون خادم بتكلفة أقل باستخدام Apache Spark المحسّن.
  • التحسين على مستوى الوظيفة - تحديد التحسينات على مستوى الوظيفة باستخدام مقاييس مهمة AWS Glue ، وتطبيق أفضل الممارسات من أفضل الممارسات لضبط أداء وظائف AWS Glue لـ Apache Spark.

دعونا نلقي نظرة بعد ذلك على الحل الثاني الذي يوضح توسيع سعة الشبكة.

حلول لتوسيع حجم الشبكة (عنوان IP).

سنناقش في هذا القسم حلين محتملين لتوسيع حجم الشبكة بمزيد من التفاصيل.

قم بتوسيع نطاقات VPC CIDR باستخدام العناوين القابلة للتوجيه

أحد الحلول هو إضافة المزيد من نطاقات IPv4 CIDR الخاصة من RFC 1918 إلى VPC الخاص بك. من الناحية النظرية، يمكن تعيين كل حساب AWS لبعض أو كل عناوين IP CIDRs. غالبًا ما يدير فريق إدارة عنوان IP (IPAM) الخاص بك تخصيص عناوين IP التي يمكن لكل وحدة عمل استخدامها من RFC1918 لتجنب تداخل عناوين IP عبر حسابات AWS أو وحدات الأعمال المتعددة. إذا كانت حصة عنوان IP الحالية القابلة للتوجيه المخصصة لك من قبل فريق IPAM غير كافية، فيمكنك طلب المزيد.

إذا أصدر فريق IPAM لك نطاق CIDR إضافي غير متداخل، فيمكنك إما إضافته كـ CIDR ثانوي إلى VPC الحالي أو إنشاء VPC جديد به. إذا كنت تخطط لإنشاء VPC جديد، فيمكنك ربط VPCs عبر التناظر VPC or بوابة عبور AWS.

إذا كانت هذه القدرة الإضافية كافية لتشغيل جميع مهامك خلال الإطار الزمني المحدد، فهذا حل بسيط وفعال من حيث التكلفة. بخلاف ذلك، يمكنك التفكير في اعتماد عناوين IP متداخلة مع بوابة NAT خاصة، كما هو موضح في القسم التالي. باستخدام الحل التالي، يجب عليك استخدام Transit Gateway لتوصيل VPCs لأن نظير VPC غير ممكن عندما يكون هناك نطاقات CIDR متداخلة في هذين VPCs.

قم بتكوين CIDR غير قابل للتوجيه باستخدام بوابة NAT خاصة

كما هو موضح في مستند معلومات AWS إنشاء بنية أساسية لشبكة AWS متعددة VPC وآمنة وقابلة للتطوير، يمكنك توسيع سعة شبكتك عن طريق إنشاء شبكة فرعية لعنوان IP غير قابلة للتوجيه واستخدام بوابة NAT خاصة موجودة في مساحة عنوان IP قابلة للتوجيه (غير متداخلة) لتوجيه حركة المرور. تقوم بوابة NAT الخاصة بترجمة وتوجيه حركة المرور بين عناوين IP غير القابلة للتوجيه وعناوين IP القابلة للتوجيه. يوضح الرسم البياني التالي الحل بالإشارة إلى AWS Glue.

هندسة معمارية عالية المستوى

كما ترون في الرسم البياني أعلاه، يحتوي VPC A (ETL) على نطاقين CIDR متصلين. نطاق CIDR الأصغر 172.33.0.0/24 قابل للتوجيه لأنه لا يتم إعادة استخدامه في أي مكان، في حين أن نطاق CIDR الأكبر 100.64.0.0/16 غير قابل للتوجيه لأنه يتم إعادة استخدامه في قاعدة بيانات VPC.

في VPC B (قاعدة البيانات)، قمنا باستضافة قاعدتي بيانات في الشبكات الفرعية القابلة للتوجيه 172.30.0.0/26 و172.30.0.64/26. توجد هاتان الشبكتان الفرعيتان في منطقتي توافر خدمات منفصلتين لتحقيق التوفر العالي. لدينا أيضًا شبكتان فرعيتان إضافيتان غير مستخدمتين 100.64.0.0/24 و100.64.1.0/24 لمحاكاة إعداد غير قابل للتوجيه.

يمكنك اختيار حجم نطاق CIDR غير القابل للتوجيه بناءً على متطلبات السعة لديك. نظرًا لأنه يمكنك إعادة استخدام عناوين IP، يمكنك إنشاء شبكة فرعية كبيرة جدًا حسب الحاجة. على سبيل المثال، سيمنحك قناع CIDR بقيمة /16 ما يقرب من 65,000 عنوان IPv4. يمكنك العمل مع فريق هندسة الشبكات لديك وتحديد حجم الشبكات الفرعية.

باختصار، يمكنك تكوين مهام AWS Glue لاستخدام كل من الشبكات الفرعية القابلة للتوجيه وغير القابلة للتوجيه في VPC لديك لزيادة تجمع عناوين IP المتاحة إلى أقصى حد.

الآن دعونا نفهم كيف تتواصل Glue ENIs الموجودة في شبكة فرعية غير قابلة للتوجيه مع مصادر البيانات في VPC أخرى.

تدفق الدعوة من

تدفق البيانات لحالة الاستخدام الموضحة هنا هو كما يلي (بالإشارة إلى الخطوات المرقمة في الشكل أعلاه):

  1. عندما تحتاج مهمة AWS Glue إلى الوصول إلى مصدر بيانات، فإنها تستخدم أولاً اتصال AWS Glue في المهمة وتقوم بإنشاء ENIs في الشبكة الفرعية غير القابلة للتوجيه 100.64.0.0/24 في VPC A. لاحقًا يستخدم AWS Glue تكوين اتصال قاعدة البيانات و يحاول الاتصال بقاعدة البيانات في VPC B 172.30.0.0/24.
  2. حسب جدول الطريق VPCA-Non-Routable-RouteTable تم تكوين الوجهة 172.30.0.0/24 لبوابة NAT خاصة. يتم إرسال الطلب إلى بوابة NAT، والتي تقوم بعد ذلك بترجمة عنوان IP المصدر من عنوان IP غير قابل للتوجيه إلى عنوان IP قابل للتوجيه. يتم بعد ذلك إرسال حركة المرور إلى مرفق بوابة النقل في VPC A لأنها مرتبطة بـ VPCA-Routable-RouteTable جدول التوجيه في VPC A.
  3. تستخدم Transit Gateway المسار 172.30.0.0/24 وترسل حركة المرور إلى مرفق بوابة النقل VPC B.
  4. تستخدم بوابة النقل ENI في VPC B المسار المحلي لـ VPC B للاتصال بنقطة نهاية قاعدة البيانات والاستعلام عن البيانات.
  5. عند اكتمال الاستعلام، يتم إرسال الاستجابة مرة أخرى إلى VPC A. ويتم توجيه حركة مرور الاستجابة إلى مرفق بوابة النقل في VPC B، ثم تستخدم Transit Gateway المسار 172.33.0.0/24 وترسل حركة المرور إلى مرفق بوابة النقل VPC A .
  6. تستخدم بوابة النقل ENI في VPC A المسار المحلي لإعادة توجيه حركة المرور إلى بوابة NAT الخاصة، والتي تترجم عنوان IP الوجهة إلى عنوان ENIs في الشبكة الفرعية غير القابلة للتوجيه.
  7. وأخيرًا، تتلقى مهمة AWS Glue البيانات وتستمر في المعالجة.

يعد حل بوابة NAT الخاصة خيارًا إذا كنت بحاجة إلى عناوين IP إضافية عندما لا تتمكن من الحصول عليها من شبكة قابلة للتوجيه في مؤسستك. في بعض الأحيان، يتم تكبد تكلفة إضافية مع كل خدمة إضافية، وهذه المقايضة ضرورية لتحقيق أهدافك. راجع قسم تسعير بوابة NAT في صفحة تسعير Amazon VPC للمزيد من المعلومات.

المتطلبات الأساسية المسبقة

لإكمال الخطوات التفصيلية لحل بوابة NAT الخاصة، تحتاج إلى ما يلي:

انشر الحل

لتنفيذ الحل ، أكمل الخطوات التالية:

  1. قم بتسجيل الدخول إلى وحدة تحكم إدارة AWS الخاصة بك.
  2. نشر الحل عن طريق النقر إطلاق المكدس . هذا المكدس الافتراضي هو us-east-1، يمكنك تحديد المنطقة التي تريدها.
  3. انقر التالي ثم حدد تفاصيل المكدس. يمكنك الاحتفاظ بمعلمات الإدخال للقيم الافتراضية التي تمت تعبئتها مسبقًا أو تغييرها حسب الحاجة.
  4. في حالة DatabaseUserPassword، أدخل كلمة مرور أبجدية رقمية من اختيارك وتأكد من تدوينها لاستخدامها مرة أخرى.
  5. في حالة S3BucketName، أدخل فريدًا خدمة تخزين أمازون البسيطة (أمازون S3) اسم الجرافة. تخزن هذه المجموعة النص البرمجي لمهمة AWS Glue الذي سيتم نسخه من مستودع التعليمات البرمجية العام لـ AWS.تفاصيل المكدس
  6. انقر التالي.
  7. اترك القيم الافتراضية وانقر التالي مرة أخرى.
  8. راجع التفاصيل، وأقر بإنشاء موارد IAM، ثم انقر فوق تقدم لبدء النشر.

يمكنك مراقبة الأحداث لرؤية الموارد التي يتم إنشاؤها على وحدة تحكم AWS CloudFormation. قد يستغرق إنشاء موارد المكدس حوالي 20 دقيقة.

بعد اكتمال إنشاء المكدس، انتقل إلى علامة تبويب المخرجات في وحدة تحكم AWS CloudFormation ولاحظ القيم التالية لاستخدامها لاحقًا:

  • DBSource
  • DBTarget
  • SourceCrawler
  • TargetCrawler

اتصل بمثيل AWS Cloud9

بعد ذلك، نحتاج إلى إعداد المصدر واستهداف Amazon RDS لجداول MySQL باستخدام ملف سحابة AWS 9 مثال. أكمل الخطوات التالية:

  1. في صفحة وحدة تحكم AWS Cloud9، حدد موقع aws-glue-cloud9 بيئة.
  2. في عمود Cloud9 IDE، انقر فوق ساعات العمل لتشغيل مثيل AWS Cloud9 الخاص بك في متصفح ويب جديد.

قم بإعداد جدول MySQL المصدر

أكمل الخطوات التالية لإعداد الجدول المصدر:

  1. من محطة AWS Cloud9، قم بتثبيت عميل MySQL باستخدام الأمر التالي: sudo yum update -y && sudo yum install -y mysql
  2. اتصل بقاعدة البيانات المصدر باستخدام الأمر التالي. استبدل اسم المضيف المصدر بقيمة DBSource التي التقطتها مسبقًا. عند المطالبة، أدخل كلمة مرور قاعدة البيانات التي حددتها أثناء إنشاء المكدس. mysql -h <Source Hostname> -P 3306 -u admin -p
  3. قم بتشغيل البرامج النصية التالية لإنشاء المصدر emp الجدول، وتحميل بيانات الاختبار:
    -- connect to source database
    USE srcdb;
    -- Drop emp table if it exists
    DROP TABLE IF EXISTS emp;
    -- Create the emp table
    CREATE TABLE emp (empid INT AUTO_INCREMENT,
                      ename VARCHAR(100) NOT NULL,
                      edept VARCHAR(100) NOT NULL,
                      PRIMARY KEY (empid));
    -- Create a stored procedure to load sample records into emp table
    DELIMITER $$
    CREATE PROCEDURE sp_load_emp_source_data()
    BEGIN
    DECLARE empid INT;
    DECLARE ename VARCHAR(100);
    DECLARE edept VARCHAR(50);
    DECLARE cnt INT DEFAULT 1; -- Initialize counter to 1 to auto-increment the PK
    DECLARE rec_count INT DEFAULT 1000; -- Initialize sample records counter
    TRUNCATE TABLE emp; -- Truncate the emp table
    WHILE cnt <= rec_count DO -- Loop and load the required number of sample records
    SET ename = CONCAT('Employee_', FLOOR(RAND() * 100) + 1); -- Generate random employee name
    SET edept = CONCAT('Dept_', FLOOR(RAND() * 100) + 1); -- Generate random employee department
    -- Insert record with auto-incrementing empid
    INSERT INTO emp (ename, edept) VALUES (ename, edept);
    -- Increment counter for next record
    SET cnt = cnt + 1;
    END WHILE;
    COMMIT;
    END$$
    DELIMITER ;
    -- Call the above stored procedure to load sample records into emp table
    CALL sp_load_emp_source_data();
  4. تحقق من المصدر emp عدد الجدول باستخدام استعلام SQL أدناه (تحتاج إلى ذلك في خطوة لاحقة للتحقق). select count(*) from emp;
  5. قم بتشغيل الأمر التالي للخروج من الأداة المساعدة لعميل MySQL والعودة إلى محطة مثيل AWS Cloud9: quit;

قم بإعداد جدول MySQL الهدف

أكمل الخطوات التالية لإعداد الجدول المستهدف:

  1. اتصل بقاعدة البيانات الهدف باستخدام الأمر التالي. استبدل اسم المضيف الهدف بقيمة DBTarget التي التقطتها مسبقًا. عند المطالبة، أدخل كلمة مرور قاعدة البيانات التي حددتها أثناء إنشاء المكدس. mysql -h <Target Hostname> -P 3306 -u admin -p
  2. قم بتشغيل البرامج النصية التالية لإنشاء الهدف emp طاولة. سيتم تحميل هذا الجدول بواسطة مهمة AWS Glue في الخطوة التالية.
    -- connect to the target database
    USE targetdb;
    -- Drop emp table if it exists 
    DROP TABLE IF EXISTS emp;
    -- Create the emp table
    CREATE TABLE emp (empid INT AUTO_INCREMENT,
                      ename VARCHAR(100) NOT NULL,
                      edept VARCHAR(100) NOT NULL,
                      PRIMARY KEY (empid)
    );

التحقق من إعداد الشبكة (اختياري)

الخطوات التالية مفيدة لفهم بوابة NAT وجداول التوجيه وتكوينات بوابة النقل الخاصة بحل بوابة NAT الخاصة. تم إنشاء هذه المكونات أثناء إنشاء مكدس CloudFormation.

  1. في صفحة وحدة تحكم Amazon VPC، انتقل إلى قسم السحابة الخاصة الافتراضية وحدد موقع بوابات NAT.
  2. ابحث عن بوابة NAT بالاسم Glue-OverlappingCIDR-NATGW واستكشافها بشكل أكبر. كما ترون في لقطة الشاشة التالية، تم إنشاء بوابة NAT في VPC A (ETL) على الشبكة الفرعية القابلة للتوجيه.إعداد بوابة NAT
  3. في جزء التنقل الموجود على الجانب الأيسر، انتقل إلى جداول التوجيه ضمن قسم السحابة الخاصة الافتراضية.
  4. البحث عن VPCA-Non-Routable-RouteTable واستكشافها بشكل أكبر. يمكنك أن ترى أنه تم تكوين جدول التوجيه لترجمة حركة المرور من CIDR المتداخلة باستخدام بوابة NAT.إعداد جدول الطريق
  5. في جزء التنقل الموجود على الجانب الأيسر، انتقل إلى قسم بوابات العبور وانقر على مرفقات بوابة العبور. يدخل VPC- في مربع البحث وحدد موقع مرفقي بوابة النقل اللذين تم إنشاؤهما حديثًا.
  6. يمكنك استكشاف هذه المرفقات بشكل أكبر للتعرف على تكويناتها.

قم بتشغيل برامج زحف AWS Glue

أكمل الخطوات التالية لتشغيل برامج زحف AWS Glue المطلوبة لفهرسة المصدر والهدف emp الجداول. هذه خطوة ضرورية لتشغيل مهمة AWS Glue.

  1. في صفحة وحدة تحكم AWS Glue، ضمن قسم كتالوج البيانات في جزء التنقل، انقر فوق الزواحف.
  2. حدد موقع برامج الزحف المصدر والهدف التي لاحظتها سابقًا.
  3. حدد برامج الزحف هذه وانقر فوق يجري لإنشاء جداول كتالوج بيانات AWS Glue ذات الصلة.
  4. يمكنك مراقبة برامج زحف AWS Glue للتأكد من اكتمالها بنجاح. قد يستغرق الأمر من 3 إلى 4 دقائق تقريبًا حتى يكتمل كلا برنامجي الزحف. عند الانتهاء، تتغير حالة التشغيل الأخيرة للمهمة إلى ناجح، ويمكنك أيضًا رؤية وجود جدولي كتالوج AWS Glue تم إنشاؤهما من هذا التشغيل.تم تشغيل الزاحف بنجاح

قم بتشغيل مهمة AWS Glue ETL

بعد إعداد الجداول وإكمال خطوات المتطلبات الأساسية، أنت الآن جاهز لتشغيل مهمة AWS Glue التي قمت بإنشائها باستخدام قالب CloudFormation. تتصل هذه المهمة بـ RDS المصدر لقاعدة بيانات MySQL، وتستخرج البيانات، وتحميل البيانات إلى RDS الهدف لقاعدة بيانات MySQL. تقوم هذه المهمة بقراءة البيانات من جدول MySQL المصدر وتحميلها إلى جدول MySQL الهدف باستخدام حل بوابة NAT الخاصة. لتشغيل مهمة AWS Glue، أكمل الخطوات التالية:

  1. في وحدة تحكم AWS Glue، انقر فوق وظائف ETL في جزء التنقل.
  2. انقر على الوظيفة glue-private-nat-job.
  3. انقر يجري لبدء ذلك.

ما يلي هو البرنامج النصي PySpark لوظيفة ETL هذه:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

args = getResolvedOptions(sys.argv, ["JOB_NAME"])
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args["JOB_NAME"], args)

# Script generated for node AWS Glue Data Catalog
AWSGlueDataCatalog_node = glueContext.create_dynamic_frame.from_catalog(
    database="glue_cat_db_source",
    table_name="srcdb_emp",
    transformation_ctx="AWSGlueDataCatalog_node",
)

# Script generated for node Change Schema
ChangeSchema_node = ApplyMapping.apply(
    frame=AWSGlueDataCatalog_node,
    mappings=[
        ("empid", "int", "empid", "int"),
        ("ename", "string", "ename", "string"),
        ("edept", "string", "edept", "string"),
    ],
    transformation_ctx="ChangeSchema_node",
)

# Script generated for node AWS Glue Data Catalog
AWSGlueDataCatalog_node = glueContext.write_dynamic_frame.from_catalog(
    frame=ChangeSchema_node,
    database="glue_cat_db_target",
    table_name="targetdb_emp",
    transformation_ctx="AWSGlueDataCatalog_node",
)

job.commit()

استنادًا إلى تكوين DPU للمهمة، يقوم AWS Glue بإنشاء مجموعة من ENIs في الشبكة الفرعية غير القابلة للتوجيه والتي تم تكوينها على اتصال AWS Glue. يمكنك مراقبة ENIs هذه على صفحة واجهات الشبكة في الأمازون الحوسبة المرنة السحابية (Amazon EC2).

تعرض لقطة الشاشة أدناه 10 ENIs التي تم إنشاؤها لتشغيل المهمة لمطابقة العدد المطلوب من العمال الذين تم تكوينهم على معلمات الوظيفة. كما هو متوقع، تم إنشاء ENIs في الشبكة الفرعية غير القابلة للتوجيه لـ VPC A، مما يتيح إمكانية التوسع في عناوين IP. بعد اكتمال المهمة، سيتم تحرير ENIs تلقائيًا بواسطة AWS Glue.تنفيذ ايني

عند تشغيل مهمة AWS Glue، يمكنك مراقبة حالتها. عند الانتهاء بنجاح، تتغير حالة الوظيفة إلى نجح.إتمام المهمة بنجاح

تحقق من النتائج

بعد اكتمال مهمة AWS Glue، اتصل بقاعدة بيانات MySQL المستهدفة. تحقق مما إذا كان عدد السجلات الهدف يتطابق مع المصدر. يمكنك استخدام استعلام SQL أدناه في محطة AWS Cloud9.

USE targetdb;
SELECT count(*) from emp;

أخيرًا، اخرج من الأداة المساعدة لعميل MySQL باستخدام الأمر التالي وارجع إلى محطة AWS Cloud9: quit;

يمكنك الآن التأكد من أن AWS Glue قد أكمل بنجاح مهمة تحميل البيانات إلى قاعدة بيانات مستهدفة باستخدام عناوين IP من شبكة فرعية غير قابلة للتوجيه. وبذلك ينتهي الاختبار الشامل لحل بوابة NAT الخاصة.

تنظيف

لتجنب تكبد رسوم مستقبلية، احذف المورد الذي تم إنشاؤه عبر مكدس CloudFormation عن طريق إكمال الخطوات التالية:

  1. في وحدة تحكم AWS CloudFormation، انقر فوق Stacks في جزء التنقل.
  2. حدد المكدس AWSGluePrivateNATStack.
  3. انقر فوق "حذف" لحذف المكدس. عندما يُطلب منك تأكيد حذف المكدس.

وفي الختام

في هذا المنشور، أوضحنا كيف يمكنك توسيع نطاق وظائف AWS Glue من خلال تحسين استهلاك عناوين IP وتوسيع سعة شبكتك باستخدام حل بوابة NAT الخاصة. يساعدك هذا النهج المزدوج على إلغاء الحظر في بيئة بها قيود على سعة عنوان IP. تعد الخيارات التي تمت مناقشتها في قسم تحسين عنوان IP الخاص بـ AWS Glue مكملة لحلول توسيع عنوان IP، ويمكنك إنشاء نظام أساسي للبيانات بشكل متكرر لتطويره.

تعرف على المزيد حول تقنيات تحسين مهمة AWS Glue من راقب وحسِّن التكلفة على AWS Glue لـ Apache Spark و أفضل الممارسات لتوسيع نطاق مهام Apache Spark وتقسيم البيانات باستخدام AWS Glue.


عن المؤلفين

المؤلف1سوشانث كوثابالي هو مهندس الحلول في Amazon Web Services الذي يدعم عملاء السيارات والتصنيع. إنه شغوف بتصميم الحلول التقنية لتحقيق أهداف العمل ولديه اهتمام كبير بالهندسة المعمارية التي لا تعتمد على خادم والتي تعتمد على الأحداث.

المؤلف2سينثيل كامالا راثينام هو مهندس حلول في Amazon Web Services متخصص في البيانات والتحليلات. إنه متحمس لمساعدة العملاء على تصميم وبناء منصات البيانات الحديثة. في أوقات فراغه، يحب سينثيل قضاء الوقت مع عائلته ولعب كرة الريشة.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة