פרוס יישום אתחול האביב ל- AWS Beanstalk

1. סקירה כללית

במדריך זה נראה כיצד לפרוס יישום מ- Bootstrap שלנו יישום פשוט באמצעות מדריך אתחול האביב ל- AWS Beanstalk אלסטי.

כחלק מכך אנו:

  • התקן והגדר כלי AWS CLI
  • צור פרויקט Beanstalk ופריסת MySQL
  • הגדר את היישום עבור MySQL ב- AWS RDS
  • לפרוס, לבדוק ולגדול את היישום

2. תצורת AWS Beanstalk Elastic

כתנאי מוקדם, היינו צריכים לרשום את עצמנו ב- AWS וליצור סביבת Java 8 ב- Elastic Beanstalk. עלינו להתקין את ה- AWS CLI שיאפשר לנו להתחבר לסביבה שלנו.

לכן, בהתחשב בכך, עלינו להתחבר ולאתחל את היישום שלנו:

cd ... / spring-boot-bootstrap eb init 
> בחר אזור ברירת מחדל 1) us-east-1: East US (N. Virginia) 2) us-west-1: West US (N. California) 3) us-west-2: West US (Oregon) 4) eu-west-1: האיחוד האירופי (אירלנד) 5) eu-central-1: האיחוד האירופי (פרנקפורט) 6) ap-south-1: אסיה האוקיאנוס השקט (מומבאי) 7) ap-דרום-מזרח 1: אסיה האוקיאנוס השקט (סינגפור) 8) ap-דרום-מזרח -2: אסיה פסיפיק (סידני) 9) ap-מזרח-מזרח 1: אסיה פסיפיק (טוקיו) 10) ap-מזרח-מזרח 2: אסיה פסיפיק (סאול) 11) sa-east-1: דרום אמריקה (סאו פאולו) ) 12) cn-צפון -1: סין (בייג'ינג) 13) cn-nordwest-1: סין (Ningxia) 14) us-east-2: ארה"ב מזרח (אוהיו) 15) ca-central-1: קנדה (מרכז) 16) eu-west-2: EU (London) 17) eu-west-3: EU (Paris) 18) eu-north-1: EU (שטוקהולם) (ברירת המחדל היא 3):

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

לבסוף, אנו יכולים לבחור את היישום:

> בחר יישום לשימוש 1) baeldung-demo 2) [צור יישום חדש] (ברירת המחדל היא 2): 

בזמן הזה, ה- CLI ייצור קובץ בשם .elasticbeanstalk / config.yml. קובץ זה ישמור על ברירות המחדל של הפרויקט.

3. מאגר מידע

כעת אנו יכולים ליצור את מסד הנתונים במסוף האינטרנט של AWS או באמצעות ה- CLI באמצעות:

eb ליצור - יחיד - בסיס נתונים

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

עם יצירת מסד הנתונים שלנו, בואו להגדיר כעת את אישורי ה- RDS ליישום שלנו. נעשה זאת בפרופיל אביב גבעול שעועית על ידי יצירה src / main / resources / application-beanstalk.properties ביישום שלנו:

spring.datasource.url = jdbc: mysql: // $ {rds.hostname}: $ {rds.port} / $ {rds.db.name} spring.datasource.username = $ {rds.username} spring.datasource. סיסמה = $ {rds.password} 

אביב יחפש את הנכס ששמו rds.hostname כמשתנה סביבתי שנקרא RDS_HOSTNAME. אותו היגיון יחול על השאר.

4. יישום

כעת נוסיף שעועיתפרופיל Maven ספציפי ל- pom.xml:

 beanstalk $ {project.name} -eb org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-compiler-plugin ** / cloud / config / *. java 

לאחר מכן, נפרט את החפץ בקובץ התצורה של Elastic Beanstalk .elasticbeanstalk / config.yml:

deploy: artifact: target / spring-boot-bootstrap-eb.jar 

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

eb setenv SPRING_PROFILES_ACTIVE = גבעול שעועית, mysql eb setenv SERVER_PORT = 5000

5. פריסה ובדיקה

כעת אנו מוכנים לבנות ולפרוס:

mvn נקי חבילה נוחה: אתחול מחדש eb לפרוס 

לאחר מכן, נבדוק את הסטטוס ונקבע את שם ה- DNS של היישום הפרוס:

מצב eb

והתפוקה שלנו צריכה להיות משהו כמו:

פרטי סביבה עבור: BaeldungDemo-env שם יישום: baeldung-demo אזור: us-east-2 פריסה גרסה: app-181216_154233 מזהה סביבה: e-42mypzuc2x פלטפורמה: arn: aws: elasticbeanstalk: us-east-2 :: פלטפורמה / Java 8 פועלות על 64bit אמזון לינוקס / 2.7.7 דרגה: WebServer-Standard-1.0 CNAME: BaeldungDemo-env.uv3tr7qfy9.us-east-2.elasticbeanstalk.com עודכן: 2018-12-16 13: 43: 22.294000 + 00: 00 סטטוס: בריאות מוכנה: ירוקה

כעת אנו יכולים לבדוק את היישום - שימו לב לשימוש בשדה CNAME כ- DNS להשלמת כתובת ה- URL.

בואו נוסיף ספר לספרייה שלנו עכשיו:

http POST //baeldungdemo-env.uv3tr7qfy9.us-east-2.elasticbeanstalk.com/api/books author = "Iain M. Banks"

ואם הכל בסדר, עלינו לקבל משהו כמו:

HTTP / 1.1 201 בקרת מטמון: ללא מטמון, ללא חנות, max-age = 0, חובה לאמת מחדש חיבור: שמור על חיים סוג תוכן: יישום / json; charset = UTF-8 תאריך: רביעי, 19 בדצמבר 2018 15:36:31 GMT פג תוקף: 0 פראגמה: ללא מטמון שרת: nginx / 1.12.1 קידוד העברה: אפשרויות X-Content-Type-chunked: Nosniff X-Frame-Options: DENY X-XSS-Protection: 1; mode = block {"author": "Iain M. Banks", "id": 5, "title": "The Player of Games"}

6. שינוי גודל היישום

לבסוף, אנו מגדילים את הפריסה כך שתפעיל שני מופעים:

סולם eb 2

Beanstalk תריץ כעת שני מופעים של היישום ותעבור איזון עומס בשני המקרים.

קנה מידה אוטומטי לייצור הוא קצת יותר מעורב, אז נעזוב את זה ליום נוסף.

7. מסקנה

במדריך זה אנו:

  • הותקן והגדיר את ה- AWS Beanstalk CLI והגדיר סביבה מקוונת
  • פרס שירות MySQL והגדיר את מאפייני חיבור מסד הנתונים
  • בנו ופרסנו את יישום Spring Boot שהוגדרנו, וכן
  • נבדק ומוגדל היישום

לפרטים נוספים, עיין בתיעוד Beanstalk Java.

כמו תמיד, קוד המקור השלם של הדוגמאות שלנו נמצא כאן, ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found