Az AWS CloudFormation sablonok módosítása: Töltse le a kódját

Bemutattam, hogyan lehet egy SaaS-megoldást az üzleti tervből egy élő alkalmazásba vinni egy fényes, új hibajegy-alkalmazás példáján keresztül. Íme, amit eddig fedeztünk:

  • Hogyan lehet SaaS-gyártó az Amazon Web Services cipőfűzőjével?
  • A SaaS első lépései az AWS CloudFormation sablonokkal
  • Az AWS CloudFormation használatával hozzon létre egy nagyon elérhető fürtöt
  • AWS CloudFormation sablon anatómiája

A múlt heti anatómiai óráról, ahol részletesebben kidolgoztam egy AWS CloudFormation sablont, most készen állok arra, hogy módosítsam azt a specifikus igényeim szerint - automatizálva a támogatási jegy szolgáltatásomat.

Kattints a kinagyításhoz.

A SaaS építkezési munkája elérte az erősen műszaki színpadot. Az alábbiakban írtam a fejét olvadóan bonyolult eljárást (köszönet a Drupal Microserve fejlesztő ügynökségnek, aki ellenőrizte a kódomat).

Az Amazon CloudFormation kísérlete valódi pénzt jelent. Csak akkor kövesse ezeket az utasításokat, ha szívesen pazarol egy kis pénzt. Azt hiszem, már regisztráltál az AWS-re.

Nem írom le az összes szükséges SaaS-építkezési munkát - nincs szükség az ártatlan emberek áthúzására a teljes fejlesztési folyamat során. Ezek a lépések néhány építőelemet ragaszkodnak az alapvető működési állapot eléréséhez.

Kérjen másolatot az Amazon CloudFusion sablonfájljáról

Vágom és megváltoztatom az Amazon sablonját, hogy gyors eredményeket kapjak, ahelyett, hogy megfelelő módon csinálnám úgy, hogy a sablont a semmiből írtam volna. Ha valaha is azon tűnődött, hogy mi a "piszkos hack", akkor készülsz egyet.

  1. Nyissa meg a http://aws.amazon.com/cloudformation/aws-cloudformation-templates/ URL-t. Megjelenik az AWS CloudFormation mintasablonok - az Egyesült Államok keleti (Virginia) régiója oldal .
  2. Keresse meg a Nagyon elérhető webszerver nevű linket a Multi-AZ Amazon RDS adatbázispéldány segítségével, és az S3 használatával tárolja a fájltartalmat. Az Amazon itt nem használ rövid és hamis neveket.
  3. Töltse le a Drupal_Multi_AZ.template fájlt az Amazon webhelyéről a munkaállomására.
  4. Válasszon nevet a példányához. Az aws-cfn-support-template.json nevemet hívtam . Nem, a nevem sem rövid és szellemes.
  5. Ha olyan kódtárot használ, mint a Github vagy a Gitorious, akkor ellenőrizze az új verziót.

Most már megvan a szerkeszthető helyi példány és távoli biztonsági mentés (az eredeti fájl az AWS-en).

Módosítsa az AWS CloudFormation sablonok "Erőforrások" szakaszát.

Itt kezdjük ütni a kódot egy kalapáccsal. Ellenőrizze az utolsó hozzászólásomat, hogy mit jelent a "Források" szakasz - amely leírja a sablonfájl elrendezését.

Ezek a szerkesztések megváltoztatják a konfigurációt, és néhány Drupal fejlesztői trükkre - azaz a parancsokra, a modulokra és a telepítőprofilra - ragaszkodnak.

Túl sok kódot másolni? Keresse meg a teljes sablont a githubon.

Módosítsa az ElasticLoadBalancer konfigurációját

A rugalmas terheléselosztók minden bizonnyal nem rugalmasak, amikor helyes és rossz. Egyszerű OK választ kell kapniuk (HTTP 200). A Drupal számos választ adhat, nem csak az OK-t.

Ellenőrizze az olyan rendes fájlt, mint a README.txt, ahelyett, hogy Drupalt kérné.

  1. Szerkessze a sablonfájl másolatát. Keresse meg ezeket a sorokat:

    "HealthCheck" : {

    "Cél": "HTTP: 80 /",

    Körülbelül félúton vannak a dossziéban.
  2. A cél sor módosítása:

    "HealthCheck" : {

    "Cél": "HTTP: 80 / README.txt",

Frissítse a Drupal kódot, és adjon hozzá modulokat

Az Erőforrások szakasz egy beágyazott bash szkriptet tartalmaz. Ezt a legutóbbi bejegyzésemben is ismertem. Ezek a szerkesztések megváltoztatják a szkriptet.

Adjon hozzá néhány extra modult a támogatási jegyrendszerhez. Azt akarom, hogy ezeket a fájlokat minden szerverre másolja. A modul fájlok a / var / www / html / site / all / modules mappába kerülnek . A modulok nem mennek az S3 vödörbe (az S3 terület / var / www / html / site / alapértelmezett / fájlok ).

Ez a szakasz a Linux rendszergazdák, a Drupal rendszergazdák és az AWS rendszergazdák által használt parancsokat tartalmazza. Tudja, mi az rm parancs? Használtál drush-ot ? Mi lenne az cfn-signal ?

1. Keresse meg a bash szkript végét. Ez így néz ki:

 "rm /home/ec2-user/settings.php\n",  
 
 "# All is well so signal success\n",  
 "/opt/aws/bin/cfn-signal -e 0 -r \"Drupal setup complete\" '", { "Ref" : "WaitHandle" }, "'\n" 

Kódsorokat fog hozzáadni ott, ahol az üres sor található, az rm parancs alatt és a # megjegyzés felett.

2. Adja hozzá ezeket a sorokat az alkalmazásfájlok frissítéséhez. A felhőalakítás telepíti a drupal és drush régi verzióit, amikor az EC2 gépek épülnek. Minden új EC2 virtuális gép megkapja ezeket a frissített fájlokat.

 "# Update the code on all machines. \n",  
 "cd ~ec2-user \n",  
 "~ec2-user/drush/drush self-update --choice=2 --yes \n",  
 "cd /var/www/html \n",  
 "~ec2-user/drush/drush pm-updatecode --yes \n",  

3. Frissítse az adatbázist, hogy megfeleljen a fájloknak. Csak egy gépet szeretnék ezt megtenni, így a kód csak az első gépet ellenőrzi. Ha minden gép egyszerre próbálkozik, akkor az adatbázis valószínűleg törni fog.

 "# Update the database from the first machine only. \n",  
 "if  `hostname` = $first \n",  
 "then\n",  
 " ~ec2-user/drush/drush updatedb --yes \n",  
 "fi\n",  

4. Adja hozzá a munkámhoz szükséges modul fájlokat.

 "# Add modules. Many more are automatically added to this list. \n",  
 "# Files are copied to all machines. \n",  
 "~ec2-user/drush/drush pm-download acl commerce content_access entity rules support --yes \n",  

5. Engedélyezze a modulokat az adatbázis frissítésével.

 "# Enable modules and rebuild the permissions table. The database holds this. \n",  
 "if  `hostname` = $first \n",  
 "then\n",  
 " ~ec2-user/drush/drush pm-enable commerce content_access support --yes \n",  
 " ~ec2-user/drush/drush php-eval 'node_access_rebuild();' \n",  
 "fi\n",  

6. Győződjön meg arról, hogy a Drupal képes olvasni a saját fájljait.

 "# Fix ownership and permissions. \n",  
 "chown -R root:apache /var/www/html \n",  
 "chmod 640 /var/www/html/sites/default/settings.php \n",  

7. Mentse el munkáját.

Készítsd el az új felhőt

Futtassa újra a Drupal-fürt AWS-példányának futtatásához szükséges lépéseket. Korábbi hozzászólásaim a követendő eljárásra és a szükséges értékekre vonatkoztak.

Készítse el új webhelyét.

    1. Keresse meg új sablonját.
    2. Kövesse a felhő elindításához szükséges eljárást, de ne használja az Amazon alapértelmezett sablonját.
    3. Töltse fel az új sablont a Sablonfájl feltöltése opcióval.
    4. Töltse ki az űrlapokat.
    5. Hozza létre a CloudFormation veremét. Amikor ezt futottam, 20 percbe telt.
    6. Frissítse az Események listát az előrehaladás megtekintéséhez.

      Kattints a kinagyításhoz.
      Ellenőrizze új webhelyét.
        1. Nyissa meg az új támogatási webhely URL-jét. Az enyém: http://supportti-elasticl-qbifcetbaa16-1886498031.eu-west-1.elb.amazonaws.com/admin/support. Megjelenik egy bejelentkezési oldal.
        2. Jelentkezzen be az új SiteAdmin és SitePassword használatával. Megjelenik egy támogatási oldal.
          Tisztítsd meg.

            Pusztítsd el az új CloudFormation veremét, amikor kész.

              Megértési teszt

              Crikey, olyan, mintha visszatértünk az iskolába.

              Az új Amazon virtuális gép mindig kissé elavult. A javítások és a frissítések csak néhány csomaghoz elérhetők. Az egyik dolog, amelyet ez a sablon nem tesz, az, hogy frissítse a csomagokat az egyes virtuális gépeken.

              Hová tehetsz egy yum update parancsot?

              © Copyright 2020 | mobilegn.com