GCP - App Engine Enum
Temel Bilgiler
Google Cloud Platform'un (GCP) App Engine'i, büyük ölçekte web uygulamalarının geliştirilmesi ve barındırılması için tasarlanmış güçlü, sunucusuz bir platformdur. Bu platformun tasarımı, geliştirme sürecini basitleştirmeye ve uygulamaların yönetilebilirliğini artırmaya odaklanmaktadır. GCP'nin App Engine'inin temel özellikleri ve faydaları şunlardır:
Sunucusuz Mimarisi: App Engine, sunucu sağlama, yapılandırma ve ölçeklendirme dahil olmak üzere altyapıyı otomatik olarak yönetir. Bu, geliştiricilerin altta yatan donanımla ilgilenmeden kod yazmaya odaklanmasını sağlar.
Otomatik Ölçeklendirme: App Engine, uygulamanızın aldığı trafiğe yanıt olarak otomatik olarak ölçeklendirilebilir. Trafik arttığında ölçeklendirilir ve trafik azaldığında ölçek küçültülerek maliyeti ve performansı optimize etmeye yardımcı olur.
Dil ve Çalışma Zamanı Desteği: Java, Python, Node.js, Go, Ruby, PHP ve .NET gibi popüler programlama dillerini destekler. Uygulamalarınızı standart veya esnek bir ortamda çalıştırabilirsiniz. Standart ortam, daha kısıtlayıcıdır, ancak belirli diller için yüksek optimize edilmiştir, esnek ortam ise daha fazla özelleştirme imkanı sunar.
Entegre Hizmetler: App Engine, Cloud SQL, Cloud Storage, Cloud Datastore ve daha birçok GCP hizmetiyle entegre çalışır. Bu entegrasyon, bulut tabanlı uygulamaların mimarisini basitleştirir.
Sürümleme ve Trafik Bölümlendirme: Uygulamanızın birden fazla sürümünü kolayca dağıtabilir ve ardından A/B testi veya aşamalı dağıtımlar için bunlar arasında trafik bölümlendirebilirsiniz.
Uygulama İzleme: App Engine, günlükleme, kullanıcı kimlik doğrulama ve uygulamaları izlemek ve yönetmek için bir dizi geliştirici aracı gibi yerleşik hizmetler sağlar.
Güvenlik: Uygulama sürümleme, güvenli bağlantılar için SSL/TLS sertifikaları ve kimlik ve erişim yönetimi gibi yerleşik güvenlik özellikleri sunar.
Güvenlik Duvarı
Uygulamaları çalıştıran örnekler için basit bir güvenlik duvarı aşağıdaki seçeneklerle yapılandırılabilir:
SA
Bu Uygulamalar tarafından kullanılan varsayılan hizmet hesabı <proj-name>@appspot.gserviceaccount.com
'dur ve projeye ve APP Engine örneğindeki SA'lara Editor rolüne sahiptir.
Depolama
Kaynak kodu ve meta verileri, <proj-id>.appspot.com
ve staging.<proj-id>.appspot.com
ve <country>.<proj-id>.appspot.com
gibi adlara sahip kovalarda otomatik olarak depolanır.
Uygulamanın her dosyası, içeriğin sha1'i ile dosya adı olarak depolanır:
staging.<proj-id>.appspot.com
klasöründeki ae
klasörü içinde, her sürüm için bir klasör bulunur ve bu klasörde uygulamanın kaynak kodu dosyaları ve manifest.json
dosyası bulunur, bu dosya uygulamanın bileşenlerini tanımlar:
Konteynerler
Web uygulaması sonunda bir konteyner içinde çalıştırılacak ve konteyneri oluşturmak için Code Build kullanılır.
URL'ler ve Bölgeler
Varsayılan web sayfası URL <proje-benzersiz-adı>.appspot.com
şeklinde açığa çıkarılacak, ancak daha eski sürümlerin URL'si biraz farklı olabilir, örneğin https://20240117t001540-dot-<proje-benzersiz-adı>.uc.r.appspot.com
(başlangıç zaman damgasına dikkat edin).
Tek bir bölgeye yalnızca 1 uygulama motoru web uygulaması dağıtmanın mümkün olduğu gibi görünebilir, ancak app.yml
içinde service: <servisadı>
belirtebilir ve yeni bir servis (yeni bir web) oluşturabilirsiniz. Bu yeni web için URL formatı <servisadı>-dot-<proje-benzersiz-adı>.appspot.com
olacaktır.
Numaralandırma
Her yeni kodu App'e yüklediğinizde, yeni bir sürüm oluşturulur. Tüm sürümler saklanır ve hatta bunlara erişmek için bir URL'leri vardır. Bu nedenle, eski bir sürümün kodunu değiştirmek büyük bir kalıcılık tekniği olabilir.
Cloud Functions ile olduğu gibi, uygulamanın çalışma zamanında erişilen gizli bilgilere dayanabileceği bir olasılık vardır. Bu değişkenler, aşağıdaki gibi erişilebilen bir app.yaml
dosyasında saklanır:
Yetki Yükseltme
GCP - AppEngine PrivescKimlik Doğrulaması Yapılmamış Enum
GCP - App Engine Unauthenticated EnumSaldırı Sonrası
GCP - App Engine Post ExploitationKalıcılık
GCP - App Engine PersistenceLast updated