Étape 1 : Préparation de la demande - AWS Centre de résilience

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 1 : Préparation de la demande

Pour préparer une application, vous devez d'abord créer une application, attribuer une politique de résilience, puis importer les ressources de l'application à partir de vos sources d'entrée. Pour plus d'informations sur les AWS Resilience Hub API utilisées pour préparer une application, consultez les rubriques suivantes :

Création d'une application

Pour créer une nouvelle application dansAWS Resilience Hub, vous devez appeler l'CreateAppAPI et fournir un nom d'application unique. Pour plus d'informations sur cette API, consultez https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateApp.html.

L'exemple suivant montre comment créer une nouvelle application newApp à l'AWS Resilience Hubaide de l'CreateAppAPI.

Demande

aws resiliencehub create-app --name newApp

Réponse

{ "app": { "appArn": "<App_ARN>", "name": "newApp", "creationTime": "2022-10-26T19:48:00.434000+03:00", "status": "Active", "complianceStatus": "NotAssessed", "resiliencyScore": 0.0, "tags": {}, "assessmentSchedule": "Disabled" } }

Création d'une politique de résilience

Après avoir créé l'application, vous devez créer une politique de résilience qui vous permet de comprendre la posture de résilience de votre application à l'aide CreateResiliencyPolicy de l'API. Pour plus d'informations sur cette API, consultez https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateResiliencyPolicy.html.

L'exemple suivant montre comment créer newPolicy pour votre application à l'AWS Resilience Hubaide de l'CreateResiliencyPolicyAPI.

Demande

aws resiliencehub create-resiliency-policy \ --policy-name newPolicy --tier NonCritical \ --policy '{"AZ": {"rtoInSecs": 172800,"rpoInSecs": 86400}, \ "Hardware": {"rtoInSecs": 172800,"rpoInSecs": 86400}, \ "Software": {"rtoInSecs": 172800,"rpoInSecs": 86400}}'

Réponse

{ "policy": { "policyArn": "<Policy_ARN>", "policyName": "newPolicy", "policyDescription": "", "dataLocationConstraint": "AnyLocation", "tier": "NonCritical", "estimatedCostTier": "L1", "policy": { "AZ": { "rtoInSecs": 172800, "rpoInSecs": 86400 }, "Hardware": { "rtoInSecs": 172800, "rpoInSecs": 86400 }, "Software": { "rtoInSecs": 172800, "rpoInSecs": 86400 } }, "creationTime": "2022-10-26T20:48:05.946000+03:00", "tags": {} } }

Importation de ressources depuis une source d'entrée et surveillance de l'état de l'importation

AWS Resilience Hubfournit les API suivantes pour importer des ressources dans votre application :

L'exemple suivant montre comment importer des ressources dans votre application à l'AWS Resilience Hubaide de l'ImportResourcesToDraftAppVersionAPI.

Demande

aws resiliencehub import-resources-to-draft-app-version \ --app-arn <App_ARN> \ --terraform-sources '[{"s3StateFileUrl": <S3_URI>}]'

Réponse

{ "appArn": "<App_ARN>", "appVersion": "draft", "sourceArns": [], "status": "Pending", "terraformSources": [ { "s3StateFileUrl": <S3_URI> } ] }

L'exemple suivant montre comment ajouter manuellement des ressources à votre application à l'AWS Resilience Hubaide de l'CreateAppVersionResourceAPI.

Demande

aws resiliencehub create-app-version-resource \ --app-arn <App_ARN> \ --resource-name "backup-efs" \ --logical-resource-id '{"identifier": "backup-efs"}' \ --physical-resource-id '<Physical_resource_id_ARN>' \ --resource-type AWS::EFS::FileSystem \ --app-components '["new-app-component"]'

Réponse

{ "appArn": "<App_ARN>", "appVersion": "draft", "physicalResource": { "resourceName": "backup-efs", "logicalResourceId": { "identifier": "backup-efs" }, "physicalResourceId": { "identifier": "<Physical_resource_id_ARN>", "type": "Arn" }, "resourceType": "AWS::EFS::FileSystem", "appComponents": [ { "name": "new-app-component", "type": "AWS::ResilienceHub::StorageAppComponent", "id": "new-app-component" } ] } }

L'exemple suivant montre comment surveiller le statut d'importation de vos ressources à AWS Resilience Hub l'aide de l'DescribeDraftAppVersionResourcesImportStatusAPI.

Demande

aws resiliencehub describe-draft-app-version-resources-import-status \ --app-arn <App_ARN>

Réponse

{ "appArn": "<App_ARN>", "appVersion": "draft", "status": "Success", "statusChangeTime": "2022-10-26T19:55:18.471000+03:00" }

Publication de la version préliminaire de votre application et attribution d'une politique de résilience

Avant d'exécuter une évaluation, vous devez d'abord publier le brouillon de votre application et attribuer une politique de résilience à la version publiée de votre application.

Pour publier le brouillon de votre application et attribuer une politique de résilience
  1. Pour publier le brouillon de votre application, utilisez l'PublishAppVersionAPI. Pour plus d'informations sur cette API, consultez https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_PublishAppVersion.html.

    L'exemple suivant montre comment publier le brouillon de l'application à l'AWS Resilience Hubaide de l'PublishAppVersionAPI.

    Demande

    aws resiliencehub publish-app-version \ --app-arn <App_ARN>
    Réponse

    { "appArn": "<App_ARN>", "appVersion": "release" }
  2. Appliquez une politique de résilience à la version publiée de votre application à l'aide de l'UpdateAppAPI. Pour plus d'informations sur cette API, consultez https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateApp.html.

    L'exemple suivant montre comment appliquer une politique de résilience à la version publiée d'une application en AWS Resilience Hub utilisant l'UpdateAppAPI.

    Demande

    aws resiliencehub update-app \ --app-arn <App_ARN> \ --policy-arn <Policy_ARN>
    Réponse

    { "app": { "appArn": "<App_ARN>", "name": "newApp", "policyArn": "<Policy_ARN>", "creationTime": "2022-10-26T19:48:00.434000+03:00", "status": "Active", "complianceStatus": "NotAssessed", "resiliencyScore": 0.0, "tags": { "resourceArn": "<App_ARN>" }, "assessmentSchedule": "Disabled" } }