

# Amazon RDS for SQL Server에서 SQL Server Integration Services 지원
<a name="Appendix.SQLServer.Options.SSIS"></a>

Microsoft SQL Server Integration Services(SSIS)는 광범위한 데이터 마이그레이션 작업을 수행하는 데 사용할 수 있는 구성 요소입니다. SSIS는 데이터 통합 및 워크플로우 애플리케이션용 플랫폼입니다. 이는 데이터 추출, 변환 및 로드(ETL)에 사용되는 데이터 웨어하우징 도구를 특징으로 합니다. 이 도구를 사용하여 SQL Server 데이터베이스의 유지 관리 및 다차원 큐브 데이터 업데이트를 자동화할 수도 있습니다.

SSIS 프로젝트는 XML 기반 .dtsx 파일로 저장된 패키지로 구성됩니다. 패키지에는 제어 흐름 및 데이터 흐름이 포함될 수 있습니다. 데이터 흐름을 사용하여 ETL 작업을 나타냅니다. 배포 후 패키지는 SSISDB 데이터베이스의 SQL Server에 저장됩니다. SSISDB는 전체 복구 모드의 OLTP(온라인 트랜잭션 처리) 데이터베이스입니다.

Amazon RDS for SQL Server는 RDS DB 인스턴스에서 SSRS를 직접 실행할 수 있도록 지원합니다. 기존 DB 인스턴스 또는 새 DB 인스턴스에서 SSRS를 활성화할 수 있습니다. SSIS는 데이터베이스 엔진과 동일한 DB 인스턴스에 설치됩니다.

RDS는 다음 버전에서 SQL Server Standard 및 Enterprise Edition용 SSIS를 지원합니다.
+ SQL Server 2022, 모든 버전
+ SQL Server 2019, 버전 15.00.4043.16.v1 이상
+ SQL Server 2017, 버전 14.00.3223.3.v1 이상
+ SQL Server 2016, 버전 13.00.5426.0.v1 이상

**Contents**
+ [제한 및 권장 사항](#SSIS.Limitations)
+ [SSIS 활성화](#SSIS.Enabling)
  + [SSIS용 옵션 그룹 생성](#SSIS.OptionGroup)
  + [옵션 그룹에 SSIS 옵션 추가](#SSIS.Add)
  + [SSIS용 파라미터 그룹 생성](#SSIS.CreateParamGroup)
  + [SSIS용 파라미터 수정](#SSIS.ModifyParam)
  + [옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결](#SSIS.Apply)
  + [S3 통합 활성화](#SSIS.EnableS3)
+ [SSISDB에 대한 관리 권한](SSIS.Permissions.md)
  + [SSIS용 Windows 인증 사용자 설정](SSIS.Permissions.md#SSIS.Use.Auth)
+ [SSIS 프로젝트 배포](SSIS.Deploy.md)
+ [배포 작업의 상태 모니터링](SSIS.Monitor.md)
+ [SSIS 사용](SSIS.Use.md)
  + [SSIS 프로젝트에 대한 데이터베이스 연결 관리자 설정](SSIS.Use.md#SSIS.Use.ConnMgrs)
  + [SSIS 프록시 생성](SSIS.Use.md#SSIS.Use.Proxy)
  + [SQL Server 에이전트를 사용하여 SSIS 패키지 예약](SSIS.Use.md#SSIS.Use.Schedule)
  + [프록시에서 SSIS 액세스 취소](SSIS.Use.md#SSIS.Use.Revoke)
+ [SSIS 데이터베이스 비활성화 및 삭제](SSIS.DisableDrop.md)
  + [SSIS 비활성화](SSIS.DisableDrop.md#SSIS.Disable)
  + [SSISDB 데이터베이스 삭제](SSIS.DisableDrop.md#SSIS.Drop)

## 제한 및 권장 사항
<a name="SSIS.Limitations"></a>

RDS for SQL Server에서 SSRS를 실행하는 경우 다음과 같은 제한 및 권장 사항이 적용됩니다.
+ DB 인스턴스에는 `clr enabled` 파라미터가 1로 설정된 연결된 파라미터 그룹이 있어야 합니다. 자세한 내용은 [SSIS용 파라미터 수정](#SSIS.ModifyParam) 섹션을 참조하세요.
**참고**  
SQL Server 2017 또는 2019에서 `clr enabled` 파라미터를 활성화하면 DB 인스턴스에서 CLR(공통 언어 런타임)을 사용할 수 없습니다. 자세한 내용은 [지원되지 않는 기능과 지원이 제한된 기능](SQLServer.Concepts.General.FeatureNonSupport.md) 섹션을 참조하세요.
+ 다음 제어 흐름 작업이 지원됩니다.
  + 분석 서비스 DDL 실행 작업
  + 분석 서비스 처리 작업
  + 대량 삽입 작업
  + 데이터베이스 무결성 검사 작업
  + 데이터 흐름 작업
  + 데이터 마이닝 쿼리 작업
  + 데이터 프로파일링 작업
  + 패키지 실행 작업
  + SQL Server 에이전트 작업 실행 작업
  + SQL 실행 작업
  + T-SQL 문 실행 작업
  + 운영자에게 알림 작업
  + 인덱스 재구축 작업
  + 인덱스 재구성 작업
  + 데이터베이스 축소 작업
  + 데이터베이스 전송 작업
  + 작업 전송 작업
  + 로그인 전송 작업
  + SQL Server 개체 전송 작업
  + 통계 업데이트 작업
+ 프로젝트 배포만 지원됩니다.
+ SQL Server 에이전트를 사용하여 SSIS 패키지를 실행할 수 있습니다.
+ SSIS 로그 레코드는 사용자가 만든 데이터베이스에만 삽입할 수 있습니다.
+ 파일 작업에는 `D:\S3` 폴더만 사용합니다. 다른 디렉터리에 있는 파일은 삭제됩니다. 다른 파일 위치 세부 정보를 숙지하십시오.
  + SSIS 프로젝트 입력 및 출력 파일을 `D:\S3` 폴더에 배치합니다.
  + 데이터 흐름 작업의 경우 `BLOBTempStoragePath` 및 `BufferTempStoragePath`의 위치를 `D:\S3` 폴더 내의 파일로 변경합니다. 파일 경로는 `D:\S3\`로 시작되어야 합니다.
  + 파일 연결에 사용되는 모든 파라미터, 변수 및 표현식이 `D:\S3` 폴더를 가리키는지 확인합니다.
  + 다중 AZ 인스턴스에서 장애 조치 후 `D:\S3` 폴더에 SSIS에서 생성한 파일이 삭제됩니다. 자세한 내용은 [S3 통합에 대한 다중 AZ 제한 사항](User.SQLServer.Options.S3-integration.md#S3-MAZ) 섹션을 참조하세요.
  + `D:\S3` 폴더에 SSIS에서 생성한 파일을 Amazon S3 버킷에 업로드하여 내구성을 높입니다.
+ 열 가져오기 및 열 내보내기 변환과 데이터 흐름 작업의 스크립트 구성 요소는 지원되지 않습니다.
+ SSIS 패키지 실행 시 덤프를 활성화할 수 없으며 SSIS 패키지에 데이터 탭을 추가할 수 없습니다.
+ SSIS 확장 기능은 지원되지 않습니다.
+ 프로젝트를 직접 배포할 수 없습니다. 이를 수행할 RDS 저장 프로시저를 제공합니다. 자세한 내용은 [SSIS 프로젝트 배포](SSIS.Deploy.md) 섹션을 참조하세요.
+ RDS에 배포하기 위한 `DoNotSavePasswords` 보호 모드를 사용하여 SSIS 프로젝트(.ispac) 파일을 빌드합니다.
+ 읽기 전용 복제본이 있는 Always On 인스턴스에서는 SSIS가 지원되지 않습니다.
+ `SSIS` 옵션과 연결된 SSISDB 데이터베이스는 백업할 수 없습니다.
+ SSIS의 다른 인스턴스에서 SSISDB 데이터베이스를 가져오고 복원하는 것은 지원되지 않습니다.
+ 다른 SQL Server DB 인스턴스나 Oracle 데이터 소스에 연결할 수 있습니다. MySQL이나 PostgreSQL 같은 다른 데이터베이스 엔진에 연결하는 것은 RDS for SQL Server의 SSIS에서 지원되지 않습니다. Oracle 데이터 소스 연결에 대한 자세한 내용은 [Oracle OLEDB 포함 연결된 서버](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md) 단원을 참조하세요.
+ SSIS는 온프레미스 도메인에 대한 발신 신뢰가 있는 도메인 조인 인스턴스를 지원하지 않습니다. 발신 신뢰를 사용하는 경우 로컬 AWS 도메인의 계정에서 SSIS 작업을 실행합니다.
+ 파일 시스템 기반 패키지 실행은 지원되지 않습니다.

## SSIS 활성화
<a name="SSIS.Enabling"></a>

SSIS 옵션을 DB 인스턴스에 추가하여 SSIS를 활성화합니다. 다음 프로세스를 사용합니다.

1. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 선택합니다.

1. [`SSIS`] 옵션을 옵션 그룹에 추가합니다.

1. 새 파라미터 그룹을 생성하거나 기존 파라미터 그룹을 선택합니다.

1. 파라미터 그룹을 수정하여 `clr enabled` 파라미터를 1로 설정합니다.

1. 옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결합니다.

1. Amazon S3 통합을 활성화합니다.

**참고**  
이름이 SSISDB이거나 예약된 SSIS 로그인이 있는 데이터베이스가 DB 인스턴스에 이미 있는 경우 인스턴스에서 SSIS를 활성화할 수 없습니다.

### SSIS용 옵션 그룹 생성
<a name="SSIS.OptionGroup"></a>

SSIS를 사용하려면 사용할 DB 인스턴스의 SQL Server 에디션 및 버전에 해당하는 옵션 그룹을 생성하거나 수정합니다. 이렇게 하려면 AWS Management Console 또는 AWS CLI를 사용합니다.

#### 콘솔
<a name="SSIS.OptionGroup.Console"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대한 옵션 그룹을 생성합니다.

**옵션 그룹을 생성하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **옵션 그룹**을 선택합니다.

1. **그룹 생성**을 선택합니다.

1. **보안 그룹 생성** 창에서 다음과 같이 합니다.

   1. [**이름(Name)**]에 AWS 계정 내에서 쉽게 식별할 수 있는 옵션 그룹 이름을 입력합니다(예: **ssis-se-2016**). 이름은 글자, 숫자 및 하이픈만 사용 가능합니다.

   1. **설명**에 옵션 그룹에 대한 간단한 설명을 입력합니다(예: **SSIS option group for SQL Server SE 2016**). 이 설명은 표시 용도로만 사용됩니다.

   1. **엔진**에 대해 **sqlserver-se**를 선택합니다.

   1. **메이저 엔진 버전**에 **13.00**을 선택합니다.

1. **생성(Create)**을 선택합니다.

#### CLI
<a name="SSIS.OptionGroup.CLI"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대한 옵션 그룹을 생성합니다.

**옵션 그룹을 생성하려면**
+ 다음 명령 중 하나를 실행합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds create-option-group \
      --option-group-name {{ssis-se-2016}} \
      --engine-name {{sqlserver-se}} \
      --major-engine-version {{13.00}} \
      --option-group-description "{{SSIS option group for SQL Server SE 2016}}"
  ```

  Windows의 경우:

  ```
  aws rds create-option-group ^
      --option-group-name {{ssis-se-2016}} ^
      --engine-name {{sqlserver-se}} ^
      --major-engine-version {{13.00}} ^
      --option-group-description "{{SSIS option group for SQL Server SE 2016}}"
  ```

### 옵션 그룹에 SSIS 옵션 추가
<a name="SSIS.Add"></a>

그런 다음 AWS Management Console 또는 AWS CLI를 사용하여 `SSIS` 옵션을 옵션 그룹에 추가합니다.

#### 콘솔
<a name="SSIS.Add.Console"></a>

**SSIS 옵션을 추가하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **옵션 그룹**을 선택합니다.

1. 이 예제에서는 방금 생성한 옵션 그룹인 **ssis-se-2016**을 선택합니다.

1. **옵션 추가**를 선택합니다.

1. **옵션 세부 정보**에서 **옵션 이름**으로 **SSIS**를 선택합니다.

1. **예약**에서 옵션을 즉시 추가할지 또는 다음 유지 관리 기간에 추가할지를 선택합니다.

1. **옵션 추가**를 선택합니다.

#### CLI
<a name="SSIS.Add.CLI"></a>

**SSIS 옵션을 추가하려면**
+ [`SSIS`] 옵션을 옵션 그룹에 추가합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name {{ssis-se-2016}} \
      --options OptionName=SSIS \
      --apply-immediately
  ```

  Windows의 경우:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name {{ssis-se-2016}} ^
      --options OptionName=SSIS ^
      --apply-immediately
  ```

### SSIS용 파라미터 그룹 생성
<a name="SSIS.CreateParamGroup"></a>

SSIS를 사용할 DB 인스턴스의 SQL Server 에디션 및 버전에 해당하는 `clr enabled` 파라미터의 파라미터 그룹을 생성하거나 수정합니다.

#### 콘솔
<a name="SSIS.CreateParamGroup.Console"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대한 파라미터 그룹을 생성합니다.

**파라미터 그룹을 생성하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.

1. [**Create parameter group**]을 선택합니다.

1. **서브넷 그룹 생성** 창에서 다음을 수행합니다.

   1. **파라미터 그룹 패밀리**에서 **sqlserver-se-13.0**을 선택합니다.

   1. **그룹 이름**에 파라미터 그룹의 식별자(예: **ssis-sqlserver-se-13**)를 입력합니다.

   1. **설명**에 **clr enabled parameter group**를 입력합니다.

1. **생성(Create)**을 선택합니다.

#### CLI
<a name="SSIS.CreateParamGroup.CLI"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대한 파라미터 그룹을 생성합니다.

**파라미터 그룹을 생성하려면**
+ 다음 명령 중 하나를 실행합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --db-parameter-group-family "{{sqlserver-se-13.0}}" \
      --description "{{clr enabled parameter group}}"
  ```

  Windows의 경우:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --db-parameter-group-family "{{sqlserver-se-13.0}}" ^
      --description "{{clr enabled parameter group}}"
  ```

### SSIS용 파라미터 수정
<a name="SSIS.ModifyParam"></a>

SQL Server 에디션 및 DB 인스턴스의 버전에 해당하는 파라미터 그룹의 `clr enabled` 파라미터를 수정합니다. SSIS의 경우 `clr enabled` 파라미터를 1로 설정합니다.

#### 콘솔
<a name="SSIS.ModifyParam.Console"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대해 생성한 파라미터 그룹을 수정합니다.

**파라미터 그룹을 수정하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.

1. 파라미터 그룹(예: **ssis-sqlserver-se-13**)을 선택합니다.

1. **파라미터**에서 파라미터 목록을 **clr**로 필터링합니다.

1. **clr 활성**을 선택합니다.

1. **파라미터 편집**을 선택합니다.

1. **값**에서 **1**을 선택합니다.

1. **변경 사항 저장**을 선택합니다.

#### CLI
<a name="SSIS.ModifyParam.CLI"></a>

다음 절차에서는 SQL Server Standard Edition 2016에 대해 생성한 파라미터 그룹을 수정합니다.

**파라미터 그룹을 수정하려면**
+ 다음 명령 중 하나를 실행합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --parameters "ParameterName='clr enabled',ParameterValue={{1}},ApplyMethod=immediate"
  ```

  Windows의 경우:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --parameters "ParameterName='clr enabled',ParameterValue={{1}},ApplyMethod=immediate"
  ```

### 옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결
<a name="SSIS.Apply"></a>

SSIS 옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결하려면 AWS Management Console 또는 AWS CLI를 사용합니다.

**참고**  
기존 인스턴스를 사용하는 경우 이미 Active Directory 도메인과 AWS Identity and Access Management(IAM) 역할이 연결되어 있어야 합니다. 새 인스턴스를 생성하는 경우 기존 Active Directory 도메인 및 IAM 역할을 지정합니다. 자세한 내용은 [RDS for SQL Server를 사용하여 Active Directory 작업](User.SQLServer.ActiveDirectoryWindowsAuth.md) 섹션을 참조하세요.

#### 콘솔
<a name="SSIS.Apply.Console"></a>

SSIS 활성화를 완료하려면 SSIS 옵션 그룹 및 파라미터 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결합니다.
+ 새 DB 인스턴스의 경우 인스턴스를 시작할 때 이러한 그룹을 연결합니다. 자세한 내용은 [Amazon RDS DB 인스턴스 생성](USER_CreateDBInstance.md) 섹션을 참조하세요.
+ 기존 DB 인스턴스의 경우 인스턴스를 수정하여 그룹을 연결합니다. 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 섹션을 참조하세요.

#### CLI
<a name="SSIS.Apply.CLI"></a>

SSIS 옵션 그룹 및 파라미터 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결할 수 있습니다.

**SSIS 옵션 그룹 및 파라미터 그룹을 사용하여 인스턴스를 생성하려면**
+ 옵션 그룹을 생성할 때 사용한 것과 동일한 DB 엔진 유형과 메이저 버전을 지정합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier {{myssisinstance}} \
      --db-instance-class {{db.m5.2xlarge}} \
      --engine {{sqlserver-se}} \
      --engine-version {{13.00.5426.0.v1}} \
      --allocated-storage {{100}} \
      --manage-master-user-password \
      --master-username {{admin}} \
      --storage-type {{gp2}} \
      --license-model {{li}} \
      --domain-iam-role-name {{my-directory-iam-role}} \
      --domain {{my-domain-id}} \
      --option-group-name {{ssis-se-2016}} \
      --db-parameter-group-name {{ssis-sqlserver-se-13}}
  ```

  Windows의 경우:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier {{myssisinstance}} ^
      --db-instance-class {{db.m5.2xlarge}} ^
      --engine {{sqlserver-se}} ^
      --engine-version {{13.00.5426.0.v1}} ^
      --allocated-storage {{100}} ^
      --manage-master-user-password ^
      --master-username {{admin}} ^
      --storage-type {{gp2}} ^
      --license-model {{li}} ^
      --domain-iam-role-name {{my-directory-iam-role}} ^
      --domain {{my-domain-id}} ^
      --option-group-name {{ssis-se-2016}} ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}}
  ```

**인스턴스를 수정하고 SSIS 옵션 그룹 및 파라미터 그룹을 연결하려면**
+ 다음 명령 중 하나를 실행합니다.  
**Example**  

  대상 LinuxmacOS, 또는Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier {{myssisinstance}} \
      --option-group-name {{ssis-se-2016}} \
      --db-parameter-group-name {{ssis-sqlserver-se-13}} \
      --apply-immediately
  ```

  Windows의 경우:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier {{myssisinstance}} ^
      --option-group-name {{ssis-se-2016}} ^
      --db-parameter-group-name {{ssis-sqlserver-se-13}} ^
      --apply-immediately
  ```

### S3 통합 활성화
<a name="SSIS.EnableS3"></a>

배포를 위해 SSIS 프로젝트(.ispac) 파일을 호스트에 다운로드하려면 S3 파일 통합을 사용합니다. 자세한 내용은 [Amazon RDS for SQL Server DB 인스턴스와 Amazon S3 통합](User.SQLServer.Options.S3-integration.md) 섹션을 참조하세요.