

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

# 別の AWS アカウントのリソースを使用するパイプラインを CodePipeline に作成する
<a name="pipelines-create-cross-account"></a>

他の AWS アカウントによって作成し、管理されるリソースを使用するパイプラインを作成します。例えば、一つのアカウントにパイプラインを、別のアカウントに CodeDeploy リソースを使用します。

**注記**  
複数のアカウントからのアクションを使用してパイプラインを作成する場合は、クロスアカウントパイプラインの制限内で、それらが引き続き案件にアクセスできるようにアクションを構成する必要があります。クロスアカウントのアクションには、以下の制限が適用されます。  
一般的に、アクションは次の場合にのみ、アーティファクトを消費できます。  
アーティファクトがパイプラインアカウントと同じアカウントにある
アーティファクトが別のアカウントのアクションに対してパイプラインアカウントで作成されている 
アーティファクトが、アクションと同じアカウントで前のアクションによって生成されている
つまり、どちらのアカウントもパイプラインアカウントでない場合は、あるアカウントから別のアカウントにアーティファクトを渡すことはできません。
以下のアクションタイプでは、クロスアカウントアクションはサポートされていません。  
Jenkins ビルドアクション

この例では、使用する AWS Key Management Service (AWS KMS) キーを作成し、パイプラインにキーを追加し、クロスアカウントアクセスを有効にするようにアカウントポリシーとロールを設定する必要があります。 AWS KMS キーの場合、キー ID、キー ARN、またはエイリアス ARN を使用できます。

**注記**  
エイリアスは、カスタマーマスターキー (KMS) を作成したアカウントでのみ認識されます。クロスアカウントアクションの場合、キー ID またはキー ARN のみを使用してキーを識別できます。クロスアカウントアクションには他のアカウント (AccountB) のロールを使用するため、キー ID を指定すると他のアカウント (AccountB) のキーが使用されます。

このウォークスルーおよびサンプルでは、{{AccountA}}は、パイプラインの作成に使用したアカウントです。パイプラインアーティファクトの保存に使用される Amazon S3 バケットと、 が使用するサービスロールにアクセスできます AWS CodePipeline。{{AccountB}} は、CodeDeploy アプリケーション、デプロイグループ、および CodeDeploy によって使用されるサービスロールを作成するために使用したアカウントです。

{{AccountA}} でパイプラインを編集して、{{AccountB}} で作成した CodeDeploy アプリケーションを使用するには、{{AccountA}} を以下のようにします。
+ {{AccountB}} の ARN またはアカウント ID をリクエストします (このウォークスルーで、{{AccountB}} ID は{{012ID\_ACCOUNT\_B}})。
+ パイプラインの リージョンで AWS KMS カスタマーマネージドキーを作成または使用し、そのキーを使用するアクセス許可をサービスロール ({{CodePipeline\_Service\_Role}}) と {{AccountB}} に付与します。
+ {{AccountB}} に許可する Amazon S3 バケットポリシーを作成し、Amazon S3 バケットへのアクセス (例えば、{{ codepipeline-us-east-2-1234567890}})。
+ {{AccountA}} に許可されたポリシーが {{AccountB}} によって設定されているロールを前提に、そのポリシーをサービスロール ({{ CodePipeline\_Service\_Role}}) にアタッチします。
+ パイプラインを編集して、デフォルト AWS KMS キーの代わりにカスタマーマネージドキーを使用します。

{{AccountB}} のリソースが、{{AccountA}} で作成されているパイプラインにアクセスできるようにするには、{{AccountB}} は以下のように行います。
+ {{AccountA}} の ARN またはアカウント ID をリクエストします (このウォークスルーで、{{AccountA}} ID は {{012ID\_ACCOUNT\_A}})。
+ に適用するポリシーを作成します。[Amazon EC2 インスタンスロール](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html) Amazon S3 バケットへのアクセスを許可する CodeDeploy ({{codepipeline-us-east-2-1234567890}})。
+ CodeDeploy 用に設定された [Amazon EC2 インスタンスロール](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html)に適用されるポリシーを作成し、{{AccountA}} のパイプラインアーティファクトの暗号化に使用される AWS KMS カスタマーマネージドキーへのアクセスを許可します。
+ IAM ロール ({{CrossAccount\_Role}}) を設定して信頼関係ポリシーにアタッチし、{{AccountA}} の CodePipeline サービスロールがロールを引き受けることを許可します。
+ パイプラインで必要なデプロイリソースにアクセスできるようにするポリシーを作成し、{{CrossAccount\_Role}} にアタッチします。
+ Amazon S3 バケット ({{ codepipeline-us-east-2-1234567890}}) にアクセスできるようにするポリシーを作成し、それを {{CrossAccount\_Role}}にアタッチします。

**Topics**
+ [前提条件: AWS KMS 暗号化キーを作成する](#pipelines-create-cross-account-create-key)
+ [ステップ 1: アカウントポリシーおよびロールをセットアップする](#pipelines-create-cross-account-setup)
+ [ステップ 2: パイプラインを編集する](#pipelines-create-cross-account-create)

## 前提条件: AWS KMS 暗号化キーを作成する
<a name="pipelines-create-cross-account-create-key"></a>

カスタマーマネージドキーは、すべての AWS KMS キーと同様に、リージョンに固有です。パイプラインが作成されたリージョンと同じリージョン ( など) にカスタマーマネージド AWS KMS キーを作成する必要があります`us-east-2`。

**でカスタマーマネージドキーを作成するには AWS KMS**

1. {{AccountA}} AWS マネジメントコンソール を使用して にサインインし、 コンソールを開きます AWS KMS 。

1. 左側で [**カスタマー管理キー**]を選択します。

1. [**キーの作成**] を選択します。[**キーの設定**] で、[**対称**] のデフォルトを選択したまま、[**次**] を選択します。

1. **エイリアス** に、このキーに使用するエイリアス({{PipelineName-Key}}など)を入力します。必要に応じて、このキーの説明とタグを入力し、[**次**] を選択します。

1. [**キー管理アクセス許可の定義**] で、このキーの管理者となるロールを選択し、[**次へ**] を選択します。

1. [**キーの利用方法許可の定義**] の [**このアカウント**] で、パイプラインのサービスロールの名前 (例えば CodePipeline\_Service\_Role など) を選択します。**「その他の AWS アカウント**」で、**「別の AWS アカウントの追加**」を選択します。ARN の一部として {{AccountB}} のアカウント ID を入力し、[**次へ** ] を選択します。

1. [**キーポリシーの確認と編集**]で、ポリシーを確認し、[**完了**]を選択します。

1. キーのリストから、キーのエイリアスを選択し、その ARN (**{{arn:aws:kms:us-east-2:012ID\_ACCOUNT\_A:key/2222222-3333333-4444-556677EXAMPLE}}**など) にコピーします。この ARN は、パイプラインの編集時とポリシーの設定時に必要になります。

## ステップ 1: アカウントポリシーおよびロールをセットアップする
<a name="pipelines-create-cross-account-setup"></a>

 AWS KMS キーを作成したら、クロスアカウントアクセスを有効にするポリシーを作成してアタッチする必要があります。作成するには、{{AccountA}}および{{AccountB}}の両方からアクションを行う必要があります。

**Topics**
+ [パイプラインを作成するポリシーおよびロールをアカウントに設定する ({{AccountA}})](#pipelines-create-cross-account-setup-accounta)
+ [AWS リソースを所有するアカウントでポリシーとロールを設定する ({{AccountB}})](#pipelines-create-cross-account-setup-accountb)

### パイプラインを作成するポリシーおよびロールをアカウントに設定する ({{AccountA}})
<a name="pipelines-create-cross-account-setup-accounta"></a>

別の AWS アカウントに関連付けられた CodeDeploy リソースを使用するパイプラインを作成するには、{{AccountA}} はアーティファクトの保存に使用される Amazon S3 バケットと CodePipeline のサービスロールの両方のポリシーを設定する必要があります。

**AccountB へのアクセスを許可する Amazon S3 バケットのポリシーを作成するには (コンソール)**

1. {{AccountA}} AWS マネジメントコンソール で にサインインし、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. Amazon S3 バケットのリストで、パイプラインのアーティファクトが保存される Amazon S3バケットを選択します。このバケットの名前は です。{{region}} はパイプラインを作成した AWS リージョンで`codepipeline-{{region}}-{{1234567EXAMPLE}}`、{{1234567EXAMPLE}} はバケット名が一意であることを保証する 10 桁の乱数です (例: {{codepipeline-us-east-2-1234567890}})。

1. Amazon S3 バケットの詳細ページで、[**Properties**] を選択します。

1. プロパティペインで、[**アクセス許可**] を展開し、[**バケットポリシーの追加**]を選択します。
**注記**  
ポリシーがAmazon S3バケットにすでにアタッチされている場合は、**バケットポリシーの編集** を選択します。以下の例のステートメントを既存のポリシーに追加できます。新しいポリシーを追加するには、リンクを選択し、 AWS ポリシージェネレーターの指示に従います。詳細については、「[IAMポリシーの概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html)」を参照してください。

1. **バケットポリシーエディター**ウィンドウで {{AccountB}} にパイプラインアーティファクトへのアクセスを許可するポリシーを作成し、カスタムソースやビルドアクションなどのアクションによってアーティファクトが作成された場合、出力アーティファクトを追加する機能を {{AccountB}} に追加します。

1. [**保存**] を選択したら、ポリシーエディタを閉じます。

1. [**保存**] を選択して、Amazon S3 バケットに対するアクセス権限を保存します。

**CodePipeline のサービスロールのポリシーを作成するには (コンソール)**

1. {{AccountA}} AWS マネジメントコンソール で にサインインし、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. ナビゲーションペインで [**Roles(ロール)**] を選択します。

1. **[ロール名]** の下にあるロールのリストで、 CodePipeline のサービスロールの名前を選択します。

1. [**アクセス許可**] タブで [**インラインポリシーの追加**]を選択します。

1. [**JSON**] タブをクリックし、次のポリシーを入力して許可します。{{ AccountB}} を選択してロールを引き受けることができます。次の例では、{{012ID\_ACCOUNT\_B}}は、{{AccountB}}の ARN です。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": [
               "arn:aws:iam::{{111122223333}}:role/*"
           ]
       }
   }
   ```

------

1. [**ポリシーの確認**]を選択します。

1. [**名前**] に、このポリシーの名前を入力します。[**Create policy**]を選択します。

### AWS リソースを所有するアカウントでポリシーとロールを設定する ({{AccountB}})
<a name="pipelines-create-cross-account-setup-accountb"></a>

CodeDeploy にアプリケーション、デプロイ、デプロイグループを作成したら、あわせて [[Amazon EC2 インスタンスロール](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html)] を作成します。([Run Deployment Walkthrough]ウィザードを使用している場合はこのロールが作成されますが、手動で作成することもできます。) {{ AccountA}} で作成されたパイプラインは {{AccountB}} で CodeDeploy リソース作成時に使用されます。以下を実行する必要があります。
+ パイプラインアーティファクトが保存されている Amazon S3 バケットにアクセスできるようにするインスタンスロールのポリシーを設定します。
+ クロスアカウントアクセス用に設定されている{{AccountB}}に 2 番目のロールを作成します。

  この 2 番目のロールは、{{AccountA}} の Amazon S3 バケットにアクセスできるだけでなく、CodeDeploy リソースへのアクセスを許可するポリシーと、{{AccountA}} の CodePipeline サービスロールにロールを引き受けることを許可するポリシーを含んでいる必要があります。
**注記**  
これらのポリシーは、別の AWS アカウントを使用して作成されたパイプラインで使用する CodeDeploy リソースの設定に固有です。その他の AWS リソースには、リソース要件に固有のポリシーが必要です。

**CodeDeploy (コンソール) 用に設定した Amazon EC2 インスタンスロールのポリシーを作成するには**

1. {{AccountB}} AWS マネジメントコンソール を使用して にサインインし、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. ナビゲーションペインで [**Roles (ロール)**]を選択します。

1. [**ロール名**] の下にあるロールのリストで、 CodeDeploy アプリケーションの Amazon EC2 インスタンスロールとして使用するサービスロールの名前を選択します。このロール名はさまざまで、デプロイグループで複数のインスタンスロールを使用できます。詳細については、「[Amazon EC2 インスタンスの IAM インスタンスプロファイルを作成する](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html)」を参照してください。

1. **[Permissions]** (アクセス許可) タブで **[Add inline policy]** (インラインポリシーの追加) を選択します。

1. **JSON** タブで、以下のポリシーを入力して、 Amazon S3 バケットへのアクセスを許可します。{{AccountA}} パイプラインのアーティファクトを保存するには (この例では、{{codepipeline-us-east-2-1234567890}}):

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:Get*"
          ],
          "Resource": [
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:ListBucket"
          ],
          "Resource": [
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}"
          ]
        }
      ]
    }
   ```

------

1. [**ポリシーの確認**]を選択します。

1. [**名前**] に、このポリシーの名前を入力します。[**Create policy**]を選択します。

1. の 2 番目のポリシーを作成します AWS KMS 。ここで、 **{{arn:aws:kms:us-east-1:012ID\_ACCOUNT\_A:key/2222222-3333333-4444-556677EXAMPLE}}**は {{AccountA}} で作成され、{{AccountB}} が使用できるように設定されたカスタマーマネージドキーの ARN です。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:DescribeKey",
                   "kms:GenerateDataKey*",
                   "kms:Encrypt",
                   "kms:ReEncrypt*",
                   "kms:Decrypt"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:{{111122223333:key/2222222-3333333-4444-556677EXAMPLE}}"
               ]
           }
       ]
   }
   ```

------
**重要**  
次に示すように、このポリシーで {{AccountA}} のアカウント ID を AWS KMS キーのリソース ARN の一部として使用する必要があります。使用しない場合、ポリシーは機能しません。

1. [**ポリシーの確認**]を選択します。

1. [**名前**] に、このポリシーの名前を入力します。[**Create policy**]を選択します。

ここで、クロスアカウントアクセスに使用する IAMロールを作成し、{{AccountA}} の CodePipeline サービスロールがロールを引き受けられるように設定します。このロールは、CodeDeploy リソースへのアクセスを許可するポリシーと、{{AccountA}} でアーティファクトの保存に使用される Amazon S3 バケットが含まれている必要があります。

**IAM でクロスアカウントロールを設定するには**

1. {{AccountB}} AWS マネジメントコンソール を使用して にサインインし、[https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam) で IAM コンソールを開きます。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。[**ロールの作成**] を選択します。

1. **[Select type of trusted entity]**(信頼できるエンティティのタイプを選択) で、**[Another AWS account]**(別のアカウント) を選択します。**このロールを使用できるアカウントを指定する** の**アカウント ID** に、CodePipeline ( AWS Account{{AccountA}}) でパイプラインを作成するアカウントのアカウント ID を入力し、**次へ: アクセス許可**を選択します。
**重要**  
この手順では、{{AccountB}}と{{AccountA}}との間に信頼関係ポリシーを作成します。ただし、これによりアカウントへのルートレベルのアクセスが許可されるため、CodePipeline は {{AccountA}} の CodePipeline サービスロールにスコープを絞ることを推奨しています。ステップ 16 に従ってアクセス許可を制限します。

1. [**Attach permissions policies (アクセス許可ポリシーのアタッチ)**] ページで、[**AmazonS3ReadOnlyAccess**]、[**Next :タグ**] の順に選択します。
**注記**  
これは、使用するポリシーではありません。ウィザードを完了するために、ポリシーを選択する必要があります。

1. **[Next: Review (次へ: レビュー)**]を選択します。**ロール名** に ({{CrossAccount\_Roleなど}}) のロールを名前に入力します。IAMの命名規則に従う限り、このロールの名前は任意に指定できます。ロールの目的が明確になる名前を付けることを検討してください。[**Create Role**]を選択します。

1. ロールのリストから、作成したポリシー ({{CrossAccount\_Role}} など) を選択して、そのロールの [**Summary**] ページを開きます。

1. **[Permissions]** (アクセス許可) タブで **[Add inline policy]** (インラインポリシーの追加) を選択します。

1. [**JSON**] タブで、以下のポリシーを入力して、CodeDeploy リソースへのアクセスを許可します。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codedeploy:CreateDeployment",
           "codedeploy:GetDeployment",
           "codedeploy:GetDeploymentConfig",
           "codedeploy:GetApplicationRevision",
           "codedeploy:RegisterApplicationRevision"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

1. [**ポリシーの確認**]を選択します。

1. [**名前**] に、このポリシーの名前を入力します。[** Create policy**]を選択します。

1. **[Permissions]** (アクセス許可) タブで **[Add inline policy]** (インラインポリシーの追加) を選択します。

1. [**JSON**] タブを選択し、 以下のポリシーを入力して、このロールに {{AccountA}} の Amazon S3 バケットに対する入力アーティファクトの取得と出力アーティファクトの保存を許可します。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetObject*",
            "s3:PutObject",
            "s3:PutObjectAcl"               
          ],
          "Resource": [
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
          ]
        }
      ]
   }
   ```

------

1. [**ポリシーの確認**]を選択します。

1. [**名前**] に、このポリシーの名前を入力します。[**Create policy**]を選択します。

1. **[アクセス許可]** タブで、**[ポリシー名]** の下のポリシーの一覧で **AmazonS3ReadOnlyAccess** を探し、ポリシーの横にある削除アイコン (**X**) を選択します。プロンプトが表示されたら、[**Detach**]を選択します。

1. **[信頼関係]** タブ、**[信頼ポリシーを編集]** の順に選択します。左側の列で **[プリンシパルを追加]** オプションを選択します。**[プリンシパルタイプ]** で、**[IAM ロール]** を選択し、{{AccountA}} の CodePipeline サービスロールの ARN を指定します。**[AWS プリンシパル]** のリストから `arn:aws:iam::Account_A:root` を削除し、**[ポリシーを更新]** を選択します。

## ステップ 2: パイプラインを編集する
<a name="pipelines-create-cross-account-create"></a>

CodePipeline コンソールを使用して、別の AWS アカウントに関連付けられたリソースを使用するパイプラインを作成または編集することはできません。ただし、 コンソールを使用してパイプラインの一般的な構造を作成し、 を使用してパイプライン AWS CLI を編集し、それらのリソースを追加できます。または、既存のパイプラインの構造を使用して、リソースを手動で追加することもできます。

**別の AWS アカウントに関連付けられたリソースを追加するには (AWS CLI)**

1. ターミナル ( Linux, macOS , or Unix ) またはコマンドプロンプト ( Windows ) で、リソースを追加するパイプラインに対して **get-pipeline** コマンドを実行します。コマンドの出力を JSON ファイルにコピーします。例えば、MyFirstPipeline という名前のパイプラインに対しては、以下のようなコマンドを入力します。

   ```
   aws codepipeline get-pipeline --name {{MyFirstPipeline}} >{{pipeline.json}}
   ```

   出力は、{{pipeline.json}} ファイルを開きます。

1. 任意のプレーンテキストエディタで JSON ファイルを開きます。アーティファクトストアの `"type": "S3"` の後に、KMS 暗号化キー、ID、タイプ情報を追加します。ここで、{{codepipeline-us-east-2-1234567890}} は、Amazon S3 バケット名で使用されるパイプラインのアーティファクトの保存にされ、**{{arn:aws:kms:us-east-1:012ID\_ACCOUNT\_A:key/2222222-3333333-4444-556677EXAMPLE}}** は、先ほど作成したカスタマー管理キーの ARN です。

   ```
   {
     "artifactStore”: {
       "location": "{{codepipeline-us-east-2-1234567890}}", 
       "type": "S3",
       "encryptionKey": {
         "id": "arn:aws:kms:us-east-1:{{012ID_ACCOUNT_A:key/2222222-3333333-4444-556677EXAMPLE}}",
         "type": "KMS"
       }
     },
   ```

1. {{AccountB}} に関連付けられている CodeDeploy リソースを使用するためのデプロイアクションをステージに追加して、`roleArn` 値など作成したクロスアカウントロール ({{CrossAccount\_Role}}) に指定します。

   以下の例では、{{ExternalDeploy}}という名前のデプロイアクションを追加する JSON を示しています。また、{{AccountB}}で作成された CodeDeploy リソースを Staging という名前の{{ステージ}}で使用しています。以下の例では、{{AccountB}}の ARN は{{012ID\_ACCOUNT\_B}}です。

   ```
   ,
               {
                   "name": "Staging",
                   "actions": [
                       {
                           "inputArtifacts": [
                               {
                                   "name": "MyAppBuild"
                               }
                           ],
                           "name": "{{ExternalDeploy}}",
                           "actionTypeId": {
                               "category": "Deploy",
                               "owner": "AWS",
                               "version": "1",
                               "provider": "CodeDeploy"
                           },
                           "outputArtifacts": [],
                           "configuration": {
                               "ApplicationName": "{{AccountBApplicationName}}",
                               "DeploymentGroupName": "{{AccountBApplicationGroupName}}"
                           },
                           "runOrder": 1,
                           "roleArn": "arn:aws:iam::{{012ID_ACCOUNT_B}}:role/{{CrossAccount_Role}}"
                       }
                   ]
               }
   ```
**注記**  
これは、パイプライン全体の JSON ではなく、ステージでのアクションの構造です。

1. `metadata` コマンドが使用できるように、ファイルから **update-pipeline** 行を削除する必要があります。JSON ファイルのパイプライン構造からセクションを削除します (`"metadata": { }` 行と、`"created"`、`"pipelineARN"`、および`"updated"`フィールド)。

   例えば、構造から以下の行を削除します。

   ```
   "metadata": {  
     "pipelineArn": "arn:aws:codepipeline:{{region}}:{{account-ID}}:{{pipeline-name}}",
     "created": "{{date}}",
     "updated": "{{date}}"
     }
   ```

   ファイルを保存します。

1.  変更を適用するには、以下のように、パイプライン JSON ファイルを指定して、 **update-pipeline** コマンドを実行します。
**重要**  
ファイル名の前に必ず `file://` を含めてください。このコマンドでは必須です。

   ```
   aws codepipeline update-pipeline --cli-input-json file://{{pipeline.json}}
   ```

   このコマンドは、編集したパイプラインの構造全体を返します。

**別の AWS アカウントに関連付けられたリソースを使用するパイプラインをテストするには**

1. ターミナル ( Linux, macOS , or Unix ) またはコマンドプロンプト ( Windows ) で、以下のように、パイプラインの名前を指定して、**start-pipeline-execution** コマンドを実行します。

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline
   ```

   詳細については、「[パイプラインを手動で開始する](pipelines-rerun-manually.md)」を参照してください。

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

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

1. [**Name**]で、先ほど編集したパイプラインの名前を選択します。これにより、パイプラインの詳細ビューが開いて、パイプラインの各ステージの各アクションの状態などがわかります。

1. パイプラインの進行状況を監視します。別の AWS アカウントに関連付けられたリソースを使用するアクションの成功メッセージを待ちます。
**注記**  
{{AccountA}} を使用してサインインしている間にアクションの詳細を表示しようとすると、エラーが発生します。サインアウトしてから、{{AccountB}} でサインインして、 CodeDeploy でデプロイの詳細を表示します。