AWS Türkçe Blog

Amazon Redshift’teki yeni duraklatma ve devam ettirme işlemleriyle maliyetlerinizi azaltın

Orijinal makale: Link (Sain Das, AWS’te Data Warehouse Specialist Solutions Architect)

Günümüzün analitik iş yükleri genellikle haftada 7 gün, günde 24 saat kullanılabilir bir veri ambarı gerektirir. Ancak sık (veya seyrek) aralıklarla kısa bir süre için bir Amazon Redshift kümesine ihtiyaç duyduğunuz zamanlar olabilir. Örneğin, periyodik bir ETL işi çalıştırabilir veya test ve geliştirme için bir küme kullanabilir ve mesai saatleri dışında veya hafta sonları da kullanmayabilirsiniz. Bu durumlarda veri ambarını yalnızca zamanın bir bölümünde çalışır durumda tutmanın kolay bir yolunu isteyebilirsiniz. Önceden bunu bir yedekleme yaparak, kümeyi sonlandırarak ve kümeyi anlık görüntüden geri yükleyerek gerçekleştirebiliyordunuz. Amazon Redshift’teki duraklatma ve devam ettirme eylemleri faturalandırmayı askıya almanın çok daha basit bir yoludur ve Amazon Redshift kümeniz bir seferde saatlerce çalışmıyorsa ve özellikle bu süre düzenli olarak planlanmışsa kullanılmak üzere tasarlanmıştır.

Bir kümeyi duraklatmak işlemi askıya alır ve temel alınan veri yapılarını ve verileri korur, böylece kümeyi daha sonra devam ettirebilirsiniz. Bunu Amazon Redshift konsolu veya Amazon Redshift CLI’larını kullanarak yapılandırabilirsiniz.

Küme duraklatıldığında veri ambarının depolaması ücrete tabidir. İsteğe bağlı işlem faturalandırması askıya alınır ve saniye bazında devam ettirilir. Duraklatılmış kümeler konsolda bir giriş olarak görünmeye devam eder. Ayrıca operasyonel ihtiyaçlarınıza uygun bir program kullanarak duraklatma ve devam ettirme işlemlerini otomatikleştirebilirsiniz.

Eylemleri Amazon Redshift konsolu aracılığıyla kullanma

Amazon Redshift konsolunda duraklatma ve devam ettirme eylemlerini kullanmak için aşağıdaki adımları tamamlayın:

  1. Amazon Redshift konsolunda Clusters’ı (Kümeler) seçin.
  2. İstediğiniz kümeyi seçin.
  3. Actions’ı seçin.
  4. Pause’u seçin.
  5. Kümeyi ne zaman duraklatacağınızı belirlemek için aşağıdaki üç seçenek arasından seçim yapın:
    • Kümeyi hemen duraklatmak için, Pause now (Şimdi duraklat) seçin.
    • Kümeyi daha sonraki bir noktada duraklatmak için Pause later (Daha sonra duraklat) seçin.
    • Kümeyi belirli bir zamanlamaya göre duraklatmak ve devam ettirmek için Pause and resume on schedule (Zamanlama ile duraklat ve devam ettir) seçin.
  6. Bu çözüm için Pause now seçin.
  7. Sağ alttaki Pause now butonuna basın.

Küme şimdi Modifying (Değiştiriliyor) durumundadır. Kümenin Paused (Duraklatıldı) durumuna geçmesi birkaç dakika kadar sürebilir, ancak işlem kaynakları için maliyet tahakkuku hemen askıya alınır.

Aşağıdaki ekran görüntüsü küme durumunun bir görünümünü gösterir.

Amazon Redshift kümeyi duraklatmadan önce bekleyen tüm sorguları işler. Küme duraklatıldığında kümeyi Amazon Redshift konsolunda görüntülemeye devam edebilirsiniz ve Resume (Devam ettir) eylemi kullanılabilir.

Kümeyi devam ettirmek için aşağıdaki adımları tamamlayın:

  1. Amazon Redshift konsolunda Clusters’ı seçin.
  2. İstediğiniz kümeyi seçin.
  3. Actions’ı seçin.
  4. Resume’u seçin.
  5. Kümenin ne zaman devam ettirileceğini seçin. Seçenekler duraklatma eylemi için olanlarla aynıdır.
  6. Bu çözüm için Resume now seçin.
  7. Sağ alttaki Resume now butonuna basın.

Küme Modifying durumuna geçer. Kümenin boyutuna bağlı olarak sorguların işlenebilmesi için kümenin devam ettirilmesi birkaç dakika sürebilir. Faturalandırma yalnızca küme kullanılabilir olduğunda devam eder.

Aşağıdaki ekran görüntüsü küme durumunun görünümünü gösterir.

Eylemleri CLI aracılığıyla kullanma

Aşağıdaki iki komut kümeyi duraklatır ve devam ettirir:

  • Pause-cluster
  • Resume-cluster

Belirli bir kümeyi duraklatmak için aşağıdaki kodu girin:

aws redshift pause-cluster --cluster identifier <insert cluster identifier here>

Duraklatılmış bir kümeyi devam ettirmek için aşağıdaki kodu girin:

aws redshift resume-cluster --cluster identifier <insert cluster identifier here>

Duraklatma ve devam ettirme eylemlerini zamanlama

Günün ve haftanın belirli saatlerinde bir kümeyi duraklatmak ve devam ettirmek için zamanlayabilirsiniz. Örneğin bu çözüm, bir kümeyi Cuma 20:00’de duraklatır ve Pazartesi 07:00’de devam ettirir. Bunu Amazon Redshift konsolu veya API’leri aracılığıyla yapılandırabilirsiniz.

Amazon Redshift konsolu aracılığıyla zamanlama

Amazon Redshift konsolunda bir kümeyi duraklatmak ve devam ettirmek üzere zamanlamak için aşağıdaki adımları tamamlayın:

  1. Amazon Redshift konsolunda Clusters’ı seçin.
  2. İstediğiniz kümeyi seçin.
  3. Actions’ı seçin.
  4. Pause‘u seçin.
  5. Pause and resume on schedule seçin.
  6. Schedule name kısmında bu zamanlayıcı için bir isim girin.
  7. İsteğe bağlı olarak, Starts on (Başlangıç tarih) ve Ends on (Bitiş tarih) kısmına zamanlamayı başlatmak ve bitirmek için
  8. tarihleri ve saatleri girin.
  9. Pause every ve Resume every kısımlarında duraklatmak ve devam ettirmek için saati ve günü seçin.
  10. Schedule recurring pause and resume (Yinelenen duraklatma ve devam ettirmeyi zamanla) butonuna basın.

Schedules sekmesinde mevcut duraklatma ve devam ettirme zamanlamalarını gözden geçirebilirsiniz. Aşağıdaki ekran görüntüsüne bakın.

CLI aracılığıyla zamanlama

Aşağıdaki CLI komutları, zamanlanmış duraklatma ve devam ettirme görevlerini oluşturmanıza, değiştirmenize ve silmenize olanak tanır.

Bir kez gerçekleşecek planlanmış bir eylem oluşturmak için aşağıdaki kodu girin:

aws redshift create-scheduled-action --scheduled-action-name test-resume --schedule "at(2020-02-21T02:00:00)" --target-action "{\"ResumeCluster\":{\"ClusterIdentifier\":\"redshift-cluster-1\"}}" --iam-role arn:aws:iam::<Account ID>:role/<Redshift Role>
Code

Yinelenen bir planlanmış eylem oluşturmak için aşağıdaki kodu girin:

aws redshift create-scheduled-action --scheduled-action-name "scheduled-pause-repetitive" --target-action "{\"PauseCluster\":{\"ClusterIdentifier\":\"redshift-cluster-1\"}}" --schedule "cron(30 20 * * ? *)" --iam-role "arn:aws:iam::<Account ID>:role/<Redshift Role>"
Code

Yukarıdaki kod örneği bir kümeyi her gün 20:30’da duraklatır.

Mevcut bir planlanmış eylemi değiştirmek için aşağıdaki kodu girin:

aws redshift modify-scheduled-action --scheduled-action-name "scheduled-pause-repetitive" --schedule "cron(30 * * * ? *)"
Code

Yukarıdaki kod örneği zamanlanmış-duraklat-yineleyen zamanlamayı her saat başından 30 dakika sonra çalışacak şekilde değiştirir.

Planlanmış bir eylemi silmek için aşağıdaki kodu girin:

aws redshift delete-scheduled-action --scheduled-action-name "scheduled-pause-repetitive"
Code

Özet

Amazon Redshift’teki duraklatma ve devam ettirme eylemleri her zaman çalışmayabilecek kümeleri kolayca duraklatmanıza ve devam ettirmenize olanak tanır. Duraklatmayı başlatmak ve belirli zamanlarda eylemleri devam ettirmek için düzenli olarak programlanmış bir zaman oluşturmanıza olanak tanır veya manuel olarak bir duraklama ve daha sonra devam ettirme başlatabilirsiniz. Esnek isteğe bağlı fiyatlandırma ve saniye başına faturalandırma Redshift bilgi işlem kümelerinizin maliyetleri üzerinde daha fazla kontrol sağlarken, verilerinizi yönetimi kolay bir şekilde korur. Önceden sabit miktarda kaynak satın almak zorunda kalmadan veri ambarınızı mümkün olan en düşük maliyetle çalıştırabilirsiniz.