Görüntü ve betikleri S3 üzerinden nginx / varnish / etc çalıştıran bir EC2 örneğinden daha çok barındırmak gerçekten daha ucuz. ?
Bana göre (ama ben sadece AWS ile başlıyorum) sprite veya diğer optimizasyonları kullanmıyorsanız ... ya da bir şey eksik miyim, istek maliyetlerinin ana faktör olacak?
Burada elma ve portakalları karşılaştırmaya çalışıyorsun. Amazon'un EC2 (Elastic Compute Cloud) ve S3 (Basit Depolama Servisi) hizmetleri tamamen farklı iki amaca hizmet ediyor. S3 yedekli depolama içindir ve kendi başına bir "sunucu" değildir. Evet, S3'ü Cloudfront ile birlikte S3'ü kullanarak bir CDN biçimi olarak kullanabileceğiniz başka bir web sunucunuz varsa, ancak birincil amaç depolamadır. Öte yandan EC2, nginx, vernik, apache, vb. Gibi daemonları çalıştırabilecek bir VPS (sanal özel sunucu). S3 bunu sizin için yapamaz.
Bir EC2 için kendi AMI'nizi (Amazon Machine Image) oluşturursanız, bunları S3'te saklarsınız ve bununla ilişkili depolama ücretlerini ödersiniz. Bir EC2 örneği, hiçbir şekilde S3 kullanılmadan çalıştırılabilir. Ancak, belirtilen EC2 örnekleri, örnek artık çalışmadığında, verileri kapatma işleminden sonra saklamamaktadır. Başlangıçlar ve kapanışlar arasında verilerin saklanması için ya S3 üzerinde saklamanız ya da verileri sizin için devam ettirebilecek bir EBS (Elastik Blok Deposu) kullanmanız gerekir.
Belirli bir bölge içinde gelen, giden ve belirli bir bölge dahilinde bant genişliği, depolama kapasitesi, I / O talepleri, vb. Gibi farklı fiyatlandırma seviyeleri vardır. Bu karmaşıklaşır ve bunu anlamanıza yardımcı olacak birçok hesap makinesi vardır. Gelecek kullanım maliyetlerini tahmin etmenize yardımcı olması için kullanım geçmişimi CSV yüklemeleri içe aktardığım formüllerle kendi e-tablosumu yazdım. Şu anda 9 aydan fazla bir süredir EC2 içindeki bir müşteri için birkaç sunucu örneğini yönetiyorum. Hesaplama için en kolay maliyet, örnek başına basit bir saatlik ücret olduğu için, örnek çalışma zamanıdır. Bu EBS hacmi ve S3 depolama kapasitelerinin hesaplanması kolay olsa da, I / O talepleri ve bant genişliği zaman zaman şaşırtıcı olabilir.
S3 depolama maliyetlerim genellikle oldukça önemsiz (genellikle 2 $ / ay) ve birkaç AMI'yi ve uygulama sunucularının, örneklerin ilk başlatılmasıyla birlikte eriştiği bazı belgeleri saklıyorum. Örneklerim, Amazon'un dışında bir VPS'de tutulan ve izleme ve atlama sunucusu sunucum olarak da görev yapan bir Kukla sunucusunu kullanıyor. Ortalama olarak yaklaşık 7 örnek çalışıyorum, I / O taleplerimin 5-8 milyon arasında olduğunu ve ortalamada 1 TL / ay olduğunu buldum. Son 6 ay boyunca, EBS miktarlarında yaklaşık 10GB'lık bir ortalama aldım ve bu da sadece 1 $ / ay'ın biraz üzerinde bir maliyete neden oldu. MySQL veritabanı dosyalarım ve ikili günlüklerim ile birlikte statik içerikler için EBS birimleri kullanıyorum. Veri aktarımı gelen, 20-24 GB arasında ve ortalama 2,25 ABD Doları / ay arasında değişirken, dışa aktarma 241 - 326 GB arasında ve ortalama olarak 42 ABD doları / ay arasında değişiyordu. Örnekler arasındaki bölgesel bant genişliğim 130 MB ile 535 GB arasında değişiyordu, çünkü tüm örneklerim aynı kullanılabilirlik bölgelerinde değil ve ortalama 2.45 $ / ay. Tüm söylediklerim, hesaplamak için en kolay olan saatlik oranın belirttiği gibi, EC2 örneklerinin kendileri için 1700 $ / ay yukarı çıktık. Şu anda isteğe bağlı örneklere karşı isteklere göre hareket etmeyi düşünüyoruz ve bunu, ayrılmış örneği almanın ön ödeme maliyetinden ($ 6-9K) sonra yaklaşık 600 ABD Doları / ay'a düşürmemiz gerekiyor.
S3 ile transfer ve depolama için ödeme yapıyorsunuz. EC2 ile, örneklerin çalıştığı zaman için de ödeme yapıyorsunuz. Her iki durumda da, transfer ve depolama için ödeme yapıyorsunuz, bu yüzden dosya barındırma için S3'ü kullanmak için her durumda daha ucuz olmalı. EC2, her zaman daha pahalı olmalı çünkü örnek depolama ve aktarmaya ek olarak çalıştığı zaman için ödeme yapıyorsunuz. Amazon'un bir fiyatlandırma hesaplayıcısı Kendi kullanım durumunuza ve gerekli tahmini transfer ve depolamaya göre numaralarla oynamak için kullanabilirsiniz.
S3'teki statik dosyalara barındırma, bu içeriğin barındırılması için herhangi bir özel sunucu için ödeme yapmaktan daha ucuzdur. Ayrıca, http server config opimization, disk alanı yönetimi ve genel sunucu sorunları gibi bazı baş ağrılarından da kurtuluyor.
Ayrıca, site ziyaretçileriniz için indirme performansını daha da artırmak istiyorsanız Amazon'un CDN'sinden (CloudFront) yararlanmanız için kolay bir seçenek de sunar.
Web sunucusuna hte s3 verilerini çekecek trafik miktarını hesaba katmanız gerekir. ec2 saatine göre ödeme yaparsınız, ancak depolama ve bant genişliği için ödediğiniz sGB 160GB'lık bir depolama alanı elde edersiniz.
Genel olarak, bir web sunucusu için ec2 örneğinin ya daha ucuz ya da s3'e eşit olacağını söyleyebilirim. Ancak, doğrulamak için fiyatlandırma hesaplayıcısına bir göz atın.
S3 temel olarak dağıtılmış bir ağ dosya sistemi sağladığından, bunu oluşturmak için EC2 düğümlerini kullanmayı deneyin.
MongoDB / GridFS zorlayıcı bir karşılaştırma olacaktır.
S3, zaman zaman okuma / yazma zaman aşımlarına sahiptir ve zaman zaman kendi önbellek katmanınızı oluşturmak da yardımcı olabilir.