このページでは、Artifact Registry Apt リポジトリから Debian パッケージをインストールするように VM を構成することを説明します。
始める前に
ターゲット Apt リポジトリが存在しない場合は、新しい標準リポジトリを作成します。非公開リポジトリ、または認証を必要としない公開リポジトリを作成できます。Apt リポジトリにアクセスするために VM を準備する
非公開リポジトリ
アクセス権の付与に使用するサービス アカウントを選択します。
- Compute Engine VM の場合、これはデフォルトのサービス アカウントである場合があります。Artifact Registry は、サービス アカウントを使用する VM の Compute Engine VM サービス アカウントの認証情報を自動的に取得します。
- その他の VM の場合は、VM に代わって動作するサービス アカウントを作成または選択します。VM を構成するには、サービス アカウント キー ファイルのロケーションが必要です。既存のアカウントの鍵は、[サービス アカウント] ページで表示、作成できます。
サービス アカウントにリポジトリへのアクセス権限を付与します。
VM がリポジトリにアクセスできるように準備します。
Compute Engine VM
Debian VM
VM に
cloud-platformAPI アクセス スコープ を割り当てます。アクセス スコープの設定については、インスタンスのサービス アカウントとアクセス スコープを変更するをご覧ください。次のコマンドを使用して Apt を更新します。
sudo apt updateVM に
apt-transport-artifact-registryパッケージをインストールします。sudo apt install apt-transport-artifact-registry
Ubuntu VM
次のコマンドを使用して、Apt リポジトリの署名鍵をインストールします。
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpgLOCATIONは、リポジトリのリージョン ロケーションに置き換えます。VM に
cloud-platformAPI アクセス スコープ を割り当てます。アクセス スコープの設定については、インスタンスのサービス アカウントとアクセス スコープを変更するをご覧ください。次のコマンドを使用して、Artifact Registry パッケージにアクセスするように VM を構成します。
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list次のコマンドを使用して Apt を更新します。
sudo apt updateVM に
apt-transport-artifact-registryパッケージをインストールします。sudo apt install apt-transport-artifact-registry
その他の VM
次のコマンドを使用して、Apt リポジトリの署名鍵をインストールします。
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpgLOCATIONは、リポジトリのリージョン ロケーションに置き換えます。次のコマンドを使用して、Artifact Registry パッケージにアクセスするように VM を構成します。
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list次のコマンドを使用して Apt を更新します。
sudo apt updateVM に
apt-transport-artifact-registryパッケージをインストールします。sudo apt install apt-transport-artifact-registry/etc/apt/apt.conf.d/90artifact-registryファイル内の#Service-Account-JSON "/path/to/creds.json";行を見つけて、その行をコメント化解除し、サービス アカウント キーのパスを追加します。構成ファイルのエントリ:
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
PATH_TO_SERVICE_ACCOUNT_KEYは、サービス アカウント キー JSON ファイルのパスで置き換えます。
パブリック レポジトリ
の外部で VM を構成する場合は、 リポジトリにアクセスするようにマシンを準備します。 Cloud de ConfianceCompute Engine VM を構成する場合は、次のステップに進みます。
次のコマンドを使用して、公開署名検証鍵をインストールします。
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpgLOCATIONは、リポジトリのリージョン ロケーションに置き換えます。次のコマンドを使用して Apt を更新します。
sudo apt update
標準の Apt リポジトリにアクセスするように VM を構成する
Apt リポジトリにアクセスするように VM を構成する
VM 構成コマンドを生成するには、
gcloud beta artifacts print-settings aptコマンドを実行します。gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATION以下を置き換えます。
-
LOCATIONは、リポジトリのリージョン ロケーション です。 REPOSITORYは、Artifact Registry リポジトリの名前です。
出力は次のようになります。
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb [signed-by=/etc/apt/trusted.gpg.d/artifact-registry.gpg] ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
-
print-settingsコマンドの出力からechoコマンドを使用して、リポジトリからパッケージを取得するように Apt を構成します。たとえば、プロジェクト
my-projectとロケーションu-france-east1に公開リポジトリmy-repoからパッケージをインストールするには、次のコマンドを使用します。echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
次のコマンドを使用して、リポジトリのソースを更新します。
sudo apt update
Apt はリポジトリに接続できるようになりました。
追加の Apt リポジトリを作成する場合は、それらを artifact-registry.list ファイルに追加し、sudo apt update を再実行してリポジトリ ソースを更新します。
Apt リポジトリへの HTTP アクセスを構成する
SSL 暗号化をサポートしていない古いクライアント ツールを使用している場合は、Apt リポジトリへの公開アクセスを構成して、HTTP 経由でアクセスできます。HTTP を使用して一般公開されているリポジトリに送信されたリクエストは、リクエストとともに認証トークンが提示された場合、拒否されます。
HTTP を使用してリポジトリからパッケージを取得するように Apt を構成するには、次のコマンドを実行します。
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list以下を置き換えます。
-
LOCATIONは、リポジトリのリージョン ロケーション です。 PROJECT_IDは、リポジトリのプロジェクト ID です。REPOSITORYは、リポジトリの名前です。
たとえば、HTTP を使用してプロジェクト
my-projectとロケーションu-france-east1に公開リポジトリmy-repoからパッケージをインストールするには、次のコマンドを使用します。echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
-
次のコマンドを使用して、リポジトリのソースを更新します。
sudo apt update
Apt はリポジトリに接続できるようになりました。
追加の Apt リポジトリを作成する場合は、それらを artifact-registry.list ファイルに追加し、sudo apt update を再実行してリポジトリ ソースを更新します。