Web uygulamalarını ve sunucularını dağıtmak için gerekli kaynakları tek tek yapılandırmanın zaman alıcı süreci artık gerekli değil.
AWS Elastic Beanstalk ve Heroku gibi hizmet olarak platform (PaaS) ürünleri, çok az kodla veya hiç kod olmadan ve birkaç düğmeyle dağıtılacak ve kullanıcılara sunulacak uygulamalar tıklamalar
Peki, AWS Elastic Beanstalk nedir ve Elastic Beanstalk ile Go web uygulamalarınızı bulutta nasıl dağıtabilirsiniz?
AWS Elastic Fasulye Sırığı Nedir?
AWS Elastic Beanstalk (AWS EB), uygulamaların ve gerekli kaynakların hızlı ve kolay bir şekilde dağıtılmasına ve yönetilmesine olanak tanıyan, Amazon Web Services tarafından sunulan bir hizmet olarak platform ürünüdür.
Elastic Beanstalk ile, gerekli tüm kaynakları kurmak zorunda kalmadan bir uygulamayı dağıtmak kolaydır. EC2'de linux sunucusu
veya cloudwatch'ta bir izleme hizmeti. Elastic Beanstalk, kaynakların ayarlanmasıyla ilgili tüm süreçleri yönetir ve Node.js, Golang, PHP, Docker vb. dahil olmak üzere çeşitli türden uygulamaları dağıtmanıza olanak tanır.Basit Bir Golang Web Sunucusu Oluşturma
Bu öğreticinin amacı doğrultusunda, AWS Elastic Beanstalk üzerinde devreye almak için çalışan bir Golang uygulamanızın olması gerekir, dolayısıyla bu bölümde basit bir Go web sunucusu oluşturulur.
Bu bölümü takip etmek için makinenizde kurulmuş bir Golang geliştirme ortamına ihtiyacınız var.
İlk adım, aşağıdaki komutları çalıştırarak terminalden yapılabilecek yeni bir Golang projesini başlatmaktır:
Bittiğinde, proje dizinini tercih ettiğiniz IDE'de açabilirsiniz. Kök proje dizininizde, adlı bir klasör oluşturun. statik ve bir oluştur index.html içinde dosya. Aşağıdaki kodu HTML dosyasına kopyalayıp yapıştırın ve kaydedin.
html>
<htmldil="tr">
<KAFA>
<metakarakter kümesi="UTF-8">
<başlık>Selam Dünya!başlık>
KAFA>
<vücut>
<h1>Elastic Beanstalk'tan Merhaba Dünyah1>
vücut>
html>
Projenizin kök dizinine geri dönün ve bir uygulama.go dosya. Aşağıdaki kodu kopyalayıp bilgisayarınıza yapıştırın uygulama.go dosyalayın ve kaydedin. Ana dosyayı adlandırmalısınız uygulama.go çünkü bu, Elastic Beanstalk'ın dağıtım işlemi sırasında uygulamanızı oluşturmak için arayacağı dosyadır.
paket ana
içe aktarmak (
"kayıt"
"ağ/http"
)işlevana() {
statik := http. Dosya Sunucusu (http. yön("./statik"))
http. Halletmek("/", statik)
kayıt. Ölümcül (http. dinleve sun(":5000", sıfır))
}
Elastic Beanstalk varsayılan olarak istekleri uygulamanıza yalnızca 5000 numaralı bağlantı noktasında ileten bir NGINX yapılandırması kullanır. Varsayılan NGINX yapılandırmalarını geçersiz kılmanız dışında, Golang uygulamanız istekler için her zaman 5000 numaralı bağlantı noktasını dinlemelidir.
Dosyayı kaydeder ve programı terminalde çalıştırırsanız git application.go'yu çalıştır, adresi açarak statik web sayfasını önizleyebilirsiniz. yerel ana bilgisayar: 5000 tarayıcınızda.
Artık örnek uygulamanızı oluşturmuş ve devreye almaya hazırsınız. Bir sonraki bölümde, uygulamayı AWS Elastic Beanstalk'a dağıtacaksınız.
AWS Elastic Beanstalk'a Go Uygulaması Dağıtma
Elastic Beanstalk gibi herhangi bir AWS hizmetine uygulama dağıtmak için bir AWS bulut hesabına ihtiyacınız vardır. Şu anda bir AWS hesabınız yoksa şu adrese gidin: AWS'nin kayıt sayfası ücretsiz olarak yeni bir tane oluşturmak için.
Uygulamaları Elastic Beanstalk'a dağıtmanın, AWS CLI, Elastic Beanstalk Komut Satırı Arayüzü (EB) dahil olmak üzere birçok yolu vardır. CLI) ve web konsolundan, ancak bu öğreticide, EB CLI kullanarak terminalden Elastic Beanstalk'a nasıl konuşlandırılacağını öğreneceksiniz. alet.
kontrol edebilirsiniz AWS EB CLI kurulum kılavuzu Bu bölümü takip etmek için EB CLI'nin nasıl kurulacağına ve yapılandırılacağına ilişkin ayrıntılı bir kılavuz için. EB CLI'yi kurmayı ve yapılandırmayı tamamladığınızda, artık Golang uygulamanızı dağıtmak için aşağıdaki adımları takip edebilirsiniz.
- Yeni bir terminal penceresi açın ve dağıtılacak Go uygulamasının proje klasörüne gidin. CD emretmek.
- Koşmak eb başlangıç yeni bir Elastic Beanstalk CLI deposu başlatmak için. Kurulumdan sonra bu komutu ilk kez çalıştırdığınız için EB CLI, sonraki adımlarda görüldüğü gibi size ilk kurulum seçeneklerini soracaktır.
- Tercih edilen bir bölge seçtikten sonra, güvenlik kimliği kimlik bilgilerinizi (Erişim anahtarı kimliği ve Gizli anahtar) ayarlayacaksınız. tarafından sağlanan kapsamlı bir rehber var. Güvenlik kimlik bilgilerinin oluşturulması hakkında AWS AWS konsolunda.
- Ardından, konuşlandırdığınız uygulamanın adını tanımlayacaksınız. Varsayılan olarak bu, geçerli proje klasörünüzün adını kullanır.
- Bir sonraki adım, dağıtacağınız uygulamanın platformunu seçmektir, bu durumda bir Golang uygulaması dağıttığınız için 4. seçeneği seçmelisiniz.
- Bir sonraki bilgi istemi, dağıtılan uygulamanız için bir SSH bağlantısını etkinleştirmek isteyip istemediğinizi sorar. Uygulamanız için kolay uzaktan erişime ve hata ayıklamaya izin verdiği için bu önerilir, ancak bu eğitimde, HAYIR basit bir uygulama olduğu için seçilir.
CodeCommit'in kurulamadığını gösteren satır, bu örnekte projede Git veya başka bir kaynak denetiminin kullanılmamasından kaynaklandığı için endişelenecek bir şey değildir.
- Yukarıdaki adımları tamamladıktan sonra, yeni bir Elastic Beanstalk CLI deposu oluşturulacak ve artık sonraki adımlarda uygulamanızı dağıtmak için bir Elastic Beanstalk ortamı oluşturabilirsiniz.
- Koşmak eb "ortam adı" oluşturun belirtilen adlı yeni bir ortam oluşturmak için ortam adı. Ortam, bir EC2 bulut sunucusu, otomatik ölçeklendirme grubu, S3 grubu, Yük dengeleyici vb. dahil gerekli tüm kaynaklarla oluşturulur. Bu işlem, ağ hızına bağlı olarak yaklaşık 5-10 dakika sürer.
Tıpkı sen olduğun zaman gibi AWS'ye statik bir web sitesi dağıtınEB uygulamanıza ayrıca web uygulamanıza erişmek için kullanabileceğiniz bir URL (yukarıdaki ekran görüntüsünde kırmızı kutuyla işaretlenmiştir) atanır.
- Başarıyla tamamlandığında, uygulama önizlenmeye hazırdır ve çalıştırabilirsiniz. eb açık dağıtılan uygulamayı tarayıcınızda açmak için. şimdi görmelisin Selam Dünya Elastic Beanstalk tarafından atanan URL kullanılarak web tarayıcınızda görüntülenir.
Uygulamanızda her değişiklik yaptığınızda, çalıştırabilirsiniz. eb dağıtmak Elastic Beanstalk'a en son güncellemeleri göndermek için. Ve uygulamanızı ve tüm kaynaklarını kapatmak için çalıştırabilirsiniz. eb sonlandırmak.
Artık Elastic Beanstalk CLI aracını kullanarak bir Golang web uygulamasını AWS Elastic Beanstalk'a başarıyla dağıttınız. İşlem çok kolaydır ve Elastic Beanstalk'ta herhangi bir Golang web uygulamasını dağıtmak için takip edilebilir.
Durumu veya ortamınız ve uygulamanızla ilgili diğer bilgileri görüntülemek için AWS konsolundaki Elastic Beanstalk panonuzu kontrol edebilirsiniz.
Web Uygulamalarını Elastic Beanstalk'a Dağıtma
Elastic Beanstalk, uygulamalarınızı çok kolay adımlarla yerelden hayata geçirmenin güvenilir bir yoludur. Küçük ve büyük ölçekli uygulamalarınızı, web konsolu, AWS CLI, EB CLI, AWS API'leri veya AWS SDK dahil olmak üzere AWS'nin sunduğu araçlardan herhangi birini kullanarak kolayca dağıtabilir ve yönetebilirsiniz.
Bu makaleden edinilen bilgilerle daha fazla pratik yapmak için Go ile bir CRUD API oluşturmayı ve bunu Elastic Beanstalk'a dağıtmayı düşünebilirsiniz.