

# 管理 Amazon Aurora Global Database
<a name="aurora-global-database-managing"></a>

您可对构成 Aurora 全球数据库的各个集群执行大多数的管理操作。当您在控制台中 **Databases**（数据库）页面上选择 **Group related resources**（对相关资源分组）时，您可以看到主集群和辅助集群分组到关联的全局数据库之下。要查找全局数据库集群正在运行的 AWS 区域、Aurora 数据库引擎和版本以及标识符，请使用 **Configuration**（配置）选项卡。

 跨区域数据库失效转移过程仅适用于 Aurora 全球数据库，而不适用于单个 Aurora 数据库集群。要了解更多信息，请参阅“[在 Amazon Aurora Global Database 中使用切换或失效转移](aurora-global-database-disaster-recovery.md)”。

 要从主区域的计划外停机中恢复 Aurora 全局数据库，请参阅 [从计划外停机中恢复 Amazon Aurora Global Database](aurora-global-database-disaster-recovery.md#aurora-global-database-failover)。

**Topics**
+ [修改 Amazon Aurora Global Database](aurora-global-database-modifying.md)
+ [修改 Aurora 全局数据库的参数](aurora-global-database-modifying.parameters.md)
+ [从 Amazon Aurora Global Database 删除集群](aurora-global-database-detaching.md)
+ [删除 Amazon Aurora Global Database](aurora-global-database-deleting.md)
+ [标记 Amazon Aurora Global Database 资源](aurora-global-database-tagging.md)

# 修改 Amazon Aurora Global Database
<a name="aurora-global-database-modifying"></a>

AWS 管理控制台中的 **Databases (数据库)** 页面列出您所有的 Aurora Global Database，同时显示每个全局数据库的主集群和辅助集群。Aurora 全局数据库有自己的配置设置。具体来说，它具有与其主集群和辅助集群关联的 AWS 区域，如以下屏幕截图所示。

![\[显示AWS 管理控制台中的所选 Aurora Global Database 及其配置设置的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-global-database-configuration.png)


当您对 Aurora 全局数据库进行更改时，您有机会取消更改，如以下屏幕截图中所示。

![\[屏幕截图显示 Aurora 全局数据库的修改设置页面。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-databases-modify-global-01.png)


选择 **Continue** (继续) 时，即表示您确认更改。

# 修改 Aurora 全局数据库的参数
<a name="aurora-global-database-modifying.parameters"></a>

您可以为 Aurora 全局数据库中的每个 Aurora 集群独立配置 Aurora 数据库集群参数组。大多数参数的工作方式与其他类型的 Aurora 集群相同。我们建议您在全局数据库中使所有集群之间的设置保持一致。在将辅助集群提升为主集群时，此操作有助于避免意外的行为变化。

例如，对于时区和字符集使用相同设置，可避免在不同集群作为主集群时出现不一致的行为。

`aurora_enable_repl_bin_log_filtering` 和 `aurora_enable_replica_log_compression` 配置设置没有效果。

# 从 Amazon Aurora Global Database 删除集群
<a name="aurora-global-database-detaching"></a>

出于多种不同原因，您可以从 Aurora 全局数据库中删除 Aurora 数据库集群。例如，如果主集群被降级或隔离，您可能希望从 Aurora 全局数据库中删除 Aurora 数据库集群。然后，它将成为独立的预置 Aurora 数据库集群，可用于创建新的 Aurora 全局数据库。要了解更多信息，请参阅“[从计划外停机中恢复 Amazon Aurora Global Database](aurora-global-database-disaster-recovery.md#aurora-global-database-failover)”。

您也可能会想要删除 Aurora 数据库集群，因为您想要删除不再需要的 Aurora 全局数据库。在删除（分离）所有关联的 Aurora 数据库集群以后，您才能删除 Aurora 全局数据库，仅保留主数据库。有关更多信息，请参阅“[删除 Amazon Aurora Global Database](aurora-global-database-deleting.md)”。

当 Aurora 数据库集群从 Aurora 全局数据库中分离时，它将不再与主数据库同步。它将成为一个拥有完全读/写功能的独立预置 Aurora 数据库集群。

您可以使用AWS 管理控制台、AWS CLI 或 RDS API 从 Aurora Global Database 中删除 Aurora 数据库集群。

## 控制台
<a name="aurora-global-database-detach.console"></a>

**从 Aurora 全局数据库删除 Aurora 集群**

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

1. 在 **Databases (数据库)** 页面上选择集群。

1. 对于 **Actions (操作)**，选择 **Remove from Global (从全局数据库移除)**。  
![\[显示选择了 Aurora 数据库集群（辅助）和 Remove from global (从全局删除) 操作的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-detach-secondary-01.png)

   将会出现一个提示，要求确认您要将辅助集群从 Aurora 全局数据库中分离。  
![\[屏幕截图显示从 Aurora 全局数据库中移除辅助集群的确认提示。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-detach-secondary-02.png)

1. 选择 **Remove and promote** (删除并提升) 以从全局数据库中删除集群。

Aurora 数据库集群不再作为 Aurora 全局数据库中的辅助集群，也不再与主数据库集群同步。它是一个拥有完全读/写功能的独立 Aurora 数据库集群。

![\[屏幕截图显示从 Aurora 全局数据库中移除辅助集群的确认提示。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-detach-secondary-03.png)


在移除或删除所有辅助集群后，您可以按同样方式移除主集群。在删除全部辅助集群之前，您无法将主 Aurora 数据库集群从 Aurora 全局数据库中分离（删除）。

Aurora 全局数据库可能保留在**数据库**列表中，其中有零个区域和可用区。如果不想再使用此 Aurora 全局数据库，则可以删除。有关更多信息，请参阅“[删除 Amazon Aurora Global Database](aurora-global-database-deleting.md)”。

## AWS CLI
<a name="aurora-global-database-detach.cli"></a>

 要从 Aurora 全局数据库删除 Aurora 集群，请使用以下参数运行 [remove-from-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-from-global-cluster.html) CLI 命令：
+ `--global-cluster-identifier` – Aurora 全局数据库的名称（标识符）。
+ `--db-cluster-identifier` – 要从 Aurora 全局数据库删除的每个 Aurora 数据库集群的名称。删除主数据库集群之前，先删除所有 Aurora 辅助数据库集群。

 以下示例先从 Aurora 全局数据库中移除辅助集群，然后移除主集群。

对于 Linux、macOS 或 Unix：

```
aws rds --region secondary_region \
  remove-from-global-cluster \
    --db-cluster-identifier secondary_cluster_ARN \
    --global-cluster-identifier global_database_id

aws rds --region primary_region \
  remove-from-global-cluster \
    --db-cluster-identifier primary_cluster_ARN \
    --global-cluster-identifier global_database_id
```

 对 Aurora Global Database 中的每个辅助 AWS 区域 重复 `remove-from-global-cluster --db-cluster-identifier secondary_cluster_ARN ` 命令。

对于 Windows：

```
aws rds --region secondary_region ^
  remove-from-global-cluster ^
    --db-cluster-identifier secondary_cluster_ARN ^
    --global-cluster-identifier global_database_id

aws rds --region primary_region ^
  remove-from-global-cluster ^
    --db-cluster-identifier primary_cluster_ARN ^
    --global-cluster-identifier global_database_id
```

 对 Aurora Global Database 中的每个辅助 `remove-from-global-cluster --db-cluster-identifier secondary_cluster_ARN` 重复 AWS 区域 命令。

## RDS API
<a name="aurora-global-database-detach.api"></a>

 要使用 RDS API 从 Aurora 全局数据库移除 Aurora 集群，请运行 [RemoveFromGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveFromGlobalCluster.html) 操作。

# 删除 Amazon Aurora Global Database
<a name="aurora-global-database-deleting"></a>

 由于 Aurora 全局数据库通常容纳业务关键型数据，因此您不能一步删除全局数据库及其关联集群。要删除 Aurora 全局数据库，请执行以下操作：
+ 从 Aurora 全局数据库删除所有辅助数据库集群。每个集群都会变成独立的 Aurora 数据库集群。要了解如何操作，请参阅[从 Amazon Aurora Global Database 删除集群](aurora-global-database-detaching.md)。
+ 从每个独立 Aurora 数据库集群中删除所有 Aurora 副本。
+ 从 Aurora 全局数据库删除主数据库集群。这将成为独立的 Aurora 数据库集群。
+ 从 Aurora 主数据库集群中，首先删除所有 Aurora 副本，然后删除写入器数据库实例。

 从新近独立的 Aurora 数据库集群中删除写入器实例通常还会删除 Aurora 数据库集群和 Aurora 全局数据库。

 有关更多一般信息，请参阅 [从 Aurora 数据库集群中删除数据库实例](USER_DeleteCluster.md#USER_DeleteInstance)。

 要删除 Aurora Global Database，您可以使用AWS 管理控制台、AWS CLI 或 RDS API。

## 控制台
<a name="aurora-global-database-deleting.console"></a>

**删除 Aurora 全局数据库**

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

1. 选择 **Databases** (数据库)，然后在列表中找到要删除的 Aurora 全局数据库。

1. 确认所有集群从 Aurora 全局数据库中移除。Aurora 全局数据库应显示 0 个区域和可用区且集群的大小为 0。

   如果 Aurora 全局数据库包含任何 Aurora 数据库集群，则无法将其删除。如有必要，请从 Aurora 全局数据库分离主和辅助 Aurora 数据库集群。有关更多信息，请参阅“[从 Amazon Aurora Global Database 删除集群](aurora-global-database-detaching.md)”。

1. 在列表中选择 Aurora 全球数据库，然后从**操作**菜单中选择**删除**。  
![\[即使没有任何关联的 Aurora 数据库集群，基于 Aurora MySQL 5.6.10a 的 Aurora Global Database 仍将保留在AWS 管理控制台中，直到您将其删除为止。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-ams5610a-delete-empty-cluster.png)

## AWS CLI
<a name="aurora-global-database-deleting.cli"></a>

要删除 Aurora Global Database，请使用 AWS 区域 的名称和 Aurora Global Database 标识符运行 [delete-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-global-cluster.html) CLI 命令，如下例中所示。

对于 Linux、macOS 或 Unix：

```
aws rds --region primary_region delete-global-cluster \
   --global-cluster-identifier global_database_id
```

对于 Windows：

```
aws rds --region primary_region delete-global-cluster ^
   --global-cluster-identifier global_database_id
```

## RDS API
<a name="aurora-global-database-deleting.api"></a>

要删除作为 Aurora 全局数据库一部分的集群，请运行 [DeleteGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteGlobalCluster.html) API 操作。

# 标记 Amazon Aurora Global Database 资源
<a name="aurora-global-database-tagging"></a>

 借助 Aurora Global Database 特征，您可以将 RDS 标签应用于全局数据库中不同级别的资源。如果您不熟悉如何对 AWS 或 Aurora 资源使用标签，请在全局数据库中应用标签之前先参阅[为 Amazon Aurora 和Amazon RDS 资源添加标签](USER_Tagging.md)。

**注意**  
 由于 AWS 处理标签数据是其成本报告机制的一部分，因此不要在标签名称或值中包含任何敏感数据或个人身份信息（PII）。

 您可以将标签应用于全局数据库中的以下类型的资源：
+  整个全局数据库的容器对象。此资源称为全局集群。

   在控制台中执行**添加 AWS 区域**操作创建全局集群后，您可以使用该全局集群的详细信息页面添加标签。在全局集群详细信息页面的**标签**选项卡上，您可以通过选择**管理标签**来添加、删除或修改标签及其关联值。

   使用 AWS CLI 和 RDS API，您可以在创建全局集群的同时向其添加标签。您还可以添加、删除或修改现有全局集群的标签。
+  主集群。此处使用与独立 Aurora 集群相同的步骤来处理标签。您可以在将原始 Aurora 集群转换为全局数据库之前设置标签。您也可以通过在数据库集群详细信息页面的**标签**选项卡上，选择**管理标签**来添加、删除或修改标签及其关联值。
+  任何辅助集群。此处使用与独立 Aurora 集群相同的步骤来处理标签。您可以通过使用控制台中的**添加 AWS 区域**操作，在创建辅助 Aurora 集群的同时设置标签。您也可以通过在数据库集群详细信息页面的**标签**选项卡上，选择**管理标签**来添加、删除或修改标签及其关联值。
+  主集群或辅助集群中的各个数据库实例。此处使用与 Aurora or RDS 数据库实例相同的步骤来处理标签。您可以通过使用控制台中的**添加读取器**操作，在向 Aurora 集群添加新数据库实例的同时设置标签。您也可以通过在数据库实例详细信息页面的**标签**选项卡上，选择**管理标签**来添加、删除或修改标签及其关联值。

 以下是您可能在全局数据库中分配的标签类型的一些示例：
+  您可能会向全局集群添加标签以记录有关应用程序的总体信息，例如代表组织内所有者和联系人的匿名标识符。您可能会使用标签来表示使用全局数据库的应用程序的属性。
+  您可能会向主集群和辅助集群添加标签，以便在 AWS 区域级别跟踪应用程序的成本。有关该过程的详细信息，请参阅[如何将 AWS 账单与 Amazon RDS 中的标签结合使用](USER_Tagging.md#Tagging.Billing)。
+  您可能会向具有 Aurora 集群的特定数据库实例添加标签，以指明其特殊用途。例如，在主集群中，您可能有一个失效转移优先级较低的读取器实例，该实例专门用于报告生成。标签可以将此特殊用途的数据库实例与主集群中专用于实现高可用性的其他实例区分开来。
+  您可以在全局数据库资源的各个级别上使用标签，通过 IAM 策略来控制访问权限。有关更多信息，请参阅《AWS Identity and Access Management 用户指南**》中的[控制对 AWS 资源的访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)。
**提示**  
 在 AWS 管理控制台中，创建全局集群容器后，您可以在单独的步骤中向该容器添加标签。如果希望在没有访问控制标签的全局集群存在时避免任何时间间隔，则可以在 `CreateGlobalCluster` 操作期间通过 AWS CLI、RDS API 或 CloudFormation 模板创建该资源来应用这些标签。
+  您可能会在集群级别或对全局集群使用标签，以记录有关应用程序质量保证和测试的信息。例如，您可能会在数据库集群上指定一个标签，以记录您上次切换到该集群的时间。您可能会在全局集群上指定一个标签，以记录整个应用程序上次灾难恢复演练的时间。

## 全局数据库标记的 AWS CLI 示例
<a name="aurora-global-database-tagging-cli-examples"></a>

 以下 AWS CLI 示例说明如何为全局数据库中所有类型的 Aurora 资源指定和检查标签。

 您可以使用 `create-global-cluster` 命令为全局集群容器指定标签。以下示例创建一个全局集群并为其分配两个标签。这些标签带有键 `tag1` 和 `tag2`。

```
$  aws rds create-global-cluster --global-cluster-identifier my_global_cluster_id \
  --engine aurora-mysql --tags Key=tag1,Value=val1 Key=tag2,Value=val2
```

 您可以使用 `describe-global-clusters` 命令在全局集群容器上列出标签。使用标签时，您通常会先运行该命令，以检索全局集群的 Amazon 资源名称（ARN）。在后续命令中，您将使用 ARN 作为参数来处理标签。以下命令显示 `TagList` 属性中的标签信息。它还显示 ARN，该 ARN 在后面的示例中将用作参数。

```
$  aws rds describe-global-clusters --global-cluster-identifier my_global_cluster_id
{
    "GlobalClusters": [
        {
            "Status": "available",
            "Engine": "aurora-mysql",
            "GlobalClusterArn": "my_global_cluster_arn",
            ...
            "TagList": [
                {
                    "Value": "val1",
                    "Key": "tag1"
                },
                {
                    "Value": "val2",
                    "Key": "tag2"
                }
            ]
        }
    ]
}
```

 您可以使用 `add-tags-to-resource` 命令添加新标签。使用该命令，您可以指定全局集群的 Amazon 资源名称（ARN），而不是集群标识符。添加与现有标签具有相同名称的标签会覆盖标签值。如果您在标签值中包含空格或特殊字符，请根据操作系统或命令 shell 引用相应的值。以下示例修改上一个示例中的全局集群的标签。最初，集群的标签带有键 `tag1` 和 `tag2`。命令完成后，全局集群会有一个带有键 `tag3` 的新标签，而带有键 `tag1` 的标签具有不同的值。

```
$  aws rds add-tags-to-resource --resource-name my_global_cluster_arn \
  --tags Key=tag1,Value="new value for tag1" Key=tag3,Value="entirely new tag"

$  aws rds describe-global-clusters --global-cluster-identifier my_global_cluster_id
{
    "GlobalClusters": [
        {
            "Status": "available",
            "Engine": "aurora-mysql",
            ...
            "TagList": [
                {
                    "Value": "new value for tag1",
                    "Key": "tag1"
                },
                {
                    "Value": "val2",
                    "Key": "tag2"
                },
                {
                    "Value": "entirely new tag",
                    "Key": "tag3"
                }
            ]
        }
    ]
}
```

 您可以使用 `remove-tags-from-resource` 命令从全局集群中删除标签。使用该命令，您只需指定一组标签键，而无需指定任何标签值。以下示例修改上一个示例中的全局集群的标签。最初，集群的标签带有键 `tag1`、`tag2` 和 `tag3`。命令完成后，只剩下带有键 `tag1` 的标签。

```
$  aws rds remove-tags-from-resource --resource-name my_global_cluster_arn --tag-keys tag2 tag3

$  aws rds describe-global-clusters --global-cluster-identifier my_global_cluster_id
{
    "GlobalClusters": [
        {
            "Status": "available",
            "Engine": "aurora-mysql",
            ...
            "TagList": [
                {
                    "Value": "new value for tag1",
                    "Key": "tag1"
                }
            ]
        }
    ]
}
```