Yeni portföy web sitemi bu hafta sonu AWS'de dağıtırken, benim gibi çok fazla AWS deneyimi olmayan kişiler için oldukça zahmetli buluyorum. Ayrıca bir AWS geliştirici sertifikası almaya hazırlanırken, sınava hazırlığımın bir parçası olarak neden her şeyi belgelemiyorum diye düşündüm.
İşte Node.js projenizi (veya Elastic Beanstalk kullanarak dağıttığınız sürece başka herhangi bir çerçeveyi) nasıl dağıtabileceğinizle ilgili bu eğitici burada geliyor. Bu eğitim, web uygulamanızı özel alan adınız ve SSL sertifikanızla çevrimiçi hale getirme hakkında bilmeniz gereken her şeyi kapsayacaktır.
Bu eğitim üç bölüme ayrılacaktır, bunlardan herhangi birine atlamaktan çekinmeyin:
Şimdi ilk kısma geçelim: Web uygulamamızı bulutta nasıl konuşlandırabiliriz? Daha önce web sitelerim için hem AWS Elastic Beanstalk hem de Heroku kullanıyordum, genel olarak benzer hizmetler sunuyorlar ancak AWS, Heroku web uygulaması barındırmada daha fazla uzmanlaştığı için açıkça daha güçlü bir platforma sahip.
Öncelikle ayrıntılı olarak açıklamayacağım bir AWS hesabına ihtiyacınız olacak. AWS hesabınızı aldıktan sonra, Elastic Beanstalk'ı aramanız yeterlidir ve buradan yolculuğumuza başlayabiliriz:
EB uygulamanızı buradan barındıracağı için yeni bir uygulama oluşturun:
Ayrıca bunun için yeni bir ortam yaratmanız gerekecek:
Web sunucusu ortamını seçin ve bir sonraki adıma geçin:
Web uygulamanızın türünü seçin (örneğin bir Node.js projesi dağıtıyorum):
AWS ortamı sizin için yapılandırırken artık buradan bırakabilirsiniz:
EB ortamınız arka planda kurulurken, Code Pipeline adlı başka bir hizmet bulalım.
Peki Kod Ardışık Düzeni nedir? AWS tarafından sunulan bir CI / CD aracıdır. Basit bir şekilde ifade etmek gerekirse, kodunuzda her değişiklik yaptığınızda, Code Pipeline bu değişiklikleri bulutta barındırılan uygulamanıza uygulayacaktır: tıpkı ardışık düzen gibi, değil mi?
EB'de bir uygulama oluşturmaya benzer şekilde, önce bir ardışık düzen oluşturmamız gerekecek:
Temel olarak kodlarınızın geldiği yere kod kaynağınızı ekleyin. GitHub kullandığım için sadece GitHub hesabıma bağlanmam ve depomu ona eklemem gerekecek:
Sonraki adımda, Derleme aşamasını atla'yı seçin ve istem mesajını yok sayın:
Şimdi boru hattının diğer ucuna geliyoruz: Kodumuzu nereye yönlendirmek istiyoruz? Yeni kurduğumuz Elastic Beanstalk!
EB ortamınızın şu anda kurulması gerektiğinden, seçeneklerden biri olarak görüntülenecektir:
Ardışık düzeninizi gözden geçirin ve oluşturun :
Ardışık düzen kontrol paneline yönlendirileceksiniz, AWS kodunuzu GitHub'dan EB ortamınıza getirmeye çalışırken biraz bekleyin:
Birkaç dakika bekledikten sonra her şey yolunda gidiyor. Geçişte herhangi bir hatayla karşılaşırsanız, büyük olasılıkla EB uygulamanızda bir sorun olabilir, geri dönün ve uygulamanın ve ortamın doğru şekilde oluşturulup oluşturulmadığını kontrol edin.
Şimdi EB kontrol panelinize geri dönerseniz, uygulamanın halihazırda çalışır durumda olduğunu göreceksiniz:
URL'yi tıklamayı deneyin, AWS size az önce verdiğiniz web uygulamasını sunacaktır:
Artık web uygulamamıza İnternet üzerinden zaten erişilebilir, url'yi nasıl daha çekici hale getirebiliriz? Evet, başkalarına "Hey dostum SampleWebsite-env.eba-qcpytjdg.us-east-1.elasticbeanstalk.com adresindeki yeni web siteme göz atın " demek yerine kendi alan adınızı isteyeceksiniz .
Piyasada GoDaddy, Freenom veya çılgın alan adı gibi bazı Avustralya alan adı sağlayıcıları gibi tonlarca alan adı sağlayıcısı var. Burada kullanacağımız şey, AWS tarafından sunulan bir DNS hizmeti olan Route 53'tür:
Öncelikle bir alan satın almanız gerekir. Favori alan adınızı arayın, eğer alınmışsa, aşağıda önerilen başka bir şeye geçmeyi deneyin:
Alan adınızı satın aldıktan sonra, insanların web sitenize erişmek için kullanabilmesi için biraz yapılandıralım.
Şimdi DNS yönetimine gidin ve yeni satın aldığınız alanı tıklayın:
Şimdi, burada kullanarak iki kayıt oluşturmamız gerekeceğinden EB uygulamanızın URL'sini kopyalayın:
Aşağıdaki gibi bir A kaydı oluşturun:
Şu şekilde başka bir CNAME kaydı oluşturun:
Artık web sitenize özel alan adınız üzerinden erişebilmelisiniz!
Tarayıcınızın sağ üst köşesinde, adres çubuğunun yanında bulunan kilit simgesine dikkat ederseniz, bağlantının güvenli olmadığını söylediğini fark edeceksiniz. O zaman ne anlama geliyor? Bizim durumumuzda, web sitesine HTTPS yerine HTTP kullanarak eriştiğiniz anlamına gelir.
HTTPS, HTTPS'nin güncellenmiş bir sürümüdür, bu, tarayıcınız ile web sunucusu (bu durumda AWS) arasındaki tüm iletişimin şifreli olduğu anlamına gelir.
Web sitenizde HTTPS'yi etkinleştirmek için yapmanız gereken üç şey vardır:
Bundan sonra yapacağımız şey, AWS ile SSL sertifikası başvurusu yapmaktır, elbette bunu diğer kuruluşlarla da yapabilirsiniz, ancak biz sadece burada AWS ile devam edeceğiz. Öncelikle, AWS'de Sertifika Yöneticisi aramanız gerekecek :
Sertifika iste'yi seçin
Genel sertifika talep et'i seçin
Sertifika almak istediğiniz alan adlarını ekleyin:
DNS doğrulamasını seçin :
Aşağıdaki adımı şimdilik atlayın:
Talebi inceleyin
Artık DNS doğrulamasını seçtiğimizden, bu iki kaydı DNS ayarımıza ekleyeceğiz. DNS'imizi yönetmek için zaten Route 53'ü kullandığımız için, Route 53'te Create record'u tıklayabiliriz ve AWS bu kayıtları otomatik olarak ekleyecektir.
DNS kaydının yayılmasını bekleyin, yarım saat sürebilir ve ardından web sitenize "https://www.samplewebsite.com" üzerinden erişebilirsiniz.
Şimdi, web sitemize HTTPS aracılığıyla erişebiliyor olsak da, adres çubuğumuza www.samplewebsite.com girersek , yine de bir HTTP bağlantısı ile geldiğini fark edeceksiniz . Bu sorunu çözmek için, yük dengeleyiciyi HTTP isteğimizi HTTPS sitemize yönlendirebilecek şekilde yapılandırmamız gerekiyor.
Önce, EB uygulamanıza geri dönün ve konfigürasyon sekmesini açın
Aşağı kaydırarak Yük Dengeleyici seçeneğine gidin, burası biraz ayarlama yapmak istediğiniz yer:
Varsayılan olarak, HTTP olan yalnızca bir dinleyiciniz olacaktır. Burada yapmamız gereken, ona aşağıdaki gibi bir HTTPS dinleyicisi eklemektir:
Şimdi, AWS hizmetlerinde EC2'yi arayın ve Yük Dengeleyici seçeneğini bulun:
EB uygulamanız için Yük Dengeleyiciyi bulun ve aşağıda, Dinleyiciler sekmesinde iki dinleyici görüyor olmalısınız :
HTTP dinleyicisi altındaki kuralları düzenleyin ve varsayılan işlemi https://www.samplewebsite.com'a Yönlendir olarak ayarlayın.
Şimdi tarayıcınıza www.samplewebsite.com girseniz bile https: // www .samplewebsite.com'a yönlendirileceksiniz.
AWS re:Invent 2022 (28 Kasım - 2 Aralık), en çok gerçekleşen bulut bilişim teknolojisi etkinliği olma geleneğini sürdürdü. Liderlik, ortaklık, teknoloji güncellemeleri, vaka çalışmaları ve çok daha fazlasını kapsayan pek çok oturum olsa da bu makale, yazılım mimarları için etkinlikten önemli çıkarımları paylaşmaya odaklandı.
Kasım 2020'nin başlarında SalesForce, açıklanamayacak şekilde JARM adlı yeni bir aktif TLS parmak izi alma aracını duyurdu. JARM'ın temeli, bir hedef sunucu özel olarak hazırlanmış çeşitli farklı TCP "İstemci merhaba" paketleri kullanılarak tarandığında, elde edilen yanıtların birleştirilip, paylaşılan veya benzer bir uygulama veya sunucunun göstergesi olan bir parmak izi sağlamak için karma hale getirilebilmesidir. yığını.
Harika geliştiriciler yapan teknik olmayan şeyler Bir süredir bu makaleyi yazmayı erteliyorum - yazmak için hiç nitelikli hissetmedim. Bugün onu yazma zamanının geldiğini düşündüm.
Teknoloji endüstrisindeki bir pozisyon için mülakat yaparken, herhangi bir teklif değerlendirilmeden önce genellikle en az üç tur mülakattan geçeceksiniz. Mermiler genellikle şuna benzer: Eğer öyle düşünüyorsan, yanılıyorsun.
Pragmatik Programcı ilk olarak 1999'da yayınlandı ve o zamandan beri tüm zamanların en iyi programlama kitabı seçildi. Yazarlar Andy Hunt ve David Thomas, Agile Manifesto'nun orijinal yazarları arasındaydı ve bazı ciddi referanslara sahipler.