Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı başka bir bölgeye yeniden taşıma

Bu makalede, çoğaltma ve coğrafi geri yükleme için bölge çiftlerinin kullanılamadığı coğrafyalarda PostgreSQL için Azure Veritabanı, Tek Sunucu ve Esnek Sunucular için yeniden konumlandırma yönergeleri yer alır.

Mevcut Azure kaynaklarınızı bir bölgeden diğerine taşımak istemenizin çeşitli nedenleri vardır. Şunu yapmak isteyebilirsiniz:

  • Yeni bir Azure bölgesinden yararlanın.
  • Yalnızca belirli bölgelerde kullanılabilen özellikleri veya hizmetleri dağıtın.
  • İç ilke ve idare gereksinimlerini karşılayın.
  • Şirket birleşmeleri ve alımlarıyla uyumlu hale getirme
  • Kapasite planlama gereksinimlerini karşılayın.

PostgreSQL için Azure Cosmos DB'yi (eski adıyla PostgreSQL için Azure Veritabanı - Hiper Ölçek (Citus)) yeniden dağıtmayı öğrenmek için bkz. PostgreSQL için Azure Cosmos DB'de çoğaltmaları okuma.

Yerel çoğaltma tarafından desteklenen bölge çiftlerine genel bakış için bkz . bölgeler arası çoğaltma.

Önkoşullar

Önkoşullar yalnızca verilerle yeniden dağıtım için geçerlidir. Veritabanınızı veri olmadan taşımak için Hazırlama bölümüne atlayabilirsiniz.

  • PostgreSQL'i verilerle bir bölgeden diğerine yeniden dağıtmak için yedekleme ve geri yükleme araçlarını çalıştırmak için ek bir işlem kaynağınız olmalıdır. Bu kılavuzdaki örneklerde Ubuntu 20.04 LTS çalıştıran bir Azure VM kullanılır. İşlem kaynaklarının:
    • Özel bir ağda veya güvenlik duvarı kurallarına dahil ederek hem kaynak hem de hedef sunucuya ağ erişimine sahip olun.
    • Kaynak veya hedef bölgede bulunmalıdır.
    • Hızlandırılmış Ağ (varsa) kullanın.
    • Veritabanı içeriği herhangi bir ara depolama alanına kaydedilmez; mantıksal yedekleme aracının çıkışı doğrudan hedef sunucuya gönderilir.
  • PostgreSQL için Azure Veritabanı örnek tasarımınıza bağlı olarak, yeniden konumlandırmadan önce aşağıdaki bağımlı kaynakların hedef bölgede dağıtılması ve yapılandırılması gerekebilir:

Kesinti süresi

Olası kapalı kalma sürelerini anlamak için bkz. Azure için Bulut Benimseme Çerçevesi: Yeniden konumlandırma yöntemi seçme.

Hazırlama

Başlamak için bir Resource Manager şablonunu dışarı aktarın. Bu şablon, Otomasyon ad alanınızı açıklayan ayarlar içerir.

  1. Azure Portal’ında oturum açın.

  2. Tüm kaynaklar'ı ve ardından Otomasyon kaynağınızı seçin.

  3. Şablonu dışarı aktar'ı seçin.

  4. Şablonu dışarı aktar sayfasında İndir'i seçin.

  5. Portaldan indirdiğiniz .zip dosyasını bulun ve bu dosyanın sıkıştırmasını istediğiniz bir klasöre açın.

    Bu zip dosyası, şablonun dağıtılacağı şablonu ve betikleri içeren .json dosyalarını içerir.

Veri olmadan yeniden dağıtma

  1. Dışarı aktarılan şablon parametrelerini hedef bölgeyle eşleşecek şekilde ayarlayın.

Önemli

Hedef sunucu, kaynak sunucunun adından farklı olmalıdır. İstemcileri yeni sunucuya işaret etmek için yeniden yapılandırmanız gerekir.

  1. Şablonu yeni bölgeye yeniden dağıtın. PostgreSQL için Azure Veritabanı oluşturmak için ARM şablonunu kullanma örneği için bkz. Hızlı Başlangıç: PostgreSQL için Azure Veritabanı - Esnek Sunucu oluşturmak için ARM şablonu kullanma.

Verilerle yeniden dağıtma

PostgreSQL için Azure Veritabanı için veri geçişiyle yeniden dağıtım, mantıksal yedekleme ve geri yüklemeyi temel alır ve yerel araçlar gerektirir. Sonuç olarak, geri yükleme sırasında fark edilebilir kapalı kalma süresi bekleyebilirsiniz.

İpucu

Azure portalını kullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucuyu yeniden yerleştirebilirsiniz. Tek Sunucu için çoğaltma gerçekleştirmeyi öğrenmek için bkz. Azure portalını kullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucuyu başka bir bölgeye taşıma.

  1. Dışarı aktarılan şablon parametrelerini hedef bölgeyle eşleşecek şekilde ayarlayın.

Önemli

Hedef sunucu adı kaynak sunucu adından farklı olmalıdır. İstemcileri yeni sunucuya işaret etmek için yeniden yapılandırmanız gerekir.

  1. Şablonu yeni bölgeye yeniden dağıtın. PostgreSQL için Azure Veritabanı oluşturmak için ARM şablonunu kullanma örneği için bkz. Hızlı Başlangıç: PostgreSQL için Azure Veritabanı - Esnek Sunucu oluşturmak için ARM şablonu kullanma.

  2. Geçiş için sağlanan işlem kaynağında, geçirilecek PostgreSQL sürümü için PostgreSQL istemci araçlarını yükleyin. Aşağıdaki örnek, Ubuntu 20.04 LTS çalıştıran bir Azure VM'de PostgreSQL sürüm 13'ü kullanır:

      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      sudo apt-get update
      sudo apt-get install -y postgresql-client-13
    

    Ubuntu'da PostgreSQL bileşenlerinin yüklenmesi hakkında daha fazla bilgi için bkz. Linux indirmeleri (Ubuntu).

    Diğer platformlar için PostgreSQL İndirmeleri'ne gidin.

  3. (İsteğe bağlı) Kaynak sunucuda ek roller oluşturduysanız, bunları hedef sunucuda oluşturun. Mevcut rollerin listesini almak için aşağıdaki sorguyu kullanın:

    select *
    from pg_catalog.pg_roles
    where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication')
    order by rolename;
    
  4. Her veritabanını geçirmek için aşağıdaki adımları uygulayın:

    1. Kaynak sunucudaki tüm veritabanı etkinliğini durdurun.
    2. Kimlik bilgileri bilgilerini, kaynak sunucuyu, hedef sunucuyu ve veritabanı adını aşağıdaki betikte değiştirin:
        export USER=admin_username
        export PGPASSWORD=admin_password
        export SOURCE=pgsql-arpp-source.postgres.database.azure.com
        export TARGET=pgsql-arpp-target.postgres.database.azure.com
        export DATABASE=database_name
        pg_dump -h $SOURCE -U $USER --create --exclude-schema=pg_catalog $DATABASE | psql -h $TARGET -U $USER postgres
    
    1. Veritabanını geçirmek için betiği çalıştırın.

    2. İstemcileri hedef sunucuya işaret eden şekilde yapılandırın.

    3. Uygulamalarda işlevsel testler gerçekleştirin.

      1. ignoreMissingVnetServiceEndpoint Hizmet uç noktası hedef bölgede yapılandırılmadığında IaC'nin veritabanını dağıtamaması için bayrağının olarak ayarlandığından Falseemin olun.