

# 开启 SSRS
<a name="SSRS.Enabling"></a>

使用以下过程为数据库实例开启 SSRS：

1. 创建新的选项组或选择现有的选项组。

1. 将 `SSRS` 选项添加到该选项组。

1. 将选项组与数据库实例相关联。

1. 允许对 SSRS 侦听器端口的 Virtual Private Cloud (VPC) 安全组进行入站访问。

## 为 SSRS 创建选项组
<a name="SSRS.OptionGroup"></a>

要使用 SSRS，请创建对应于计划使用的 SQL Server 引擎和数据库实例版本的选项组。为此，请使用 AWS 管理控制台或 AWS CLI。

**注意**  
如果现有选项组针对的是正确的 SQL Server 引擎和版本，也可以使用现有选项组。

### 控制台
<a name="SSRS.OptionGroup.Console"></a>

以下过程创建适用于 SQL Server 标准版 2017 的选项组。

**创建选项组**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**选项组**。

1. 选择**创建组**。

1. 在**创建选项组**窗格中，执行以下操作：

   1. 对于 **Name**（名称），输入选项组的名称，该名称在 AWS 账户内具有唯一性，例如 **ssrs-se-2017**。此名称只能包含字母、数字和连字符。

   1. 对于**描述**，输入选项组的简要描述，例如 **SSRS option group for SQL Server SE 2017**。此说明用于显示说明。

   1. 对于**引擎**，选择 **sqlserver-se**。

   1. 对于**主引擎版本**，选择 **14.00**。

1. 选择**创建**。

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

以下过程创建适用于 SQL Server 标准版 2017 的选项组。

**创建选项组**
+ 运行以下命令之一。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws rds create-option-group \
    --option-group-name ssrs-se-2017 \
    --engine-name sqlserver-se \
    --major-engine-version 14.00 \
    --option-group-description "SSRS option group for SQL Server SE 2017"
```
对于：Windows  

```
aws rds create-option-group ^
    --option-group-name ssrs-se-2017 ^
    --engine-name sqlserver-se ^
    --major-engine-version 14.00 ^
    --option-group-description "SSRS option group for SQL Server SE 2017"
```

## 将 SSRS 选项添加到选项组
<a name="SSRS.Add"></a>

接下来，使用 AWS 管理控制台或 AWS CLI 将 `SSRS` 选项添加到您的选项组。

### 控制台
<a name="SSRS.Add.CON"></a>

**添加 SSRS 选项**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**选项组**。

1. 选择刚创建的选项组，然后选择 **Add Option**（添加选项）。

1. 在**选项详细信息**下，为**选项名称**选择 **SSRS**。

1. 在**选项设置**下，执行以下操作：

   1. 输入 SSRS 服务要侦听的端口。默认值为 8443。有关允许值的列表，请参阅 [限制和建议](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations)。

   1. 输入**最大内存**的值。

      **最大内存**指定阈值上限，超过该阈值后，不会允许报告服务器应用程序的新内存分配请求。该数字是占数据库实例总内存的百分比。允许的值为 10–80。

   1. 对于 **Security groups (安全组)**，请选择要与选项关联的 VPC 安全组。使用与您数据库实例关联的相同安全组。

1. 要使用 SSRS 电子邮件发送报告，选择 **Email delivery in reporting services**（报告服务中的电子邮件递送）下的 **Configure email delivery options**（配置电子邮件递送选项）复选框，然后执行以下操作：

   1. 对于 **Sender email address**（发件人电子邮件地址），在 SSRS 电子邮件发送的邮件的 **From**（发件人）字段中输入要使用的电子邮件地址。

      指定有权从 SMTP 服务器发送邮件的用户账户。

   1. 对于 **SMTP server**（SMTP 服务器），请指定要使用的 SMTP 服务器或网关。

      它可以是 IP 地址、公司内部网中计算机的 NetBIOS 名称或完全限定域名。

   1. 对于 **SMTP port**（SMTP 端口），输入要用于连接到邮件服务器的端口。默认值为 25。

   1. 要使用身份验证：

      1. 选择 **Use authentication**（使用身份验证）复选框。

      1. 对于 **Secret Amazon Resource Name (ARN)** [密钥 Amazon 资源名称（ARN）]，输入用户凭证的 AWS Secrets Manager ARN。

         使用以下格式：

         **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

         例如：

         **arn:aws:secretsmanager:*us-west-2*:*123456789012*:secret:*MySecret-a1b2c3***

         有关创建密钥的更多信息，请参阅[使用 SSRS 电子邮件发送报告](SSRS.Email.md)。

   1. 选中 **Use Secure Sockets Layer (SSL)** [使用安全套接字层 (SSL)] 复选框可使用 SSL 加密电子邮件。

1. 在 **计划 (Scheduling)** 下，选择是立即添加选项还是在下一个维护时段添加选项。

1. 选择**添加选项**。

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

**添加 SSRS 选项**

1. 创建 JSON 文件，例如：`ssrs-option.json`。

   1. 设置以下必需参数：
      + `OptionGroupName` – 您之前创建或选择的选项组的名称（以下示例中的 `ssrs-se-2017`）。
      + `Port` – SSRS 服务要侦听的端口。默认值为 8443。有关允许值的列表，请参阅 [限制和建议](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations)。
      + `VpcSecurityGroupMemberships` – RDS 数据库实例的 VPC 安全组成员。
      + `MAX_MEMORY` – 阈值上限，超过该阈值后，不会允许报告服务器应用程序的新内存分配请求。该数字是占数据库实例总内存的百分比。允许的值为 10–80。

   1. （可选）设置以下参数以使用 SSRS 电子邮件：
      + `SMTP_ENABLE_EMAIL` – 设置为 `true` 以使用 SSRS 电子邮件。默认值为 `false`。
      + `SMTP_SENDER_EMAIL_ADDRESS` – SSRS 电子邮件发送的邮件的 **From**（发件人）字段中要使用的电子邮件地址。指定有权从 SMTP 服务器发送邮件的用户账户。
      + `SMTP_SERVER` – 要使用的 SMTP 服务器或网关。它可以是 IP 地址、公司内部网中计算机的 NetBIOS 名称或完全限定域名。
      + `SMTP_PORT` – 用于连接到邮件服务器的端口。默认值为 25。
      + `SMTP_USE_SSL` – 设置为 `true` 以使用 SSL 加密电子邮件。默认值为 `true`。
      + `SMTP_EMAIL_CREDENTIALS_SECRET_ARN` – 用于保存用户凭证的 Secrets Manager ARN。采用以下格式：

        **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

        有关创建密钥的更多信息，请参阅[使用 SSRS 电子邮件发送报告](SSRS.Email.md)。
      + `SMTP_USE_ANONYMOUS_AUTHENTICATION` – 设置为 `true`，如果不想使用身份验证，则不包括 `SMTP_EMAIL_CREDENTIALS_SECRET_ARN`。

        当 `SMTP_ENABLE_EMAIL` 为 `true` 时，原定设置值为 `false`。

   以下示例包含使用密钥 ARN 的 SSRS 电子邮件参数。

   ```
   {
   "OptionGroupName": "ssrs-se-2017",
   "OptionsToInclude": [
   	{
   	"OptionName": "SSRS",
   	"Port": 8443,
   	"VpcSecurityGroupMemberships": ["sg-0abcdef123"],
   	"OptionSettings": [
               {"Name": "MAX_MEMORY","Value": "60"},
               {"Name": "SMTP_ENABLE_EMAIL","Value": "true"}
               {"Name": "SMTP_SENDER_EMAIL_ADDRESS","Value": "nobody@example.com"},
               {"Name": "SMTP_SERVER","Value": "email-smtp.us-west-2.amazonaws.com"},
               {"Name": "SMTP_PORT","Value": "25"},
               {"Name": "SMTP_USE_SSL","Value": "true"},
               {"Name": "SMTP_EMAIL_CREDENTIALS_SECRET_ARN","Value": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret-a1b2c3"}
               ]
   	}],
   "ApplyImmediately": true
   }
   ```

1. 将 `SSRS` 选项添加到该选项组。  
**Example**  

   对于 Linux、macOS 或 Unix：

   ```
   aws rds add-option-to-option-group \
       --cli-input-json file://ssrs-option.json \
       --apply-immediately
   ```

   对于：Windows

   ```
   aws rds add-option-to-option-group ^
       --cli-input-json file://ssrs-option.json ^
       --apply-immediately
   ```

## 将选项组与数据库实例关联
<a name="SSRS.Apply"></a>

使用 AWS 管理控制台 或 AWS CLI 将您的选项组与数据库实例关联。

如果您使用现有数据库实例，则该实例必须已经关联了 Active Directory 域和 AWS Identity and Access Management (IAM) 角色。如果您创建新实例，请指定现有的 Active Directory 域和 IAM 角色。有关更多信息，请参阅 [将 Active Directory 用于 RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md)。

### 控制台
<a name="SSRS.Apply.Console"></a>

您可将您的选项组与新的或现有的数据库实例关联：
+ 对于新数据库实例，请在启动实例时关联选项组。有关更多信息，请参阅“[创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)”。
+ 对于现有数据库实例，请修改实例并关联新选项组。有关更多信息，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

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

您可将您的选项组与新的或现有的数据库实例关联。

**创建使用选项组的数据库实例**
+ 指定创建选项组时使用的相同数据库引擎类型和主要版本。  
**Example**  

  对于 Linux、macOS 或 Unix：

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssrsinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 14.00.3223.3.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 ssrs-se-2017
  ```

  对于：Windows

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 14.00.3223.3.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 ssrs-se-2017
  ```

**修改数据库实例以使用选项组**
+ 运行以下命令之一。  
**Example**  

  对于 Linux、macOS 或 Unix：

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssrsinstance \
      --option-group-name ssrs-se-2017 \
      --apply-immediately
  ```

  对于：Windows

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --option-group-name ssrs-se-2017 ^
      --apply-immediately
  ```

## 允许对 VPC 安全组的入站访问
<a name="SSRS.Inbound"></a>

要允许对与您数据库实例关联的 VPC 安全组的入站访问，请为指定的 SSRS 侦听器端口创建入站规则。有关设置安全组的更多信息，请参阅[通过创建安全组提供对 VPC 中的数据库实例的访问](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)。