このページでは、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-platform
API アクセス スコープを割り当てます。アクセス スコープの設定については、インスタンスのサービス アカウントとアクセス スコープを変更するをご覧ください。次のコマンドを使用して Apt を更新します。
sudo apt update
VM に
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 apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
LOCATION
は、リポジトリのリージョン ロケーションに置き換えます。VM に
cloud-platform
API アクセス スコープを割り当てます。アクセス スコープの設定については、インスタンスのサービス アカウントとアクセス スコープを変更するをご覧ください。次のコマンドを使用して、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 update
VM に
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 apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
LOCATION
は、リポジトリのリージョン ロケーションに置き換えます。次のコマンドを使用して、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 update
VM に
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 ファイルのパスで置き換えます。
パブリック レポジトリ
リポジトリへの公開アクセスを構成します。
Trusted Cloudの外部で VM を構成する場合は、リポジトリにアクセスできるようにマシンを準備します。Compute Engine VM を構成する場合は、次のステップに進みます。
次のコマンドを使用して、公開署名検証鍵をインストールします。
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
LOCATION
は、リポジトリのリージョン ロケーションに置き換えます。次のコマンドを使用して 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 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
を再実行してリポジトリ ソースを更新します。