

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

# CodeArtifact の開始方法
<a name="getting-started"></a>

 この入門チュートリアルでは、CodeArtifact を使用して以下を作成します。
+  `my-domain` というドメイン。
+  `my-domain` に含まれる `my-repo` というリポジトリ。
+  `my-domain` に含まれる `npm-store` というリポジトリ。`npm-store` には npm パブリックリポジトリへの外部接続があります。この接続は、npm パッケージを `my-repo` リポジトリに取り込むために使用されます。

 このチュートリアルを開始する前に、CodeArtifact [AWS CodeArtifact の概念](codeartifact-concepts.md) をご一読ください。

**注記**  
 このチュートリアルでは、AWS アカウントに課金される可能性のあるリソースを作成する必要があります。詳細については、[[CodeArtifact の料金]](https://aws.amazon.com/codeartifact/pricing/) を参照してください。

**Topics**
+ [前提条件](#getting-started-prerequisites)
+ [コンソールを使用した開始方法](getting-started-console.md)
+ [AWS CLI を使用した開始方法](getting-started-cli.md)

## 前提条件
<a name="getting-started-prerequisites"></a>

AWS マネジメントコンソール または AWS Command Line Interface(AWS CLI) を使って、このチュートリアルを完了できます。チュートリアルに従うには、まず次の前提条件を完了する必要があります。
+  「[AWS CodeArtifact でのセットアップ](get-set-up-for-codeartifact.md)」の各ステップを完了します。
+  npm CLI をインストールします。詳細については、npm ドキュメントの [[Node.js と npm のダウンロードとインストール]](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) を参照してください。

# コンソールを使用した開始方法
<a name="getting-started-console"></a>

 AWS マネジメントコンソールを使用して CodeArtifact の使用を開始するには、以下のステップを実行します。このガイドでは、`npm` パッケージマネージャーを使用します。別のパッケージマネージャーを使用している場合は、次の手順の一部を変更する必要があります。

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/codesuite/codeartifact/start](https://console.aws.amazon.com/codesuite/codeartifact/start) で AWS CodeArtifact コンソールを開きます。詳細については、「[AWS CodeArtifact でのセットアップ](get-set-up-for-codeartifact.md)」を参照してください。

1.  **[リポジトリの作成]**を選択します。

1.  **[リポジトリ名]** に「**my-repo**」と入力します。

1.  (オプション) **[Repository Description]** (リポジトリの説明)で、リポジトリの説明を入力します。

1. **[パブリックアップストリームリポジトリ]** で **[npm-store]** を選択し、`my-repo` リポジトリの上流にある **npmjs** に接続されたリポジトリを作成します。

   CodeArtifact は、このリポジトリに名前 `npm-store` を割り当てます。アップストリームリポジトリで利用可能なすべてのパッケージ `npm-store` は、その下流のリポジトリ `my-repo` でも使用可能です。

1.  **[Next]** (次へ) を選択します。

1.  **[AWS アカウント]** で、**[この AWS アカウント]** を選択します。

1.  **[ドメイン名]** で **my-domain** と入力します。

1.  **[Additional configuration (追加設定)]** を展開します。

1.  ドメイン内のすべてのアセットを暗号化するためには、AWS KMS key (KMS キー) を使用する必要があります｡ AWS マネージドキーまたは、管理する KMS キーを使用できます。
   +  デフォルトAWS マネージドキーを使用するには、**[AWS マネージドキー]** を選択してください。
   +  管理している KMS キーを使用する場合、**[カスタマーマネージドキー]** を選択してください。**[カスタマーマネージドキー ARN]** で管理している KMS キーを使用するには、KMS キーを検索して選択します。

    詳細については、*[AWS Key Management Service デベロッパーガイド]* の [AWS マネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) および [[カスタマーマネージドキー]](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) を参照してください。

1.  **[Next]** (次へ) を選択します。

1.  **[確認と作成]** で、CodeArtifact が作成しているものを確認します。
   +  **[パッケージフロー]** は、`my-domain`、`my-repo` および `npm-store` の関連性を示します。
   +  **[ステップ 1: リポジトリを作成する]** は、`my-repo` および `npm-store` の詳細を表示します。。
   +  **[ステップ 2: ドメインを選択する]** は、`my-domain` の詳細を表示します。

    準備が完了したら、**[リポジトリの作成]** を選択します。

1.  **[my-repo]** ページで **[接続手順の表示]** を選択してから、**[npm]** を選択します。

1.  AWS CLI を使用して、**[この AWS CLI CodeArtifact コマンドを使用して npm クライアントを設定する]** に示されている `login` コマンドを実行します。

   ```
   aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner 111122223333
   ```

   ログインが成功したことを確認する出力が表示されます。

   ```
   Successfully configured npm to use AWS CodeArtifact repository https://my-domain-111122223333.d.codeartifact.us-east-2.amazonaws.com/npm/my-repo/
   Login expires in 12 hours at 2020-10-08 02:45:33-04:00
   ```

   エラー `Could not connect to the endpoint URL` が発生した場合は、AWS CLI が設定されており、**[デフォルトリージョン名]** がリポジトリを作成したのと同じリージョンに設定されていることを確認してください。「[Configuring the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

   詳細については、「[CodeArtifact で npm を設定して使用する](npm-auth.md)」を参照してください。

1.  npm CLI を使用して npm パッケージをインストールします。例えば、一般的な npm パッケージ `lodash` をインストールするには、以下のコマンドを使用します。

   ```
   npm install lodash
   ```

1.  CodeArtifact コンソールに戻ります。**[my-repo]** リポジトリが開いている場合は、ページを更新します。それ以外の場合は、ナビゲーションペインで **[リポジトリ]** 選択してから、**[my-repo]** を選択します。

    **[パッケージ]**で、インストールした npm ライブラリまたはパッケージが表示されます。パッケージの名前を選択して、そのバージョンとステータスを表示できます。最新バージョンを選択して、依存関係、アセットなどのパッケージの詳細を表示できます。
**注記**  
 パッケージをインストールしてからリポジトリに取り込むまでの間に遅延が生じる場合があります。

1.  更なるAWS の課金を回避するには、このチュートリアルで使用したリソースを削除します。
**注記**  
リポジトリを含むドメインは削除できないため、`my-domain` を削除する前に `my-repo` および`npm-store` を削除する必要があります。

   1.  ナビゲーションペインで、**[リポジトリ]** を選択します。

   1.  **[npm ストア]** を選択して **[削除]** を選択し、ステップに従ってリポジトリを削除します。

   1.  **[my-repo]** を選択して **[削除]** を選択し、ステップに従ってリポジトリを削除します。

   1.  ナビゲーションペインで、**[ドメイン]** を選択します。

   1.  **[my-dain]** を選択して **[削除]** を選択し、ステップに従ってドメインを削除します。

# AWS CLI を使用した開始方法
<a name="getting-started-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して CodeArtifactを開始するには、以下のステップを実行します。詳細については、「[をインストールまたはアップグレードしてから設定する AWS CLI](get-set-up-install-cli.md)」を参照してください。このガイドでは、`npm` パッケージマネージャーを使用します。別のパッケージマネージャーを使用している場合は、次のステップの一部を変更する必要があります。

1.  AWS CLI を使用して **create-domain** コマンドを実行します。

   ```
   aws codeartifact create-domain --domain my-domain
   ```

    JSON 形式のデータが、新しいドメインの詳細とともに出力に表示されます。

   ```
   {
       "domain": {
           "name": "my-domain",
           "owner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain",
           "status": "Active",
           "createdTime": "2020-10-07T15:36:35.194000-04:00",
           "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
           "repositoryCount": 0,
           "assetSizeBytes": 0
       }
   }
   ```

   エラー `Could not connect to the endpoint URL` が発生した場合は、AWS CLI が設定されており、**[デフォルトリージョン名]** がリポジトリを作成したのと同じリージョンに設定されていることを確認してください。「[Configuring the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

1.  **create-repository**コマンドを使用して、ドメインにリポジトリを作成します。

   ```
   aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository my-repo
   ```

    JSON 形式のデータが、新しいリポジトリの詳細とともに出力に表示されます。

   ```
   {
       "repository": {
           "name": "my-repo",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
           "upstreams": [],
           "externalConnections": []
       }
   }
   ```

1. **create-repository** コマンドを使用して、`my-repo` リポジトリのアップストリームリポジトリを作成します。

   ```
   aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository npm-store
   ```

    JSON 形式のデータが、新しいリポジトリの詳細とともに出力に表示されます。

   ```
   {
       "repository": {
           "name": "npm-store",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
           "upstreams": [],
           "externalConnections": []
       }
   }
   ```

1.  **associate-external-connection** コマンドを使用して、npm 公開リポジトリへの外部接続を`npm-store` リポジトリに追加します。

   ```
   aws codeartifact associate-external-connection --domain my-domain --domain-owner 111122223333 --repository npm-store --external-connection "public:npmjs"
   ```

    JSON 形式のデータが、リポジトリとその新しい外部接続についての詳細とともに出力に表示されます。

   ```
   {
       "repository": {
           "name": "npm-store",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
           "upstreams": [],
           "externalConnections": [
               {
                   "externalConnectionName": "public:npmjs",
                   "packageFormat": "npm",
                   "status": "AVAILABLE"
               }
           ]
       }
   }
   ```

    詳細については、「[CodeArtifact リポジトリをパブリックリポジトリに接続する](external-connection.md)」を参照してください。

1.  **update-repository** コマンドを使用して、`npm-store` リポジトリを `my-repo` リポジトリへのアップストリームリポジトリとして関連付けます。

   ```
   aws codeartifact update-repository --repository my-repo --domain my-domain --domain-owner 111122223333 --upstreams repositoryName=npm-store
   ```

    JSON 形式のデータが、新しいアップストリームリポジトリを含む、更新されたリポジトリの詳細とともに出力に表示されます。

   ```
   {
       "repository": {
           "name": "my-repo",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
           "upstreams": [
               {
                   "repositoryName": "npm-store"
               }
           ],
           "externalConnections": []
       }
   }
   ```

    詳細については、「[アップストリームリポジトリを追加または削除する (AWS CLI)](repo-upstream-add.md#repo-upstream-add-cli)」を参照してください。

1. **login** コマンドを使用して、`my-repo` リポジトリに npm パッケージマネージャーを設定します。

   ```
   aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner 111122223333
   ```

   ログインが成功したことを確認する出力が表示されます。

   ```
   Successfully configured npm to use AWS CodeArtifact repository https://my-domain-111122223333.d.codeartifact.us-east-2.amazonaws.com/npm/my-repo/
   Login expires in 12 hours at 2020-10-08 02:45:33-04:00
   ```

    詳細については、「[CodeArtifact で npm を設定して使用する](npm-auth.md)」を参照してください。

1.  npm CLI を使用して npm パッケージをインストールします。例えば、一般的な npm パッケージ `lodash` をインストールするには、以下のコマンドを使用します。

   ```
   npm install lodash
   ```

1.  **list-packages** コマンドを使用して、`my-repo` リポジトリでインストールしたばかりのパッケージを表示します。
**注記**  
`npm install` インストールコマンドが完了してからリポジトリに表示するまでの間に遅延が生じる場合があります。パブリックリポジトリからパッケージを取得するときの一般的なレイテンシーの詳細については、「[外部接続のレイテンシー](external-connection-requesting-packages.md#external-connection-latency)」を参照してください。

   ```
   aws codeartifact list-packages --domain my-domain --repository my-repo
   ```

    JSON 形式のデータが、インストールしたパッケージの形式と名前とともに出力に表示されます。

   ```
   {
       "packages": [
           {
               "format": "npm",
               "package": "lodash"
           }
       ]
   }
   ```

   これで、次の三つの CodeArtifact リソースが作成されました。
   +  ドメイン`my-domain`。
   +  `my-domain` に含まれるリポジトリ `my-repo`。このリポジトリには、利用可能な npm パッケージがあります。
   +  `my-domain` に含まれるリポジトリ `npm-store`。このリポジトリは、パブリック npm リポジトリへの外部接続を持ち、アップストリームリポジトリとして `my-repo` リポジトリに関連付けられています。

1. 更なる AWS の課金を回避するには、このチュートリアルで使用したリソースを削除します。
**注記**  
 リポジトリを含むドメインは削除できないため、`my-domain` を削除する前に `my-repo` および `npm-store` を削除する必要があります。

   1.  `npm-store` リポジトリを削除するには、**delete-repository** コマンドを使用します。

      ```
      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository my-repo
      ```

       JSON 形式のデータが、削除されたリポジトリの詳細とともに出力に表示されます。

      ```
      {
          "repository": {
              "name": "my-repo",
              "administratorAccount": "111122223333",
              "domainName": "my-domain",
              "domainOwner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
              "upstreams": [
                  {
                      "repositoryName": "npm-store"
                  }
              ],
              "externalConnections": []
          }
      }
      ```

   1.  `npm-store` リポジトリを削除するには、 **delete-repository** コマンドを使用します。

      ```
      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository npm-store
      ```

       JSON 形式のデータが、削除されたリポジトリの詳細とともに出力に表示されます。

      ```
      {
          "repository": {
              "name": "npm-store",
              "administratorAccount": "111122223333",
              "domainName": "my-domain",
              "domainOwner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
              "upstreams": [],
              "externalConnections": [
                  {
                      "externalConnectionName": "public:npmjs",
                      "packageFormat": "npm",
                      "status": "AVAILABLE"
                  }
              ]
          }
      }
      ```

   1. `my-domain` リポジトリを削除するには、 **delete-domain** コマンドを使用します。

      ```
      aws codeartifact delete-domain --domain my-domain --domain-owner 111122223333
      ```

       JSON 形式のデータが、削除されたドメインの詳細とともに出力に表示されます。

      ```
      {
          "domain": {
              "name": "my-domain",
              "owner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain",
              "status": "Deleted",
              "createdTime": "2020-10-07T15:36:35.194000-04:00",
              "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
              "repositoryCount": 0,
              "assetSizeBytes": 0
          }
      }
      ```