Share via


Azure Key Vault를 다른 지역으로 재배치

Azure Key Vault는 다른 지역으로 키 자격 증명 모음 재배치를 지원하지 않습니다.

재배치 대신 다음을 수행해야 합니다.

  • 연결된 Azure 서비스의 재배치를 사용하여 새 키 자격 증명 모음을 만듭니다.
  • 필요한 , 비밀 또는 인증서를 다시 생성합니다. 경우에 따라 기존 키 자격 증명 모음에서 재배치된 키 자격 증명 모음으로 비밀 또는 인증서를 전송해야 할 수 있습니다.

Azure Key Vault 재배치 패턴을 보여 주는 다이어그램

필수 조건

  • Azure 구독을 통해 대상 지역에 키 자격 증명 모음을 만들 수 있는지 확인합니다.

  • Key Vault에서 사용하는 모든 Azure 서비스를 사용하여 종속성 맵을 만듭니다. 재배치 범위에 있는 서비스의 경우 적절한 재배치 전략을 선택해야 합니다.

  • Key Vault 디자인에 따라 대상 지역에 Virtual Network를 배포하고 구성해야 할 수 있습니다.

  • 대상 지역의 Key Vault에서 다시 구성하도록 문서화하고 계획합니다.

    • 액세스 정책 및 네트워크 구성 설정
    • 일시 삭제 및 제거 보호.
    • 자동 로팅 설정입니다.

가동 중지 시간

발생할 수 있는 가동 중지 시간을 이해하려면 Azure용 클라우드 채택 프레임워크: 재배치 방법 선택을 참조하세요.

서비스 엔드포인트에 대한 고려 사항

Azure Key Vault의 가상 네트워크 서비스 엔드포인트는 지정된 가상 네트워크에 대한 액세스를 제한합니다. 엔드포인트는 IPv4(인터넷 프로토콜 버전 4) 주소 범위 목록에 대한 액세스를 제한할 수도 있습니다. 해당 원본 외부에서 Key Vault에 연결하는 모든 사용자는 액세스가 거부됩니다. Key Vault 리소스의 원본 지역에서 서비스 엔드포인트가 구성된 경우 대상에서 동일한 작업을 수행해야 합니다.

Key Vault를 대상 지역으로 올바르게 다시 만들려면 VNet 및 서브넷을 미리 만들어야 합니다. 이러한 두 리소스를 Azure Resource Mover 도구를 사용하여 이동하는 경우 서비스 엔드포인트가 자동으로 구성되지 않습니다. 따라서 Azure Portal, Azure CLI 또는 Azure PowerShell를 통해 수동으로 구성해야 합니다.

프라이빗 엔드포인트에 대한 고려 사항

Azure Private Link는 가상 네트워크에서 Azure PaaS(Platform as a Service), 고객 소유 또는 Microsoft 파트너 서비스에 대한 프라이빗 연결을 제공합니다. Private Link는 네트워크 구조를 간소화하고 공용 인터넷에 대한 데이터 노출을 방지하여 Azure에서 엔드포인트 간의 연결을 보호할 수 있습니다.

대상 지역에서 Key Vault를 올바르게 다시 만들려면 실제로 다시 만들기 전에 VNet 및 서브넷을 만들어야 합니다.

Azure 프라이빗 엔드포인트 DNS 통합에 대한 고려 사항

프라이빗 엔드포인트 IP 주소가 연결 문자열의 FQDN(정규화된 도메인 이름)으로 확인되도록 DNS 설정을 올바르게 구성하는 것이 중요합니다.

기존 Microsoft Azure 서비스에는 공용 엔드포인트에 대한 DNS 구성이 이미 있을 수 있습니다. 이 구성은 프라이빗 엔드포인트를 사용하여 연결하도록 재정의해야 합니다.

프라이빗 엔드포인트와 연결된 네트워크 인터페이스에는 DNS를 구성하는 데 필요한 정보가 포함되어 있습니다. 네트워크 인터페이스 정보에는 프라이빗 링크 리소스에 대한 FQDN 및 개인 IP 주소가 포함됩니다.

다음 옵션을 사용하여 프라이빗 엔드포인트에 대한 DNS 설정을 구성할 수 있습니다.

  • 호스트 파일을 사용합니다(테스트에만 권장) . 가상 머신의 호스트 파일을 사용하여 DNS를 재정의할 수 있습니다.
  • 프라이빗 DNS 영역을 사용합니다. 프라이빗 DNS 영역을 사용하여 프라이빗 엔드포인트에 대한 DNS 확인을 재정의할 수 있습니다. 프라이빗 DNS 영역을 가상 네트워크에 연결하여 특정 도메인을 확인할 수 있습니다.
  • DNS 전달자를 사용합니다(선택 사항) . DNS 전달자를 사용하여 지정된 프라이빗 링크 리소스에 대한 DNS 확인을 재정의할 수 있습니다. 가상 네트워크에서 호스트되는 DNS 서버에서 프라이빗 DNS 영역을 사용하는 DNS 전달 규칙을 만듭니다.

준비

Azure Portal을 사용하여 템플릿을 내보내려면:

  1. Azure Portal에 로그인합니다.

  2. 모든 리소스를 선택한 다음 키 자격 증명 모음을 선택합니다.

  3. >자동화>템플릿 내보내기를 선택합니다.

  4. 템플릿 내보내기 블레이드에서 다운로드를 선택합니다.

  5. 포털에서 다운로드한 .zip 파일을 찾은 다음, 선택한 폴더에 파일 압축을 풉니다.

    이 zip 파일에는 템플릿과 템플릿 배포 스크립트로 구성된 .json 파일이 들어 있습니다.

다음과 같은 개념을 염두에 두어야 합니다.

  • 키 자격 증명 모음 이름은 전역적으로 고유합니다. 자격 증명 모음 이름을 다시 사용할 수 없습니다.
  • 새 키 자격 증명 모음에서 액세스 정책 및 네트워크 구성 설정을 다시 구성해야 합니다.
  • 새 키 자격 증명 모음에서 일시 삭제 및 제거 방지를 다시 구성해야 합니다.
  • 백업 및 복원 작업은 자동 회전 설정을 유지하지 않습니다. 설정을 다시 구성해야 할 수도 있습니다.

템플릿 수정

키 자격 증명 모음 이름 및 지역을 변경하여 템플릿을 수정합니다.

Azure Portal을 사용하여 템플릿을 배포하려면:

  1. Azure Portal에서 리소스 만들기를 선택합니다.

  2. Marketplace 검색에서 템플릿 배포를 입력하고 ENTER를 누릅니다.

  3. 템플릿 배포를 선택합니다.

  4. 만들기를 실행합니다.

  5. 편집기에서 사용자 고유의 템플릿을 빌드합니다.를 선택합니다.

  6. 파일 로드를 선택한 다음 지침에 따라 마지막 섹션에서 다운로드한 template.json 파일을 로드합니다.

  7. template.json 파일에서 키 자격 증명 모음 이름의 기본값을 설정하여 키 자격 증명 모음의 이름을 지정합니다. 다음은 키 자격 증명 모음 이름의 기본값을 mytargetaccount(으)로 설정하는 예제입니다.

    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vaults_name": {
            "defaultValue": "key-vault-name",
            "type": "String"
        }
    },
    
  8. template.json 파일의 위치 속성을 대상 지역으로 편집합니다. 이 예제에서는 대상 지역을 centralus로 설정합니다.

    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults",
            "apiVersion": "2023-07-01",
            "name": "[parameters('vaults_name')]",
            "location": "centralus",
            ...
        },
        ...
    ]
    

    지역 위치 코드를 가져오려면 Azure 위치를 참조하세요. 지역 코드는 공백이 없는 지역 이름입니다(예: Central US = centralus).

  9. 템플릿에서 프라이빗 엔드포인트 유형의 리소스를 제거합니다.

    {
    "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
    ...
    }
    
  10. 키 자격 증명 모음에서 서비스 엔드포인트를 구성한 경우 networkAcl 섹션의 virtualNetworkRules 아래에 대상 서브넷에 대한 규칙을 추가합니다. 서비스 엔드포인트가 대상 지역에 구성되지 않은 경우 IaC가 Key Vault를 배포하지 못하도록 ignoreMissingVnetServiceEndpoint 플래그가 False로 설정되어 있는지 확인합니다.

    parameter.json

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "target_vnet_externalid": {
          "value": "virtualnetwork-externalid"
        },
        "target_subnet_name": {
          "value": "subnet-name"
        }
      }
    }
    

    _template.json

        "networkAcls": {
            "bypass": "AzureServices",
            "defaultAction": "Deny",
            "ipRules": [],
            "virtualNetworkRules": [
                {
                    "id": "[concat(parameters('target_vnet_externalid'), concat('/subnets/', parameters('target_subnet_name')]",
                    "ignoreMissingVnetServiceEndpoint": false
                }
            ]
        }
    

재배포

템플릿을 배포하여 대상 지역에 새 키 자격 증명 모음을 만듭니다.

  1. template.json 파일을 저장합니다.

  2. 다음 속성 값을 입력하거나 선택합니다.

    • 구독: Azure 구독을 선택합니다.

    • 리소스 그룹: 새로 만들기를 클릭하고 리소스 그룹에 이름을 지정합니다.

    • 위치: Azure 위치를 선택합니다.

  3. 위에 명시된 사용 약관에 동의함을 선택한 다음, 구매 선택을 선택합니다.

  4. 액세스 정책 및 네트워크 구성 설정(프라이빗 엔드포인트)은 새 Key Vault에서 다시 구성해야 합니다. 일시 삭제 및 제거 보호는 새 키 자격 증명 모음 및 자동 회전 설정에서 다시 구성해야 합니다.

지정된 XML이 구문상 유효하지 않다는 오류가 표시되면 템플릿의 JSON을 Azure Resource Manager 설명서에 설명된 스키마와 비교합니다.

데이터 마이그레이션을 사용하여 다시 배포

Important

지역 간에 Key Vault를 이동하지만 동일한 지역 내에서 이동하려는 경우 비밀, 키 및 인증서에 대한 백업 및 복원을 수행하는 것이 좋습니다.

  1. 다시 배포 방식에 설명된 단계를 따릅니다.
  2. 비밀의 경우:
    1. 원본 키 자격 증명 모음에 비밀 값을 복사하고 저장합니다.
    2. 대상 키 자격 증명 모음에서 비밀을 다시 만들고 값을 저장된 비밀로 설정합니다.
  3. 인증서의 경우:
    1. 인증서를 PFX 파일로 내보냅니다.
    2. PFX 파일을 대상 키 자격 증명 모음으로 가져옵니다. 프라이빗 키를 내보낼 수 없는 경우(exportable이(가) 설정되지 않음) 인증서를 생성하고, 새 인증서를 생성하고, 대상 키 자격 증명 모음으로 가져와야 합니다.
  4. 연결된 Azure 서비스를 재배치하면 가 다시 생성됩니다.
  5. 연결된 서비스에 대해 키가 생성되었는지 확인합니다.

확인

이전 키 자격 증명 모음을 삭제하기 전에 연결된 Azure 서비스를 재배치한 후 새 자격 증명 모음에 필요한 모든 키, 비밀 및 인증서가 포함되어 있는지 확인합니다.