다음을 통해 공유


Azure Data Factory 또는 Azure Synapse Analytics에서 SSIS(SQL Server Integration Services)와 함께 Azure SQL Managed Instance를 사용

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이제 SSIS(SQL Server Integration Services) 프로젝트, 패키지 및 워크로드를 Azure 클라우드로 이동할 수 있습니다. SSMS(SQL Server Management Studio)와 같은 친숙한 도구를 사용하여 Azure SQL Database 또는 SQL Managed Instance에서 SSIS 프로젝트 및 패키지를 배포, 실행 및 관리합니다. 이 문서에서는 Azure-SSIS IR(통합 런타임)에서 Azure SQL Managed Instance를 사용할 때 다음과 같은 특정 영역을 강조 표시합니다.

Azure SQL Managed Instance에서 호스트하는 SSISDB를 사용하여 Azure-SSIS IR 프로비전

필수 조건

  1. Microsoft Entra 인증을 선택할 때 Azure SQL Managed Instance에서 Microsoft Entra ID를 사용하도록 설정합니다.

  2. 프라이빗 엔드포인트를 통해 또는 퍼블릭 엔드포인트를 통해 SQL Managed Instance를 연결하는 방법을 선택합니다.

    • 프라이빗 엔드포인트 이상(기본 설정)

      1. 조인할 Azure-SSIS IR에 대한 가상 네트워크를 선택합니다.

        • 관리되는 인스턴스와 동일한 가상 네트워크 내에 서로 다른 서브넷이 있습니다.
        • 가상 네트워크 피어링(글로벌 VNet 피어링 제약 조건으로 인해 동일한 지역으로 제한됨) 또는 가상 네트워크 간 연결을 통해 관리되는 인스턴스와는 다른 가상 네트워크 내부.

        SQL Managed Instance 연결에 대한 자세한 내용은 애플리케이션을 Azure SQL Managed Instance에 커넥트 참조하세요.

      2. 가상 네트워크를 구성합니다.

    • 퍼블릭 엔드포인트를 통해

      Azure SQL Managed Instance는 퍼블릭 엔드포인트를 통해 연결할 수 있습니다. SQL Managed Instance와 Azure-SSIS IR 간의 트래픽을 허용하려면 인바운드 및 아웃바운드 요구 사항을 충족해야 합니다.

      • Azure-SSIS IR이 가상 네트워크 내에 없는 경우(기본 설정)

        Azure-SSIS IR의 인바운드 트래픽을 허용하기 위한 SQL Managed Instance의 인바운드 요구 사항입니다.

        전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위
        TCP Azure 클라우드 서비스 태그 * VirtualNetwork 3342

        자세한 내용은 네트워크 보안 그룹에서 공용 엔드포인트 트래픽 허용을 참조하세요.

      • 가상 네트워크 내에서 Azure-SSIS IR이 있는 경우

        Azure-SSIS IR에서 지원하지 않는 지역에 SQL Managed Instance가 있고 글로벌 VNet 피어링 제한으로 인해 VNet 피어링 없이 Azure-SSIS IR가 가상 네트워크 내부에 있는, 특별한 시나리오가 있습니다. 이 시나리오에서 가상 네트워크 내부 Azure-SSIS IR퍼블릭 엔드포인트를 통해 SQL Managed Instance를 연결합니다. 아래 NSG(네트워크 보안 그룹) 규칙을 사용하여 SQL Managed Instance와 Azure-SSIS IR 간의 트래픽을 허용합니다.

        1. Azure-SSIS IR의 인바운드 트래픽을 허용하기 위한 SQL Managed Instance의 인바운드 요구 사항입니다.

          전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위
          TCP Azure-SSIS IR의 고정 IP 주소
          자세한 내용은 Azure-SSIS IR에 대한 사용자 고유의 공용 IP 가져오기를 참조하세요.
          * VirtualNetwork 3342
        2. SQL Managed Instance에 대한 아웃바운드 트래픽을 허용하기 위한 Azure-SSIS IR의 아웃바운드 요구 사항입니다.

          전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위
          TCP VirtualNetwork * SQL Managed Instance 공용 엔드포인트 IP 주소 3342

가상 네트워크 구성.

  1. 사용자 권한. Azure-SSIS IR을 만드는 사용자는 아래 옵션 중 하나를 사용하여 Azure Data Factory 리소스에 대한 역할 할당 이 있어야 합니다.

    • 기본 제공 네트워크 참가자 역할을 사용합니다. 이 역할에는 필요한 것보다 훨씬 더 큰 범위의 Microsoft.Network/* 권한이 제공됩니다.
    • 필요한 Microsoft.Network/virtualNetworks/*/join/action 권한만 포함하는 사용자 지정 역할을 만듭니다. Azure Resource Manager 가상 네트워크에 조인하는 동안 Azure-SSIS IR에 대한 사용자 고유의 공용 IP 주소를 가져오려는 경우 역할에 Microsoft.Network/publicIPAddresses/*/join/action 권한도 포함합니다.
  2. 가상 네트워크.

    1. 가상 네트워크의 리소스 그룹이 특정 Azure 네트워크 리소스를 만들고 삭제할 수 있는지 확인합니다.

      Azure-SSIS IR은 가상 네트워크와 동일한 리소스 그룹에 특정 네트워크 리소스를 만들어야 합니다. 해당 리소스는 다음과 같습니다.

      • 이름이 <Guid>-azurebatch-cloudserviceloadbalancer인 Azure 부하 분산 장치
      • 이름이 *<Guid>-azurebatch-cloudservicenetworksecuritygroup인 네트워크 보안 그룹
      • 이름이 -azurebatch-cloudservicepublicip인 Azure 공용 IP 주소

      이러한 리소스는 Azure-SSIS IR이 시작될 때 만들어집니다. Azure-SSIS IR이 중지되면 삭제됩니다. Azure-SSIS IR 중지가 차단되지 않게 하려면 다른 리소스에서 해당 네트워크 리소스를 다시 사용하지 마세요.

    2. 가상 네트워크가 속한 리소스 그룹/구독에 대한 리소스 잠금이 없는지 확인합니다. 읽기 전용/삭제 잠금을 구성하는 경우 Azure-SSIS IR을 시작하고 중지하면 실패하거나 응답이 중지됩니다.

    3. 가상 네트워크가 속한 리소스 그룹/구독에서 다음 리소스를 만들지 못하게 하는 Azure Policy 정의가 없는지 확인합니다.

      • Microsoft.Network/LoadBalancers
      • Microsoft.Network/NetworkSecurityGroups
    4. NSG(네트워크 보안 그룹) 규칙의 트래픽을 허용하여 SQL Managed Instance와 Azure-SSIS IR 간의 트래픽과 Azure-SSIS IR에 필요한 트래픽을 허용합니다.

      1. Azure-SSIS IR의 인바운드 트래픽을 허용하기 위한 SQL Managed Instance의 인바운드 요구 사항입니다.

        전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위 설명
        TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 SQL Database 서버 연결 정책이 리디렉션 대신 프록시설정된 경우 포트 1433만 필요합니다.
      2. SQL Managed Instance에 대한 아웃바운드 트래픽 및 Azure-SSIS IR에 필요한 기타 트래픽을 허용하기 위한 Azure-SSIS IR의 아웃바운드 요구 사항입니다.

        전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위 설명
        TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 SQL Managed Instance에 대한 아웃바운드 트래픽을 허용합니다. 연결 정책이 리디렉션 대신 프록시설정된 경우 포트 1433만 필요합니다.
        TCP VirtualNetwork * AzureCloud 443 가상 네트워크의 Azure-SSIS IR 노드는 이 포트를 사용하여 Azure Storage 및 Azure Event Hubs와 같은 Azure 서비스에 액세스합니다.
        TCP VirtualNetwork * 인터넷 80 (선택 사항) 가상 네트워크의 Azure-SSIS IR 노드는 이 포트를 사용하여 인터넷에서 인증서 해지 목록을 다운로드합니다. 이 트래픽을 차단하면 IR을 시작할 때 성능이 다운그레이드되고 인증서 사용을 위해 인증서 해지 목록을 확인하는 기능이 손실될 수 있습니다. 대상 범위를 특정 FQDN으로 더 좁히려면 UDR(사용자 정의 경로) 사용을 참조하세요.
        TCP VirtualNetwork * 스토리지 445 (선택 사항) 이 규칙은 Azure Files에 저장된 SSIS 패키지를 실행하려는 경우에만 필요합니다.
      3. Azure-SSIS IR에 필요한 트래픽을 허용하기 위한 Azure-SSIS IR의 인바운드 요구 사항입니다.

        전송 프로토콜 원본 원본 포트 범위 대상 대상 포트 범위 설명
        TCP BatchNodeManagement * VirtualNetwork 29876, 29877(IR을 Resource Manager 가상 네트워크에 조인하는 경우)

        10100, 20100, 30100(클래식 가상 네트워크에 IR에 가입하는 경우)
        Data Factory 서비스는 이러한 포트를 사용하여 가상 네트워크에서 Azure-SSIS IR의 노드와 통신합니다.

        서브넷 수준 NSG를 만들지 여부에 관계없이 Data Factory는 항상 Azure-SSIS IR을 호스트하는 가상 머신에 연결된 NIC(네트워크 인터페이스 카드) 수준에서 NSG를 구성합니다. 지정된 포트에서 Data Factory IP 주소의 인바운드 트래픽만 해당 NIC 수준 NSG에서 허용됩니다. 서브넷 수준에서 인터넷 트래픽에 대한 이러한 포트를 열더라도 Data Factory IP 주소가 아닌 IP 주소의 트래픽은 NIC 수준에서 차단됩니다.
        TCP CorpNetSaw * VirtualNetwork 3389 (선택 사항) 이 규칙은 Microsoft 후원자가 고객에게 고급 문제 해결을 위해 열어 달라고 요청하는 경우에만 필요하며 문제 해결 직후에 닫을 수 있습니다. CorpNetSaw 서비스 태그는 Microsoft 회사 네트워크의 보안 액세스 워크스테이션만 원격 데스크톱을 사용하도록 허용합니다. 또한 이 서비스 태그는 포털에서 선택할 수 없으며 Azure PowerShell 또는 Azure CLI를 통해서만 사용할 수 있습니다.

        NIC 수준 NSG에서 포트 3389는 기본적으로 열려 있으며 서브넷 수준 NSG에서 포트 3389를 제어할 수 있습니다. 반면 Azure-SSIS IR은 보호를 위해 각 IR 노드의 Windows 방화벽 규칙에서 기본적으로 포트 3389 아웃바운드를 허용하지 않습니다.
    5. 자세한 내용은 가상 네트워크 구성을 참조하세요.

      • Azure-SSIS IR에 대한 사용자 고유의 공용 IP 주소를 가져오는 경우
      • 고유한 DNS(Domain Name System) 서버를 사용하는 경우
      • Azure ExpressRoute 또는 UDR(사용자 정의 경로)을 사용하는 경우
      • 사용자 지정된 Azure-SSIS IR을 사용하는 경우

Azure-SSIS 통합 런타임 프로비저닝

  1. SQL Managed Instance 프라이빗 엔드포인트 또는 퍼블릭 엔드포인트를 선택합니다.

    Azure Portal/ADF 앱에서 Azure-SSIS IR을 프로비저닝하는 경우 SQL 설정 페이지에서 SSIS 카탈로그(SSISDB)를 만들 때 SQL Managed Instance 프라이빗 엔드포인트 또는 퍼블릭 엔드포인트를 사용합니다.

    퍼블릭 엔드포인트 호스트 이름은 <mi_name>.public.<dns_zone>.database.windows.net 형식으로 제공되며 연결에 사용되는 포트는 3342입니다.

    Screenshot shows Integration runtime setup with Create S S I S catalog selected and Catalog database server endpoint entered.

  2. 적용되는 경우 Microsoft Entra 인증을 선택합니다.

    catalog-public-endpoint

    Microsoft Entra 인증을 사용하도록 설정하는 방법에 대한 자세한 내용은 Azure SQL Managed Instance에서 Microsoft Entra ID 사용을 참조 하세요.

  3. 적용되는 경우 Azure-SSIS IR을 가상 네트워크에 조인합니다.

    고급 설정 페이지에서 조인할 Virtual Network 및 서브넷을 선택합니다.

    SQL Managed Instance와 동일한 가상 네트워크 내에 있는 경우 SQL Managed Instance와 다른 서브넷선택합니다.

    Azure-SSIS IR을 가상 네트워크에 조인하는 방법에 대한 자세한 내용은 Azure-SSIS 통합 런타임을 가상 네트워크에 조인하는 방법을 참조하세요.

    Screenshot shows the Integration runtime setup Advanced settings, where you can select a virtual network for your runtime to join.

Azure-SSIS IR을 만드는 방법에 대한 자세한 내용은 Azure Data Factory에서 Azure-SSIS 통합 런타임 만들기를 참조 하세요.

SSISDB 로그 정리

SSISDB 로그 보존 정책은 catalog.catalog_properties 아래 속성에 의해 정의됩니다.

  • OPERATION_CLEANUP_ENABLED

    값이 TRUE이면 RETENTION_WINDOW(일)보다 오래된 작업 세부 정보 및 작업 메시지가 카탈로그에서 삭제됩니다. 값이 FALSE이면 모든 작업 세부 정보 및 작업 메시지가 카탈로그에 저장됩니다. 참고: SQL Server 작업은 클린 작업을 수행합니다.

  • RETENTION_WINDOW

    작업 세부 정보 및 작업 메시지가 카탈로그에 저장되는 일 수입니다. 값이 -1이면 보존 기간이 무한합니다. 참고: 클린업이 없으면 OPERATION_CLEANUP_ENABLED FALSE로 설정합니다.

관리자가 설정한 보존 기간 밖에 있는 SSISDB 로그를 제거하려면 저장 프로시저 [internal].[cleanup_server_retention_window_exclusive]를 트리거할 수 있습니다. 필요에 따라 SQL Managed Instance 에이전트 작업 실행을 예약하여 저장 프로시저를 트리거할 수 있습니다.