

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 使用 ARC 整備檢查 API 操作的範例 AWS CLI
<a name="getting-started-cli-readiness"></a>

**注意**  
自 2026 年 4 月 30 日起，Amazon Application Recovery Controller (ARC) 中的整備檢查功能將不再開放給新客戶使用。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱 [Amazon Application Recovery Controller (ARC) 整備檢查可用性變更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本節會逐步解說簡單的應用程式範例，使用 AWS Command Line Interface 來使用 API 操作在 Amazon Application Recovery Controller (ARC) 中使用整備檢查功能。這些範例旨在協助您了解如何使用 CLI 使用整備檢查功能。

對應用程式複本中資源的不相符進行 ARC 稽核中的準備度檢查。若要設定應用程式的整備檢查，您必須在 ARC *儲存格*中設定或建模您的應用程式資源，以符合您為應用程式建立的複本。然後，您可以設定準備度檢查來稽核這些複本，以協助您確保待命應用程式複本及其資源持續符合您的生產複本

讓我們來看一個簡單的案例，其中您有一個名為 的應用程式目前在美國東部 （維吉尼亞北部） 區域 Simple-Service (us-east-1) 執行。您也可以在美國西部 （奧勒岡） 區域 (us-west-2) 取得應用程式的待命副本。在此範例中，我們將設定準備度檢查來比較這兩個版本的應用程式。這可讓我們確保待命美國西部 （奧勒岡） 區域準備好在容錯移轉案例中需要 時接收流量。

如需使用 的詳細資訊 AWS CLI，請參閱 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/route53-recovery-readiness/index.html)。如需整備 API 動作和詳細資訊連結的清單，請參閱 [準備檢查 API 操作](actions.readiness.md)。

ARC 中的*儲存格*代表故障界限 （例如可用區域或區域），並收集到*復原群組*中。復原群組代表您要檢查容錯移轉準備狀態的應用程式。如需整備檢查元件的詳細資訊，請參閱 [準備度檢查元件](introduction-components-readiness.md)。

**注意**  
ARC 是一種全域服務，支援多個端點， AWS 區域 但您必須在大多數 ARC CLI 命令中指定美國西部 （奧勒岡） 區域 （即指定 參數 `--region us-west-2`)。例如，建立資源，例如復原群組或整備檢查。

在我們的應用程式範例中，我們將從為每個擁有資源的區域建立一個儲存格開始。然後，我們將建立復原群組，然後完成準備度檢查的設定。

## 1. 建立儲存格
<a name="getting-started-cli-readiness.cell"></a>

1a. 建立 us-east-1 儲存格。

```
aws route53-recovery-readiness --region us-west-2 create-cell \
				--cell-name east-cell
```

```
{
    "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
    "CellName": "east-cell",
    "Cells": [],
    "ParentReadinessScopes": [],
    "Tags": {}
}
```

1b. 建立 us-west-1 儲存格。

```
aws route53-recovery-readiness --region us-west-2 create-cell \
				--cell-name west-cell
```

```
{
    "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell",
    "CellName": "west-cell",
    "Cells": [],
    "ParentReadinessScopes": [],
    "Tags": {}
}
```

1c. 現在我們有兩個儲存格。您可以呼叫 `list-cells` API 來驗證它們是否存在。

```
aws route53-recovery-readiness --region us-west-2 list-cells
```

```
{
    "Cells": [
        {
            "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
            "CellName": "east-cell",
            "Cells": [],
            "ParentReadinessScopes": [],
            "Tags": {}
        },
        {
            "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell",
            "CellName": "west-cell"
            "Cells": [],
            "ParentReadinessScopes": [],
            "Tags": {}
        }
    ]
}
```

## 2. 建立復原群組
<a name="getting-started-cli-readiness.recovery"></a>

復原群組是 ARC 中復原準備的最上層資源。復原群組代表應用程式整體。在此步驟中，我們將建立復原群組來建立整體應用程式的模型，然後新增我們建立的兩個儲存格。

2a. 建立復原群組。

```
aws route53-recovery-readiness --region us-west-2 create-recovery-group \
				--recovery-group-name simple-service-recovery-group \
			    --cells "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"\
			    "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
```

```
{
    "Cells": [],
    "RecoveryGroupArn": "arn:aws:route53-recovery-readiness::111122223333:recovery-group/simple-service-recovery-group",
    "RecoveryGroupName": "simple-service-recovery-group",
    "Tags": {}
}
```

2b. （選用） 您可以呼叫 `list-recovery-groups `API 來驗證您的復原群組是否已正確建立。

```
aws route53-recovery-readiness --region us-west-2 list-recovery-groups
```

```
{
    "RecoveryGroups": [
        {
            "Cells": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
                "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
            ],
            "RecoveryGroupArn": "arn:aws:route53-recovery-readiness::111122223333:recovery-group/simple-service-recovery-group",
            "RecoveryGroupName": "simple-service-recovery-group",
            "Tags": {}
        }
    ]
}
```

現在我們的應用程式已有模型，讓我們新增要監控的資源。在 ARC 中，您要監控的一組資源稱為資源集。資源集包含所有相同類型的資源。我們將資源集中的資源相互比較，以協助判斷儲存格的容錯移轉準備程度。

## 3. 建立資源集
<a name="getting-started-cli-readiness.resource"></a>

假設我們的Simple-Service應用程式確實非常簡單，且僅使用 DynamoDB 資料表。它在 us-east-1 中有 DynamoDB 資料表，在 us-west-2 中有另一個資料表。資源集也包含整備範圍，可識別每個資源包含在其中的儲存格。

3a. 建立反映Simple-Service應用程式資源的資源集。

```
aws route53-recovery-readiness --region us-west-2 create-resource-set \
				--resource-set-name ImportantInformationTables \
				--resource-set-type AWS::DynamoDB::Table \
				--resources
				ResourceArn="arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2",ReadinessScopes="arn:aws:route53-recovery-readiness::111122223333:cell/west-cell" 
				ResourceArn="arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1",ReadinessScopes="arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
```

```
{
    "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/sample-resource-set",
    "ResourceSetName": "ImportantInformationTables",
    "Resources": [
        {
            "ReadinessScopes": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
            ],
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
        },
        {
            "ReadinessScopes": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
            ],
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
        }
    ],
    "Tags": {}
}
```

3b. （選用） 您可以呼叫 `list-resource-sets` API 來驗證資源集中包含的內容。這會列出 AWS 帳戶的所有資源集。在這裡，您可以看到我們只有上面建立的一個資源集。

```
aws route53-recovery-readiness --region us-west-2 list-resource-sets
```

```
{
    "ResourceSets": [
        {
            "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/ImportantInformationTables",
            "ResourceSetName": "ImportantInformationTables",
            "Resources": [
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
                },
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
                }
            ],
            "Tags": {}
        }
    ]
}{
    "ResourceSets": [
        {
            "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/ImportantInformationTables",
            "ResourceSetName": "ImportantInformationTables",
            "Resources": [
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
                },
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::&ExampleAWSAccountNo1;:cell/east-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
                }
            ],
            "Tags": {}
        }
    ]
}
```

現在，我們已建立儲存格、復原群組和資源集，以在 ARC 中建立Simple-Service應用程式模型。接下來，我們將設定準備程度檢查，以監控資源是否準備好容錯移轉。

## 4. 建立整備檢查
<a name="getting-started-cli-readiness.check"></a>

整備檢查會將一組規則套用至附加至檢查的資源集中的每個資源。規則專屬於每個資源類型。也就是說，`AWS::DynamoDB::Table`、 `AWS::EC2::Instance`等有不同的規則。規則會檢查資源的各種維度，包括組態、容量 （如果可用且適用）、限制 （如果可用且適用） 和路由組態。

**注意**  
若要查看套用至整備檢查中資源的規則，您可以使用 `get-readiness-check-resource-status` API，如步驟 5 所述。若要查看 ARC 中所有整備規則的清單，請使用 `list-rules`或參閱 [ARC 中的就緒規則描述](recovery-readiness.rules-resources.md)。ARC 有一組特定的規則，其會針對每個資源類型執行；目前這些規則無法自訂。

4a. 建立資源集的整備檢查 ImportantInformationTables。

```
aws route53-recovery-readiness --region us-west-2 create-readiness-check \
				--readiness-check-name ImportantInformationTableCheck --resource-set-name ImportantInformationTables
```

```
{
    "ReadinessCheckArn": "arn:aws:route53-recovery-readiness::111122223333:readiness-check/ImportantInformationTableCheck",
    "ReadinessCheckName": "ImportantInformationTableCheck",
    "ResourceSet": "ImportantInformationTables",
    "Tags": {}
}
```

4b. （選用） 若要驗證是否已成功建立整備檢查，請執行 `list-readiness-checks` API。此 API 會顯示 帳戶中的所有準備度檢查。

```
aws route53-recovery-readiness --region us-west-2 list-readiness-checks
```

```
{
    "ReadinessChecks": [
        {
            "ReadinessCheckArn": "arn:aws:route53-recovery-readiness::111122223333:readiness-check/ImportantInformationTableCheck",
            "ReadinessCheckName": "ImportantInformationTableCheck",
            "ResourceSet": "ImportantInformationTables",
            "Tags": {}
        }
    ]
}
```

## 5. 監控準備度檢查
<a name="getting-started-cli-readiness.monitor"></a>

現在我們已將應用程式建模並新增準備度檢查，我們已準備好監控資源。您可以在四個層級建立應用程式的準備度模型：準備度檢查層級 （一組資源）、個別資源層級、儲存格層級 （可用區域或區域中的所有資源），以及復原群組層級 （應用程式整體）。以下提供取得每種準備狀態的命令。

5a. 查看整備檢查的狀態。

```
aws route53-recovery-readiness --region us-west-2 get-readiness-check-status\
				--readiness-check-name ImportantInformationTableCheck
```

```
{
    "Readiness": "READY",
    "Resources": [
        {
            "LastCheckedTimestamp": "2021-01-07T00:53:39Z",
            "Readiness": "READY",
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:53:39Z",
            "Readiness": "READY",
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast2"
    ]
}
```

5b. 在整備檢查中查看單一資源的詳細整備狀態，包括每個已檢查規則的狀態。

```
aws route53-recovery-readiness --region us-west-2 get-readiness-check-resource-status \
				--readiness-check-name ImportantInformationTableCheck \ 
				--resource-identifier "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
```

```
{"Readiness": "READY",
    "Rules": [
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoTableStatus"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoCapacity"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoPeakRcuWcu"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsPeakRcuWcu"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsConfig"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsStatus"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsCapacity"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoReplicationLatency"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoAutoScalingConfiguration"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoLimits"
        }
    ]
}
```

5c. 請參閱儲存格的整體準備程度。

```
aws route53-recovery-readiness --region us-west-2 get-cell-readiness-summary \
				--cell-name west-cell
```

```
{
    "Readiness": "READY",
    "ReadinessChecks": [
        {
            "Readiness": "READY",
            "ReadinessCheckName": "ImportantTableCheck"
        }
    ]
}
```

5d. 最後，在復原群組層級查看應用程式的頂層整備。

```
aws route53-recovery-readiness --region us-west-2 get-recovery-group-readiness-summary \
				--recovery-group-name simple-service-recovery-group
```

```
{
    "Readiness": "READY",
    "ReadinessChecks": [
        {
            "Readiness": "READY",
            "ReadinessCheckName": "ImportantTableCheck"
        }
    ]
}
```