

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステージの自動ロールバックを設定する
<a name="stage-rollback-auto"></a>

パイプラインのステージは、失敗時に自動的にロールバックするように設定できます。ステージは、失敗すると、最後の成功した実行にロールバックされます。パイプラインは、以前の実行が現在のパイプライン構造バージョンで開始されている場合にのみ、以前の実行にロールバックできます。自動ロールバック設定はパイプライン定義の一部であるため、成功したパイプライン実行がパイプラインステージ内に既に存在する場合にのみ、パイプラインステージが自動ロールバックされます。

## ステージの自動ロールバックを設定する (コンソール）
<a name="stage-rollback-auto-console"></a>

ステージは、指定した以前の成功した実行にロールバックできます。詳細については、「*CodePipeline API ガイド*」の「[RollbackStage](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RollbackStage.html)」を参照してください。

**ステージの自動ロールバックを設定する (コンソール）**

1. にサインイン AWS マネジメントコンソール し、[http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前とステータスが表示されます。

1. **[名前]** で、編集するパイプラインの名前を選択します。

1. パイプライン詳細ページで、[**編集**] を選択します。

1. **[編集]** ページで、編集するアクションに関連する **[ステージを編集する]** を選択します。

1. **[自動ステージ設定]**、**[ステージ障害時の自動ロールバックを設定]** の順に選択します。パイプラインに変更を保存します。  
![\[CodePipeline でロールバックステージを設定する編集画面の例。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/rollback-configure.png)

## ステージの自動ロールバックを設定する (CLI)
<a name="stage-rollback-auto-cli"></a>

を使用して、最後に成功した実行に自動的にロールバックするように失敗したステージ AWS CLI を設定するには、 コマンドを使用して、 [パイプライン、ステージ、アクションを作成する](pipelines-create.md)および で説明されているようにパイプラインを作成または更新します[CodePipeline でパイプラインを編集する](pipelines-edit.md)。
+ ターミナル (Linux、macOS、Unix) またはコマンドプロンプト (Windows) を開きます。次に AWS CLI を使用し、パイプライン構造の失敗条件を指定して `update-pipeline` コマンドを実行します。次の例では、`S3Deploy` という名前のステージの自動ロールバックを設定します。

  ```
  {
                  "name": "S3Deploy",
                  "actions": [
                      {
                          "name": "s3deployaction",
                          "actionTypeId": {
                              "category": "Deploy",
                              "owner": "AWS",
                              "provider": "S3",
                              "version": "1"
                          },
                          "runOrder": 1,
                          "configuration": {
                              "BucketName": "static-website-bucket",
                              "Extract": "false",
                              "ObjectKey": "SampleApp.zip"
                          },
                          "outputArtifacts": [],
                          "inputArtifacts": [
                              {
                                  "name": "SourceArtifact"
                              }
                          ],
                          "region": "us-east-1"
                      }
                  ],
                  "onFailure": {
                      "result": "ROLLBACK"
                  }
              }
  ```

  ステージロールバックの失敗条件の設定の詳細については、「*CodePipeline API リファレンス*」の「[FailureConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)」を参照してください。

## ステージの自動ロールバックを設定する (CloudFormation）
<a name="stage-rollback-auto-cfn"></a>

 CloudFormation を使用して、障害時に自動的にロールバックするようにステージを設定するには、 `OnFailure`パラメータを使用します。失敗すると、ステージは自動的に最新の成功した実行にロールバックされます。

```
OnFailure:
     Result: ROLLBACK
```
+ 次のスニペットに示すように、テンプレートを更新します。次の例では、`Release` という名前のステージの自動ロールバックを設定します。

  ```
  AppPipeline: 
    Type: AWS::CodePipeline::Pipeline 
    Properties: 
      RoleArn:
        Ref: CodePipelineServiceRole 
      Stages: 
        - 
          Name: Source 
          Actions: 
            - 
              Name: SourceAction
              ActionTypeId: 
                Category: Source 
                Owner: AWS 
                Version: 1 
                Provider: S3 
              OutputArtifacts: 
                - 
                  Name: SourceOutput 
              Configuration: 
                S3Bucket: 
                  Ref: SourceS3Bucket 
                S3ObjectKey: 
                  Ref: SourceS3ObjectKey 
              RunOrder: 1  
        - 
          Name: Release 
          Actions: 
            - 
              Name: ReleaseAction
              InputArtifacts: 
                - 
                  Name: SourceOutput 
              ActionTypeId: 
                Category: Deploy 
                Owner: AWS 
                Version: 1
                Provider: CodeDeploy 
              Configuration: 
                ApplicationName: 
                  Ref: ApplicationName
                DeploymentGroupName: 
                  Ref: DeploymentGroupName 
              RunOrder: 1   
         OnFailure:
              Result: ROLLBACK
      ArtifactStore: 
        Type: S3 
        Location:
          Ref: ArtifactStoreS3Location 
        EncryptionKey:
          Id: arn:aws:kms:useast-1:ACCOUNT-ID:key/KEY-ID
          Type: KMS
      DisableInboundStageTransitions: 
        - 
          StageName: Release 
          Reason: "Disabling the transition until integration tests are completed"
      Tags:
        - Key: Project
          Value: ProjectA
        - Key: IsContainerBased
          Value: 'true'
  ```

  ステージロールバックの失敗条件の設定の詳細については、「*CloudFormation ユーザーガイド*」で「`StageDeclaration`」の「[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)」を参照してください。