Skip To Content

스탠바이 배포로의 복제 자동화

프라이머리 및 스탠바이 ArcGIS Enterprise 배포를 생성한 후에는 webgisdr 유틸리티, 전체 및 증분 백업을 위한 별도의 등록정보 파일, cron 작업으로 예약한 작업을 사용하여 프라이머리에서 스탠바이로의 복제를 자동화할 수 있습니다.

프라이머리 배포와 스탠바이 배포가 더욱 완벽하게 동기화되도록 하려면 webgisdr 유틸리티를 사용하여 정기적으로 전체 백업을 생성하고 전체 백업 간의 증분 변경 사항을 내보내야 합니다. 예를 들어 ArcGIS Enterprise 배포 내의 서비스와 데이터에 대한 주간 변화량이 큰 경우 자정에 전체 백업을 생성하고 오전 10시, 오후 2시, 오후 6시에 증분 변경 사항을 내보내 근무일 전반에서 발생한 변경 사항을 적용할 수 있습니다.

이를 자동화하려면 템플릿 등록정보 파일(webgisdr.properties) 복사본 4개와 스크립트 4개를 생성하여 다음과 같은 작업을 완료합니다.

  • 프라이머리 배포에서 전체 백업을 내보낸 다음 스탠바이 배포에 파일을 복사합니다.
  • 프라이머리 배포에서 증분 백업을 내보낸 다음 스탠바이 배포에 복사합니다.
  • 전체 백업을 스탠바이 배포에 가져옵니다.
  • 증분 백업을 스탠바이 배포에 가져옵니다.

각 스크립트가 특정 시간에 실행되도록 cron 작업을 설정합니다.

스크립트 실행 주기를 정할 때는 데이터 내보내기와 복사가 완료되는 데 걸리는 시간을 고려해야 합니다. 처음에는 전체 백업을 생성한 다음 네트워크를 통해 스탠바이 배포에 복사하는 데 걸리는 시간과 증분 백업을 생성한 다음, 네트워크를 통해 스탠바이 배포에 복사하는 데 걸리는 시간을 알아보기 위해 이 작업을 수동으로 미리 연습해야 합니다. 네트워크 및 하드웨어 성능의 변동을 고려하여 30~60분의 버퍼를 포함합니다.

예를 들어 증분 백업을 생성하는 데 20분이 걸리고 스탠바이에 복사하는 데 5분이 걸린다면 증분 백업 스크립트가 실행된 지 1시간 후에 증분 백업 가져오기가 실행되도록 예약합니다. 즉, 증분 백업을 생성하는 스크립트가 오전 10시에 실행된다면 가져오기는 오전 11시에 실행되도록 예약합니다.

  1. webgisdr.properties 파일의 복사본을 생성하고 그 이름을 expfullbackups.properties(으)로 지정합니다. 이 파일을 webgisdr.properties 파일과 같은 위치에 저장합니다.

    기본 위치는 /arcgis/portal/tools/webgisdr입니다.

  2. 텍스트 편집기에서 expfullbackups.properties 파일을 열고 배포 관련 정보가 포함되도록 편집합니다.

    • SHARED_LOCATION = <백업 파일의 위치>

      ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store에 대한 백업 파일의 임시 복사본이 생성될 공유 위치를 지정합니다. ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store가 설치된 계정과 webgisdr 유틸리티 실행 계정에는 이 위치에 대한 읽기 권한과 쓰기 권한이 있어야 합니다. 이 위치는 각 컴포넌트의 백업 파일이 포함될 여유 공간이 있어야 합니다. 백업 파일이 압축되었더라도 사용하는 데이터의 크기와 유형에 따라 파일 크기가 클 수 있습니다. 호스팅 씬 레이어 및 캐시를 사용하며 INCLUDE_SCENE_TILE_CACHEStrue로 설정되었다면 ArcGIS Data Store 백업 파일의 크기가 특히 클 수 있습니다.

      경로의 백슬래시가 이스케이프되어 있어야 합니다. 예를 들어 C:\backupsC:\\backups로 입력하고 \fileserver\backups\\\\fileserver\\backups로 입력합니다.
    • BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}

      webgissite 백업 파일을 파일 시스템이나 클라우드 저장소에 저장할지 여부를 정의합니다.

      ArcGIS Enterprise 백업을 온프레미스의 파일 공유 위치에 저장하기 위해 FileSystem을 지정하면 webgisdr 유틸리티는 BACKUP_LOCATION에 대해 지정한 파일 공유에 백업 파일을 저장합니다.

      ArcGIS Enterprise 백업을 Amazon Simple Storage Service (S3) 또는 S3 호환 버킷 저장소 위치에 저장하려면 webgisdr 유틸리티에서 생성된 백업 파일을 저장하기 위한 버킷을 생성한 다음 S3 등록정보를 버킷 접근에 필요한 정보로 업데이트합니다.

      ArcGIS Enterprise 백업을 Microsoft Azure Blob 저장소에 저장하려는 경우에는 webgisdr 유틸리티에서 생성된 백업 파일을 저장하기 위한 Azure Blob 저장소 컨테이너를 생성한 다음 Azure 등록정보를 컨테이너 접근에 필요한 정보로 업데이트합니다.

      비고:

      ArcGIS Enterprise 배포가 온프레미스지만 백업이 클라우드에 저장된 경우에는 온프레미스 파일 공유에 백업이 저장된 경우보다 백업을 생성하고 복원하는 데 더 오랜 시간이 소요됩니다.

    • BACKUP_LOCATION = <온-프레미스 백업 파일의 위치>

      webgissite 백업 파일의 위치를 지정합니다.

      경로의 백슬래시가 이스케이프되어 있어야 합니다. 예를 들어 C:\backupsC:\\backups로 입력하고 \\fileserver\backups\\\\fileserver\\backups로 입력합니다.

      백업 파일이 처음에는 SHARED_LOCATION에 저장되지만 BACKUP_LOCATION에 복사됩니다. 이 위치는 백업 파일이 포함될 만큼 공간이 충분해야 합니다. 백업 파일이 압축되었더라도 사용하는 데이터의 크기와 유형에 따라 파일 크기가 클 수 있습니다. webgisdr 유틸리티를 실행하는 계정에는 BACKUP_LOCATION에 대한 읽기 및 쓰기 권한이 있어야 합니다.

      BACKUP_LOCATION을 폴더로 설정한 경우 재해 복구 도구가 해당 폴더에서 사용 가능한 최신 백업 파일을 가져옵니다. BACKUP_LOCATION을 폴더의 특정 백업 파일로 설정한 경우에는 재해 복구 도구가 해당 파일을 가져옵니다.

      비고:

      내보내기 중에 백업을 패키징하는 데 시간이 오래 걸리는 경우 BACKUP_LOCATION을 로컬 경로로 설정하는 것이 좋습니다. 그러면 완료된 패키지를 원하는 위치에 복사할 수 있습니다. 백업을 임시로 저장할 수 있는 충분한 공간이 로컬 드라이브에 있어야 합니다.

    • PORTAL_ADMIN_URL = <포털 관리자 디렉터리 URL>

      Portal for ArcGIS 관리자 디렉터리의 URL을 지정합니다. https://portalhostname.domain.com:7443/arcgis 형식으로 입력하며 여기서, portalhostname.domain.comPortal for ArcGIS가 설치된 머신의 정규화된 이름입니다.

    • PORTAL_ADMIN_USERNAME = <포털 관리자 사용자 이름>

      관리자 역할에 할당된 포털 구성원의 사용자 이름을 지정합니다.

    • PORTAL_ADMIN_PASSWORD = <포털 관리자 비밀번호>

      포털 관리자 계정의 비밀번호를 지정합니다.

    • PORTAL_ADMIN_PASSWORD_ENCRYPTED = <true | false>

      관리자 비밀번호로 파일을 처음 만드는 경우 이 옵션을 false로 설정합니다. 파일을 저장하면 비밀번호가 암호화되며 PORTAL_ADMIN_PASSWORD_ENCRYPTED의 값이 true로 설정되어 비밀번호가 암호화되었음을 나타냅니다. 나중에 비밀번호를 변경해야 할 경우에는 PORTAL_ADMIN_PASSWORD_ENCRYPTED = false로 설정하여 새 관리자 비밀번호를 제공한 후 파일을 저장합니다.

    • INCLUDE_SCENE_TILE_CACHES = <true | false>

      호스팅 씬 레이어를 포털에 발행하고 씬 캐시 데이터를 백업에 포함하려는 경우 INCLUDE_SCENE_TILE_CACHEStrue로 설정합니다. true로 설정하면 마지막 백업 이후에 생성된 새 캐시 데이터뿐 아니라 모든 씬 캐시 데이터가 백업에 포함됩니다. 마지막 백업 이후에 생성된 새 씬 캐시가 없거나 씬을 포털에 발행하지 않는 경우에는 INCLUDE_SCENE_TILE_CACHESfalse로 설정할 수 있습니다.

    • BACKUP_RESTORE_MODE = full.

  3. 변경 내용을 저장하고 expfullbackups.properties 파일을 닫습니다.
  4. expfullbackups.properties 파일의 복사본을 생성하고 그 이름을 expincremental.properties(으)로 지정합니다.
  5. 텍스트 편집기에서 expincremental.properties 파일을 열고 BACKUP_RESTORE_MODE 설정을 incremental(으)로 변경합니다.
  6. 변경 내용을 저장하고 expincremental.properties 파일을 닫습니다.
  7. webgisdr 유틸리티를 실행하여 프라이머리 배포에서 내보낼 2개의 스크립트를 생성합니다. 한 스크립트는 expfullbackups.properties 파일을 호출하고 다른 스크립트는 expincremental.properties 파일을 호출하도록 설정합니다.

    2개의 스크립트를 생성했으므로 하나는 특정 시간에 실행되어 전체 백업을 생성하고 다른 하나는 다른 시간에 실행되어 증분 백업을 생성하도록 예약할 수 있습니다.

    예를 들어 전체 백업을 생성하는 스크립트에는 다음과 비슷한 라인을 포함할 수 있습니다.

    webgisdr --export --file /arcgis/portal/tools/webgisdr/fullbackups.properties

  8. 백업을 내보내는 데 사용할 스크립트에는 백업 파일을 스탠바이 배포에 복사하는 방식이 포함되어야 합니다.

    프라이머리 배포에서 ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store 서비스를 설치한 계정에는 .properties 파일의 SHARED_LOCATION 설정에 대한 쓰기 권한이 있어야 합니다. 또한 webgisdr 유틸리티 실행 계정에는 SHARED_LOCATION 및 백업 파일이 복사될 위치에 대한 읽기 및 쓰기 권한이 있어야 합니다. 스탠바이 배포에서 ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store 서비스를 설치한 계정에는 이러한 위치에 대한 읽기 권한 이상이 있어야 합니다.

  9. ArcGIS Enterprise 배포에 맵 서비스 및 호스팅 타일 레이어 캐시가 포함되어 있는 경우 스크립트에서는 이러한 데이터도 프라이머리 배포의 ArcGIS Server 사이트 캐시 디렉터리에서 스탠바이 배포의 캐시 디렉터리로 복사해야 합니다.
  10. expfullbackups.propertiesexpincremental.properties 파일을 스탠바이 배포의 webgisdr.properties 파일 위치(기본 설정에 따라 /arcgis/portal/tools/webgisdr)에 복사한 다음 해당 파일의 이름을 각각 impfullbackups.propertiesimpincremental.properties(으)로 바꿉니다.
  11. 스탠바이 배포 환경인 경우 SHARED_LOCATION, BACKUP_LOCATION(BACKUP_STORE_PROVIDERFileSystem으로 설정된 경우), 등록정보의 PORTAL_ADMIN_URL을 업데이트합니다.
  12. 프라이머리 및 스탠바이 배포에서 실행할 webgisdr 도구를 예약합니다. cron 작업을 사용하여 이 작업을 수행할 수 있습니다. 백업 일정을 정의하고 해당 등록정보 파일을 가리키도록 자동화된 작업을 설정합니다. 백업을 가져올 2개 스크립트에서는 스탠바이 배포에 복사된 등록정보 파일을 호출해야 합니다.
    팁:

    앞서 언급한 대로, 전체 및 증분 백업이 완료되는 데 걸리는 시간과 백업 파일이 복사되는 데 걸리는 시간을 미리 확인한 다음, 버퍼 시간을 추가하여 실행할 스크립트를 적합한 시간에 예약해야 합니다.