AWS CloudFormation -mallien muokkaaminen: Kiillota koodi

Olen osoittanut, kuinka viedä SaaS-ratkaisu liiketoimintasuunnitelmasta live-sovellukseksi käyttämällä kiiltävän uuden ongelmalippujen sovellusta. Tässä on mitä olemme käsittäneet tähän mennessä:

  • Kuinka olla SaaS-myyjä kengännauhassa Amazon Web Services -palvelun kanssa
  • Ensimmäiset vaiheet SaaS: ään AWS CloudFormation -mallien avulla
  • Luo erittäin käytettävissä oleva klusteri AWS CloudFormaation avulla
  • AWS CloudFormation -mallin anatomia

Poimittuani viime viikon anatomian oppitunnista, jossa yksityiskohtaisesti tarkastelin AWS CloudFormation -mallin eri osia, olen nyt valmis muokkaamaan sitä erityisiä vaatimuksiani varten - automatisoimaan tukilipupalveluni rakentamisen.

Klikkaa suurentaaksesi.

SaaS-rakennustyöt ovat nyt saavuttaneet erittäin teknisen vaiheen. Olen kirjoittanut alla sulattavan monimutkaisen menettelytavan (kiitos Drupalin kehitysyritykselle Microservelle koodin tarkistamisesta).

Amazon CloudFormation -sovelluksella kokeilu maksaa todellista rahaa. Noudata näitä ohjeita vain, jos jätät mielelläsi vähän rahaa. Oletan, että olet jo rekisteröitynyt AWS: ään.

En kuvaa kaikkia vaadittuja SaaS-rakennustöitä - viattomia ihmisiä ei tarvitse vetää läpi koko kehitysprosessin. Nämä vaiheet tarttuvat toisiinsa muutamalla rakennuspalikalla päästäkseen peruskäyttötilaan.

Hanki kopio Amazonin CloudFusion-mallitiedostosta

Paloittelen ja vaihdan Amazonin mallia saadakseni nopeita tuloksia sen sijaan, että tein sen oikein kirjoittamalla mallin tyhjästä. Jos olet koskaan miettinyt mitä "likainen hakkeri" on, olet tekemässä sitä.

  1. Avaa URL-osoite http://aws.amazon.com/cloudformation/aws-cloudformation-templates/. Sivu AWS CloudFormation -mallipohjat - Yhdysvaltain itäosa (Virginia) -alue tulee näkyviin.
  2. Löydä linkki nimeltään Hyvin saatavissa oleva Web-palvelin Multi-AZ Amazon RDS-tietokanta-esiintymän avulla ja käyttämällä S3-tiedostoa tiedostojen sisällön tallentamiseen. Amazon ei käytä täällä lyhyitä ja kireitä nimiä.
  3. Lataa tiedosto Drupal_Multi_AZ.template Amazonin verkkosivustolta työasemallesi.
  4. Valitse kopiosi nimi. Soitin mine aws-cfn-support-template.json . Ei, nimeni ei ole myöskään lyhyt ja kireä.
  5. Jos käytät kooditietovarastoa, kuten Github tai Gitorious, tarkista uusi versio.

Sinulla on nyt muokattava paikallinen kopio ja etävarmuuskopio (alkuperäinen tiedosto AWS: ssä).

Muuta AWS CloudFormation Templates "Resurssit" -osaa.

Tässä kohta alkaa lyödä koodia vasaralla. Tarkista viimeisestä viestistäni mitä Resurssit-osa tarkoittaa - joka kuvaa mallitiedoston asettelua.

Nämä muokkaukset muuttavat kokoonpanoa ja liikahtavat muutamiin Drupalin kehittäjä temppuihin - drush-komennot, moduulit ja asennusprofiili.

Onko koodin kopiointi liikaa? Löydä koko malli githubista.

Muuta ElasticLoadBalancerin kokoonpanoa

Joustavat kuormituksen tasapainottajat eivät todellakaan ole joustavia oikean ja väärän suhteen. Heidän on saatava yksinkertainen OK- vastaus (HTTP 200). Drupal voi antaa monenlaisia ​​vastauksia, ei vain OK.

Tarkista tavallinen tiedosto, kuten README.txt, sen sijaan, että kysyisit Drupalia.

  1. Muokkaa kopiosi mallitiedostosta. Etsi nämä rivit:

    "HealthCheck" : {

    "Kohde": "HTTP: 80 /",

    Ne ovat noin puolivälissä tiedostoa.
  2. Muuta kyseistä kohderiviä :

    "HealthCheck" : {

    "Kohde": "HTTP: 80 / README.txt",

Päivitä Drupal-koodi ja lisää moduulit

Resurssit-osio sisältää upotetun bash-komentosarjan. Tätä kuvataan myös viimeisessä viestissäni. Nämä muokkaukset muuttavat skriptiä.

Lisää joitain ylimääräisiä moduuleja tukilippujärjestelmään. Haluan, että nämä tiedostot kopioidaan jokaiselle palvelimelle. Moduulitiedostot päätyvät hakemistoon / var / www / html / site / all / moduulit . Moduulit eivät mene S3-ämpäriin (S3-alue on / var / www / html / sivustot / oletus / tiedostot ).

Tämä osa sisältää Linux-järjestelmänvalvojien, Drupalin järjestelmänvalvojien ja AWS-järjestelmänvalvojien käyttämät komennot. Tiedätkö mikä on rm- komento? Oletko käyttänyt drushia ? Entä cfn-signal ?

1. Etsi bash-komentosarjan loppu. Se näyttää tältä:

 "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" 

Aiot lisätä koodirivit siihen tyhjään riviin, rm- komennon alapuolelle ja # kommentin yläpuolelle.

2. Lisää nämä rivit päivittääksesi sovellustiedostot. Cloudformation asentaa vanhat versiot drupalista ja drushista, kun EC2-koneet rakennetaan. Jokainen uusi EC2-virtuaalikone saa nämä päivitetyt tiedostot.

 "# 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. Päivitä tietokanta vastaamaan tiedostoja. Haluan vain yhden koneen tekevän tämän, joten koodi tarkistaa vain ensimmäisen koneen. Jos kaikki koneet yrittävät samanaikaisesti, tietokanta lopulta todennäköisesti rikkoutuu.

 "# 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. Lisää moduulitiedostot, joita tarvitsen työhöni.

 "# 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. Ota moduulit käyttöön päivittämällä tietokanta.

 "# 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. Varmista, että Drupal pystyy lukemaan omia tiedostojaan.

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

7. Tallenna työsi.

Muodosta uusi pilvi

Suorita vaiheet uudelleen suorittaaksesi AWS-esimerkki Drupal-klusterista. Aiemmat viestit koskivat noudatettavaa menettelytapaa ja tarvitsemiasi arvoja.

Luo uusi sivustosi.

    1. Löydä uusi mallisi.
    2. Noudata ohjeita pilven käynnistämiseksi, mutta älä käytä Amazonin oletusmallia.
    3. Lataa uusi malli käyttämällä Lataa mallitiedosto -vaihtoehtoa.
    4. Täytä lomakkeet.
    5. Luo CloudFormation-pino. Kun juoksin tämän kesti 20 minuuttia.
    6. Päivitä tapahtumaluettelo nähdäksesi edistymisen.

      Klikkaa suurentaaksesi.
      Tarkista uusi sivustosi.
        1. Avaa uuden tukisivustosi URL-osoite. Kaivokseni on http://supportti-elasticl-qbifcetbaa16-1886498031.eu-west-1.elb.amazonaws.com/admin/support. Sisäänkirjautumissivu tulee näkyviin.
        2. Kirjaudu sisään käyttämällä uutta SiteAdminia ja SitePasswordia. Tukisivu tulee näkyviin.
          Siivota.

            Tuhoa uusi CloudFormation-pino, kun olet valmis.

              Ymmärtämistesti

              Crikey, se on kuin olisi palannut takaisin kouluun.

              Uusi Amazon VM on aina vähän vanhentunut. Korjauksia ja päivityksiä on saatavana joillekin sen paketeista. Yksi asia, jota tämä malli ei tee, on päivittää jokaisen virtuaalikoneen paketit.

              Mihin laitat yum update -komennon?

              © Copyright 2020 | mobilegn.com