

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

# 從 VPC 使用 CodeArtifact
<a name="use-codeartifact-from-vpc"></a>

如果您無法或不想在 中建立的 `com.amazonaws.region.codeartifact.repositories` VPC 端點上啟用私有 DNS[建立 CodeArtifact 的 VPC 端點](create-vpc-endpoints.md)，您必須為儲存庫端點使用不同的組態，才能從 VPC 使用 CodeArtifact。如果`com.amazonaws.region.codeartifact.repositories`端點未啟用私有 DNS，請遵循 中的指示[在沒有私有 DNS 的情況下使用`codeartifact.repositories`端點](#use-codeartifact-from-vpc-no-private-dns)來設定 CodeArtifact。

## 在沒有私有 DNS 的情況下使用`codeartifact.repositories`端點
<a name="use-codeartifact-from-vpc-no-private-dns"></a>

如果您無法或不想在 中建立的 `com.amazonaws.region.codeartifact.repositories` VPC 端點上啟用私有 DNS[建立 CodeArtifact 的 VPC 端點](create-vpc-endpoints.md)，則必須遵循這些指示，使用正確的 CodeArtifact URL 設定套件管理員。

1.  執行下列命令來尋找要用來覆寫主機名稱的 VPC 端點。

   ```
   $ aws ec2 describe-vpc-endpoints --filters Name=service-name,Values=com.amazonaws.region.codeartifact.repositories \
     --query 'VpcEndpoints[*].DnsEntries[*].DnsName'
   ```

    輸出看起來如下。

   ```
   [
     [
       "vpce-0743fe535b883ffff-76ddffff.d.codeartifact.us-west-2.vpce.amazonaws.com"
     ]
   ]
   ```

1. 更新 VPC 端點路徑以包含套件格式、您的 CodeArtifact 網域名稱和 CodeArtifact 儲存庫名稱。請參閱以下範例。

   ```
   https://vpce-0743fe535b883ffff-76ddffff.d.codeartifact.us-west-2.vpce.amazonaws.com/format/d/domain_name-domain_owner/repo_name
   ```

   從範例端點取代下列欄位。
   + *格式*：將 取代為有效的 CodeArtifact 套件格式，例如 `npm`或 `pypi`。
   + *domain\$1name*：將 取代為 CodeArtifact 網域，其中包含託管套件的 CodeArtifact 儲存庫。
   + *domain\$1owner*：將 取代為 CodeArtifact 網域擁有者的 ID，例如 `111122223333`。
   + *repo\$1name*：將 取代為託管套件的 CodeArtifact 儲存庫。

   下列 URL 是範例 npm 儲存庫端點。

   ```
   https://vpce-0dc4daf7fca331ed6-et36qa1d.d.codeartifact.us-west-2.vpce.amazonaws.com/npm/d/domainName-111122223333/repoName
   ```

1. 將套件管理員設定為使用上一個步驟中更新的 VPC 端點。您必須設定套件管理員，而不使用 CodeArtifact `login`命令。如需每個套件格式的組態指示，請參閱下列文件。
   + npm： [不使用登入命令設定 npm](npm-auth.md#configuring-npm-without-using-the-login-command)
   + nuget：[在沒有登入命令的情況下設定 nuget 或 dotnet](nuget-cli.md#nuget-configure-without-login)
   + pip： [設定不含登入命令的 pip](python-configure-pip.md#python-configure-without-pip)
   + 雙工： [使用 CodeArtifact 設定和使用雙身](python-configure-twine.md)
   + Gradle： [搭配 Gradle 使用 CodeArtifact](maven-gradle.md)
   + mvn： [搭配 mvn 使用 CodeArtifact](maven-mvn.md)