다음을 통해 공유


프라이빗 엔드포인트를 사용하여 Azure Blob 스토리지에서 SQL 데이터베이스로 안전하게 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

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

이 자습서에서는 Azure Data Factory UI(사용자 인터페이스)를 사용하여 데이터 팩터리를 만듭니다. 이 데이터 팩터리의 파이프라인은 Azure Data Factory Managed Virtual Network의 프라이빗 엔드포인트를 사용하여 데이터를 Azure Blob 스토리지에서 Azure SQL 데이터베이스로 안전하게 복사합니다(둘 다 선택한 네트워크에만 액세스할 수 있음). 이 자습서의 구성 패턴은 파일 기반 데이터 저장소에서 관계형 데이터 저장소로 복사하는 데 적용됩니다. 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 및 형식 표를 참조하세요.

참고 항목

Data Factory를 처음 사용하는 경우 Azure Data Factory 소개를 참조하세요.

이 자습서에서 수행하는 단계는 다음과 같습니다.

  • 데이터 팩터리를 만듭니다.
  • 복사 활동이 있는 파이프라인 만들기

필수 조건

  • Azure 구독. Azure 구독이 아직 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.
  • Azure 스토리지 계정. Blob Storage를 원본 데이터 스토리지로 사용합니다. 스토리지 계정이 없는 경우 Azure Storage 계정 만들기를 참조하세요. 스토리지 계정이 선택한 네트워크에서만 액세스를 허용하는지 확인합니다.
  • Azure SQL Database. 데이터베이스를 싱크 데이터 저장소로 사용합니다. Azure SQL 데이터베이스가 없는 경우 만드는 단계를 SQL 데이터베이스 만들기에서 참조하세요. SQL Database 계정이 선택한 네트워크에서만 액세스를 허용하는지 확인합니다.

Blob 및 SQL 테이블 만들기

이제 다음 단계를 수행하여 자습서에서 사용할 Blob Storage 및 SQL 데이터베이스를 준비합니다.

원본 Blob 만들기

  1. 메모장을 엽니다. 다음 텍스트를 복사하고 디스크에 emp.txt 파일로 저장합니다.

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. Blob Storage에 adftutorial이라는 컨테이너를 만듭니다. 이 컨테이너에 input이라는 폴더를 만듭니다. 그런 다음 emp.txt 파일을 input 폴더에 업로드합니다. 이러한 작업을 수행하려면 Azure Portal 또는 Azure Storage Explorer와 같은 도구를 사용합니다.

싱크 SQL 테이블 만들기

다음 SQL 스크립트를 사용하여 SQL 데이터베이스에 dbo.emp 테이블을 만듭니다.

CREATE TABLE dbo.emp
(
    ID int IDENTITY(1,1) NOT NULL,
    FirstName varchar(50),
    LastName varchar(50)
)
GO

CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);

데이터 팩터리 만들기

이 단계에서는 데이터 팩터리를 만들고, Data Factory UI를 시작하여 파이프라인을 데이터 팩터리에 만듭니다.

  1. Microsoft Edge 또는 Google Chrome을 엽니다. 현재 Microsoft Edge 및 Google Chrome 웹 브라우저만 Data Factory UI를 지원합니다.

  2. 왼쪽 메뉴에서 리소스 만들기>분석>Data Factory를 차례로 선택합니다.

  3. 새 데이터 팩터리 페이지의 이름 아래에서 ADFTutorialDataFactory를 입력합니다.

    Azure Data Factory의 이름은 전역적으로 고유해야 합니다. 이름 값에 대한 오류 메시지가 표시되면 데이터 팩터리에 대한 다른 이름(예: yournameADFTutorialDataFactory)을 입력합니다. Data Factory 아티팩트에 대한 명명 규칙은 Data Factory 명명 규칙을 참조하세요.

  4. 데이터 팩터리를 만들 Azure 구독을 선택합니다.

  5. 리소스 그룹에 대해 다음 단계 중 하나를 사용합니다.

    • 기존 항목 사용을 선택하고 드롭다운 목록에서 기존 리소스 그룹을 선택합니다.
    • 새로 만들기를 선택하고, 리소스 그룹의 이름을 입력합니다.

    리소스 그룹에 대한 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.

  6. 버전에서 V2를 선택합니다.

  7. 위치에서 데이터 팩터리의 위치를 선택합니다. 지원되는 위치만 드롭다운 목록에 나타납니다. 데이터 팩터리에서 사용되는 데이터 저장소(예: Azure Storage, SQL Database) 및 계산(예: Azure HDInsight)은 다른 지역에 있을 수 있습니다.

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

  9. 만들기가 완료되면 알림 센터에 알림이 표시됩니다. 리소스로 이동을 선택하여 Data Factory 페이지로 이동합니다.

  10. Azure Data Factory Studio 열기 타일에서 열기를 선택하여 별도의 탭에서 Data Factory UI를 시작합니다.

Data Factory Managed Virtual Network에서 Azure 통합 런타임 만들기

이 단계에서는 Azure 통합 런타임을 만들고 Data Factory Managed Virtual Network를 사용하도록 설정합니다.

  1. Data Factory 포털에서 관리로 이동하고, 새로 만들기를 선택하여 새 Azure Integration Runtime을 만듭니다.

    Screenshot that shows creating a new Azure integration runtime.

  2. 통합 런타임 설정 페이지에서 필요한 기능을 기반으로 만들 통합 런타임을 선택합니다. 이 자습서에서는 Azure, 자체 호스팅을 선택한 다음, 계속을 클릭합니다.

  3. Azure를 선택한 다음, 계속을 클릭하여 Azure 통합 런타임을 만듭니다.

    Screenshot that shows a new Azure integration runtime.

  4. 가상 네트워크 구성(미리 보기)에서 사용을 선택합니다.

    Screenshot that shows enabling a new Azure integration runtime.

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

파이프라인을 만듭니다.

이 단계에서는 복사 활동이 있는 파이프라인을 데이터 팩터리에 만듭니다. 복사 활동은 Blob Storage에서 SQL Database로 데이터를 복사합니다. 빠른 시작 자습서에서 다음 단계에 따라 파이프라인을 만들었습니다.

  1. 연결된 서비스를 만듭니다.
  2. 입력 및 출력 데이터 세트를 만듭니다.
  3. 파이프라인 만들기

이 자습서에서는 파이프라인을 만드는 것으로 시작합니다. 그런 다음, 파이프라인을 구성해야 할 때 연결된 서비스와 데이터 세트를 만듭니다.

  1. 홈페이지에서 오케스트레이션을 선택합니다.

    Screenshot that shows the data factory home page with the Orchestrate button highlighted.

  2. 파이프라인의 속성 창에서 파이프라인 이름에 CopyPipeline을 입력합니다.

  3. 활동 도구 상자에서 이동 및 변환 범주를 펼치고, 데이터 복사 활동을 도구 상자에서 파이프라인 디자이너 화면으로 끌어옵니다. 이름에 CopyFromBlobToSql을 입력합니다.

    Screenshot that shows the copy activity.

원본 구성

이 자습서에서는 계정 키를 원본 데이터 저장소의 인증 형식으로 사용합니다. 필요한 경우 지원되는 다른 인증 방법(예: SAS URI, 서비스 주체Managed Identity)을 선택할 수도 있습니다. 자세한 내용은 Azure Data Factory를 사용하여 Azure Blob Storage에서 데이터 복사 및 변환의 해당 섹션을 참조하세요.

데이터 저장소에 대한 비밀을 안전하게 저장하려면 Azure Key Vault를 사용하는 것도 좋습니다. 자세한 내용과 그림은 Azure Key Vault에 자격 증명 저장을 참조하세요.

원본 데이터 세트 및 연결된 서비스 만들기

  1. 원본 탭으로 이동합니다. + 새로 만들기를 선택하여 원본 데이터 세트를 만듭니다.

  2. 새 데이터 세트 대화 상자에서 Azure Blob Storage를 선택한 다음, 계속을 선택합니다. 원본 데이터는 Blob 스토리지에 있으므로 원본 데이터 세트으로 Azure Blob Storage를 선택합니다.

  3. 형식 선택 대화 상자에서 데이터의 형식 유형을 선택한 다음, 계속을 선택합니다.

  4. 속성 설정 대화 상자에서 이름SourceBlobDataset를 입력합니다. 첫 행을 머리글로의 확인란을 선택합니다. 연결된 서비스 텍스트 상자에서 + 새로 만들기를 선택합니다.

  5. 새로 연결된 서비스(Azure Blob Storage) 대화 상자에서 AzureStorageLinkedService이름으로 입력하고, 스토리지 계정 이름 목록에서 스토리지 계정을 선택합니다.

  6. 대화형 작성을 사용하도록 설정해야 합니다. 사용하도록 설정하는 데 약 1분 정도 걸릴 수 있습니다.

    Screenshot that shows Interactive authoring.

  7. 연결 테스트를 클릭합니다. 스토리지 계정이 선택한 네트워크의 액세스만 허용하고 Data Factory에서 사용하기 전에 승인해야 하는 프라이빗 엔드포인트를 만들어야 하는 경우 실패합니다. 오류 메시지에는 관리형 프라이빗 엔드포인트를 만들기 위해 따를 수 있는 프라이빗 엔드포인트 만들기에 대한 링크가 표시됩니다. 또 다른 방법은 관리 탭으로 직접 이동하여 다음 섹션의 지침에 따라 관리형 프라이빗 엔드포인트를 만드는 것입니다.

    참고 항목

    일부 데이터 팩터리 인스턴스에는 관리 탭을 사용할 수 없습니다. 표시되지 않으면 작성자>연결>프라이빗 엔드포인트를 선택하여 프라이빗 엔드포인트에 액세스할 수 있습니다.

  8. 대화 상자를 열어 둔 채 스토리지 계정으로 이동합니다.

  9. 이 섹션의 지침에 따라 프라이빗 링크를 승인합니다.

  10. 대화 상자로 돌아갑니다. 연결 테스트를 다시 선택하고 만들기를 선택하여 연결된 서비스를 배포합니다.

  11. 연결된 서비스가 생성되면 속성 설정 페이지로 다시 이동합니다. 파일 경로 옆에 있는 찾아보기를 선택합니다.

  12. adftutorial/input 폴더로 이동하고, emp.txt 파일을 선택한 다음, 확인을 선택합니다.

  13. 확인을 선택합니다. 자동으로 파이프라인 페이지로 이동합니다. 원본 탭에서 SourceBlobDataset가 선택되어 있는지 확인합니다. 이 페이지에서 데이터를 미리 보려면 데이터 미리 보기를 선택합니다.

    Screenshot that shows the source dataset.

관리형 프라이빗 엔드포인트 만들기

연결을 테스트할 때 하이퍼링크를 선택하지 않은 경우 경로를 따릅니다. 이제 만든 연결된 서비스에 연결할 관리형 프라이빗 엔드포인트를 만들어야 합니다.

  1. 관리 탭으로 이동합니다.

    참고 항목

    일부 Data Factory 인스턴스에는 관리 탭을 사용할 수 없습니다. 표시되지 않으면 작성자>연결>프라이빗 엔드포인트를 선택하여 프라이빗 엔드포인트에 액세스할 수 있습니다.

  2. 관리형 프라이빗 엔드포인트 섹션으로 이동합니다.

  3. 관리형 프라이빗 엔드포인트에서 + 새로 만들기를 선택합니다.

    Screenshot that shows the Managed private endpoints New button.

  4. 목록에서 Azure Blob Storage 타일, 계속을 차례로 선택합니다.

  5. 만든 스토리지 계정의 이름을 입력합니다.

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

  7. 몇 초 후면 만든 프라이빗 링크에 승인이 필요하다고 표시됩니다.

  8. 만든 프라이빗 엔드포인트를 선택합니다. 스토리지 계정 수준에서 프라이빗 엔드포인트를 승인하도록 안내하는 하이퍼링크가 표시됩니다.

    Screenshot that shows the Managed private endpoint pane.

  1. 스토리지 계정의 설정 섹션 아래에서 프라이빗 엔드포인트 연결로 이동합니다.

  2. 만든 프라이빗 엔드포인트의 확인란을 선택하고 승인을 선택합니다.

    Screenshot that shows the Approve button for the private endpoint.

  3. 설명을 추가하고 를 선택합니다.

  4. Data Factory에서 관리 탭의 관리형 프라이빗 엔드포인트 섹션으로 돌아갑니다.

  5. 약 1~2분 후에 프라이빗 엔드포인트의 승인이 Data Factory UI에 나타나는 것이 보입니다.

싱크 구성

이 자습서에서는 SQL 인증을 싱크 데이터 저장소의 인증 형식으로 사용합니다. 필요한 경우 지원되는 다른 인증 방법(예: 서비스 주체Managed Identity)을 선택할 수도 있습니다. 자세한 내용은 Azure Data Factory를 사용하여 Azure SQL Database에서 데이터 복사 및 변환의 해당 섹션을 참조하세요.

데이터 저장소에 대한 비밀을 안전하게 저장하려면 Azure Key Vault를 사용하는 것도 좋습니다. 자세한 내용과 그림은 Azure Key Vault에 자격 증명 저장을 참조하세요.

싱크 데이터 세트 및 연결된 서비스 만들기

  1. 싱크 탭으로 이동하고, + 새로 만들기를 선택하여 싱크 데이터 세트를 만듭니다.

  2. 새 데이터 세트 대화 상자의 검색 상자에 SQL을 입력하여 커넥터를 필터링합니다. Azure SQL Database를 선택한 다음, 계속을 선택합니다. 이 자습서에서는 데이터를 SQL 데이터베이스에 복사합니다.

  3. 속성 설정 대화 상자에서 이름OutputSqlDataset를 입력합니다. 연결된 서비스 드롭다운 목록에서 + 새로 만들기를 선택합니다. 데이터 세트는 연결된 서비스와 연결되어야 합니다. 연결된 서비스에는 런타임에 Data Factory에서 SQL 데이터베이스에 연결하는 데 사용하는 연결 문자열 있습니다. 데이터 세트는 데이터가 복사될 컨테이너, 폴더 및 파일(선택 사항)을 지정합니다.

  4. 새로 연결된 서비스(Azure SQL Database) 대화 상자에서 다음 단계를 수행합니다.

    1. 이름 아래에서 AzureSqlDatabaseLinkedService를 입력합니다.
    2. 서버 이름 아래에서 SQL Server 인스턴스를 선택합니다.
    3. 대화형 작성을 사용하도록 설정해야 합니다.
    4. 데이터베이스 이름 아래에서 SQL 데이터베이스를 선택합니다.
    5. 사용자 이름 아래에서 사용자의 이름을 입력합니다.
    6. 암호 아래에서 사용자의 암호를 입력합니다.
    7. 연결 테스트를 클릭합니다. SQL 서버에서 선택한 네트워크로부터의 액세스만 허용하고 Data Factory에서 사용하기 전에 승인해야 하는 프라이빗 엔드포인트를 만들어야 하므로 실패합니다. 오류 메시지에는 관리형 프라이빗 엔드포인트를 만들기 위해 따를 수 있는 프라이빗 엔드포인트 만들기에 대한 링크가 표시됩니다. 또 다른 방법은 관리 탭으로 직접 이동하여 다음 섹션의 지침에 따라 관리형 프라이빗 엔드포인트를 만드는 것입니다.
    8. 대화 상자를 열어 둔 채 선택한 SQL 서버로 이동합니다.
    9. 이 섹션의 지침에 따라 프라이빗 링크를 승인합니다.
    10. 대화 상자로 돌아갑니다. 연결 테스트를 다시 선택하고 만들기를 선택하여 연결된 서비스를 배포합니다.
  5. 자동으로 속성 설정 대화 상자로 이동합니다. 테이블에서 [dbo].[emp]를 선택합니다. 그런 다음 확인을 선택합니다.

  6. 파이프라인이 있는 탭으로 이동하고, 싱크 데이터 세트에서 OutputSqlDataset가 선택되어 있는지 확인합니다.

    Screenshot that shows the Pipeline tab.

복사 작업의 스키마 매핑을 따라 선택적으로 원본 스키마를 대상의 해당 스키마에 매핑할 수 있습니다.

관리형 프라이빗 엔드포인트 만들기

연결을 테스트할 때 하이퍼링크를 선택하지 않은 경우 경로를 따릅니다. 이제 만든 연결된 서비스에 연결할 관리형 프라이빗 엔드포인트를 만들어야 합니다.

  1. 관리 탭으로 이동합니다.

  2. 관리형 프라이빗 엔드포인트 섹션으로 이동합니다.

  3. 관리형 프라이빗 엔드포인트에서 + 새로 만들기를 선택합니다.

    Screenshot that shows the Managed private endpoints New button.

  4. 목록에서 Azure SQL Database 타일, 계속을 차례로 선택합니다.

  5. 선택한 SQL 서버의 이름을 입력합니다.

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

  7. 몇 초 후면 만든 프라이빗 링크에 승인이 필요하다고 표시됩니다.

  8. 만든 프라이빗 엔드포인트를 선택합니다. SQL 서버 수준에서 프라이빗 엔드포인트를 승인하도록 안내하는 하이퍼링크가 표시됩니다.

  1. SQL 서버의 설정 섹션 아래에서 프라이빗 엔드포인트 연결로 이동합니다.
  2. 만든 프라이빗 엔드포인트의 확인란을 선택하고 승인을 선택합니다.
  3. 설명을 추가하고 를 선택합니다.
  4. Data Factory에서 관리 탭의 관리형 프라이빗 엔드포인트 섹션으로 돌아갑니다.
  5. 프라이빗 엔드포인트에 대한 승인이 표시되려면 1~2분 정도 걸립니다.

파이프라인 디버그 및 게시

아티팩트(연결된 서비스, 데이터 세트 및 파이프라인)를 Data Factory 또는 고유한 Azure Repos Git 리포지토리에 게시하기 전에 파이프라인을 디버그할 수 있습니다.

  1. 파이프라인을 디버그하려면 도구 모음에서 디버그를 선택합니다. 창의 아래쪽에 있는 출력 탭에서 파이프라인 실행 상태가 표시됩니다.
  2. 파이프라인이 성공적으로 실행되면 위쪽 도구 모음에서 모두 게시를 선택합니다. 이 작업은 사용자가 만든 엔터티(데이터 세트 및 파이프라인)를 Data Factory에 게시합니다.
  3. 게시됨 메시지가 표시될 때까지 기다립니다. 알림 메시지를 보려면 오른쪽 위 모서리(종 모양)에서 알림 표시를 선택합니다.

요약

이 샘플의 파이프라인은 Data Factory Managed Virtual Network의 프라이빗 엔드포인트를 사용하여 Blob Storage에서 SQL Database로 데이터를 복사합니다. 다음 방법에 대해 알아보았습니다.

  • 데이터 팩터리를 만듭니다.
  • 복사 활동이 있는 파이프라인 만들기