AWS CloudFormation şablonlarını değiştirme: Kodunuzu cilalayın
Parlak, yeni bir sorun bilet uygulaması örneğini kullanarak iş planından canlı bir uygulamaya SaaS çözümünü nasıl alacağımı gösterdim. Şimdiye kadar ele aldığımız konular:
AWS CloudFormation şablonlarıyla SaaS'a ilk adımlar
Yüksek düzeyde kullanılabilir bir küme oluşturmak için AWS CloudFormation kullanma
Bir AWS CloudFormation şablonunun çeşitli bölümlerini ayrıntılı olarak anlattığım geçen haftaki anatomi dersinden alıyorum, şimdi özel gereksinimlerime uyacak şekilde değiştirmeye hazırım - destek bilet hizmetimin yapısını otomatikleştiriyorum.
SaaS yapım işi artık yoğun teknik aşamaya geldi. Başınızı eriten karmaşık prosedürü aşağıda yazdım (kodumu kontrol ettiği için Drupal geliştirme ajansı Microserve sayesinde).
Amazon CloudFormation ile deneme yapmak gerçek paraya mal olur. Bu talimatları sadece biraz para harcamaktan memnunsanız uygulayın. Zaten AWS'ye kaydolduğunuzu varsayıyorum.
Gerekli tüm SaaS yapı işlerini tanımlamıyorum - masum insanları tüm gelişim süreci boyunca sürüklemeye gerek yok. Bu adımlar, temel bir çalışma durumuna ulaşmak için birkaç yapı taşını birbirine bağlar.
Amazon'un CloudFusion şablon dosyasının bir kopyasını edinin
Sıfırdan bir şablon yazarak düzgün yapmak yerine hızlı sonuç almak için Amazon'un şablonunu doğrayıp değiştiriyorum. "Kirli bir saldırının" ne olduğunu hiç merak ettiyseniz, bir tane yapmak üzeresiniz.
Http://aws.amazon.com/cloudformation/aws-cloudformation-templates/ URL'sini açın. AWS CloudFormation Örnek Şablonları - ABD Doğu (Virginia) bölgesi sayfası görüntülenir.
Multi-AZ Amazon RDS veritabanı örneği bulunan ve dosya içeriğini depolamak için S3 kullanan Yüksek Kullanılabilir Web Sunucusu adlı bağlantıyı bulun. Amazon burada kısa ve hızlı isimler kullanmıyor.
Amazon'un web sitesinden iş istasyonunuza Drupal_Multi_AZ.template dosyasını indirin.
Kopyanız için bir ad seçin. Benimkine aws-cfn-support-template.json adını verdim . Hayır, benim adım da kısa ve çabuk değil.
Github veya Gitorious gibi bir kod deposu kullanıyorsanız, yeni sürümünüzü kontrol edin.
Artık düzenlenecek yerel kopyanız ve uzaktan yedeklemeniz (AWS'deki orijinal dosya) var.
AWS CloudFormation Şablonları "Kaynaklar" bölümünü değiştirin.
Burası bir tokmak ile koda basmaya başladığımız yer. Bir şablon dosyasının düzenini açıklayan "Kaynaklar" bölümünün ne anlama geldiğini öğrenmek için son yazımı kontrol edin.
Bu düzenlemeler yapılandırmayı değiştirir ve birkaç Drupal geliştirici hilesinde gizlenir - drush komutları, modüller ve kurulum profili.
Kopyalamak için çok fazla kod var mı? Tam şablonu github'da bulabilirsiniz.
FlexibleLoadBalancer yapılandırmasını değiştirme
Elastik yük dengeleyicileri, doğru ve yanlış söz konusu olduğunda kesinlikle esnek değildir. Basit bir OK yanıtı almalıdırlar (HTTP 200). Drupal sadece OK değil, bir dizi cevap verebilir .
Drupal'a sormak yerine README.txt gibi sıradan bir dosyayı kontrol edin.
Şablon dosyasının kopyanızı düzenleyin. Bu satırları bulun:
"Hedef": "HTTP: 80 /",
Dosyanın yaklaşık yarısı kadar.
Bu Hedef satırını değiştirin:
"Hedef": "HTTP: 80 / README.txt",
Drupal kodunu güncelleme ve modül ekleme
Kaynaklar bölümü katıştırılmış bir bash betiği içerir. Bu benim son yazımda da açıklanıyor. Bu düzenlemeler bu komut dosyasını değiştirir.
Destek bileti sistemi için bazı ekstra modüller ekleyin. Bu dosyaların her sunucuya kopyalanmasını istiyorum. Modül dosyaları / var / www / html / sites / all / modülleri ile sonuçlanır. Modüller S3 kovasına girmez (S3 alanı / var / www / html / sites / default / files ).
Bu bölüm Linux yöneticileri, Drupal yöneticileri ve AWS yöneticileri tarafından kullanılan komutları içerir. Rm komutunun ne olduğunu biliyor musunuz? Drush kullandın mı CFN sinyali ne dersiniz?
1. bash betiğinin sonunu bulun. Şöyle görünüyor:
Bu boş satırın bulunduğu yere, rm komutunun altına ve # yorumun üzerine kod satırları ekleyeceksiniz.
2. Uygulama dosyalarını güncellemek için bu satırları ekleyin. Cloudformation, EC2 makineleri üretildiğinde eski drupal ve drush sürümlerini kurar. Her yeni EC2 sanal makinesi bu güncellenmiş dosyaları alacaktır.
3. Veritabanını dosyalarla eşleşecek şekilde güncelleyin. Kodun sadece ilk makineyi kontrol etmesi için sadece bir makinenin bunu yapmasını istiyorum. Tüm makineler aynı anda denerse, veritabanı büyük olasılıkla bozuk olacaktır.
4. Çalışmam için ihtiyacım olan modül dosyalarını ekleyin.
5. Veritabanını güncelleyerek modülleri etkinleştirin.
6. Drupal'ın kendi dosyalarını okuyabildiğinden emin olun.
7. Çalışmanızı kaydedin.
Yeni bulutunuzu oluşturun
Drupal kümesinin AWS örneğini çalıştırmak için adımları yeniden çalıştırın. Daha önceki yayınlarımda izlenecek prosedür ve ihtiyacınız olan değerler ele alındı.
Yeni sitenizi oluşturun.
Yeni şablonunuzu bulun.
Bulut başlatma prosedürünü izleyin, ama Amazon'un varsayılan şablonunu kullanmayın.
Şablon Dosyası Yükle seçeneğini kullanarak yeni şablonunuzu yükleyin .
CloudFormation yığınını oluşturun. Bunu çalıştırdığımda tamamlanması 20 dakika sürdü.
İlerlemeyi görmek için Etkinlikler listesini yenileyin.
Yeni sitenizi kontrol edin.
Yeni destek sitenizin URL'sini açın. Benimki http://supportti-elasticl-qbifcetbaa16-1886498031.eu-west-1.elb.amazonaws.com/admin/support. Bir giriş sayfası görünür.
Yeni SiteAdmin ve SitePassword'unuzu kullanarak giriş yapın. Bir destek sayfası görünür.
İşiniz bittiğinde yeni CloudFormation yığınınızı yok edin.
Bir anlama testi
Crikey, okula geri dönmek gibi.
Yeni bir Amazon VM her zaman güncelliğini yitirmiştir. Birkaç paketi için yamalar ve yükseltmeler mevcuttur. Bu şablonun yapmadığı bir şey, her sanal makinedeki paketleri güncellemektir.
Yum güncelleme komutunu nereye koyardınız ?
Raspberry Pi dokunmatik ekranı: Ucuz küçük ekranlardan tablet boyutunda panele Şişkinlik 'iyi' değil: Kapsam / zaman / maliyet dinamiği tartışılırken rakamlara sadık kalın Rapor: Bu şehirler teknoloji uzmanları için en iyisidir Gözden Geçirme: Avocent Data Center Planner
Microsoft'un Teams'in ücretsiz sürümü neden Slack ile daha iyi rekabet etmesine yardımcı olabilir?
Cent OS 7'de bir kullanıcı hesabı nasıl kilitlenir
Veri merkezi Ubuntu sunucularınızı yükseltme
Drobo'nun BeyondRAID'i geleneksel RAID teknolojileri ile nasıl karşılaştırılır
Online randevu hizmetleri: Kırık bir kalpten daha fazla risk almak
İşletme için kategorize edilen iPhone uygulamalarının yalnızca yüzde ikisi
Satıcılar neden kısmen dijital dönüşüm başarısızlıklarından sorumlu olacaklar ve daha iyi olanları nasıl seçecekler