PyPI パッケージのインストール時にインターネットへのアクセスを構成する

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

このページでは、環境に PyPI パッケージをインストールするときにインターネット アクセスを無効または有効にする方法について説明します。

パッケージのインストールとカスタムソース(VPC ネットワークのリポジトリなど)の構成については、Python 依存関係をインストールするをご覧ください。

環境から VPC ネットワークへのアクセスを有効にする場合は、環境を VPC ネットワークに接続するをご覧ください。たとえば、使用中の環境から VPC ネットワーク経由でインターネットにアクセスできるように VPC ネットワークを構成できます。

環境をプライベート IP に変更する場合は、環境のネットワーキング タイプ(プライベート IP またはパブリック IP)を変更するをご覧ください。

PyPI パッケージのインストール時のインターネット アクセスについて

  • デフォルトでは、Cloud Composer 3 環境は PyPI パッケージのインストール時にインターネットにアクセスできます

  • パブリック ソースとプライベート ソースの両方からパッケージを同時にインストールできるようになりました。これは Cloud Composer 2 では不可能でした。

  • この環境構成オプションは、環境のネットワーキング タイプ(プライベート IP またはパブリック IP)とは無関係です。たとえば、Python パッケージ インデックスからプライベート IP 環境にパッケージをインストールできます。

  • この構成オプションは、環境を作成するときに設定できます。また、既存の環境でこのオプションを変更することもできます。

PyPI パッケージのインストール時にインターネット アクセスを無効または有効にする

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [ネットワークの構成] セクションで、[公開 PyPI パッケージ リポジトリへのアクセス] 項目を見つけて [編集] をクリックします。

  5. [公開 PyPI パッケージ リポジトリへのアクセス] ダイアログで、次の操作を行います。

    • インターネット アクセスを有効にするには、[Allow installation of packages from public internet repositories] を選択します。

    • インターネット アクセスを無効にするには、[公共のインターネット リポジトリからのパッケージのインストールを許可しません] を選択します。

  6. [保存] をクリックします。

gcloud

次の Google Cloud CLI 引数は、PyPI パッケージのインストール時にインターネット アクセス構成を指定します。

  • --disable-private-builds-only: パッケージのインストール時にインターネット アクセスを有効にします(デフォルト)。

  • --enable-private-builds-only: パッケージのインストール時にインターネット アクセスを無効にします。

パッケージのインストール時にインターネット アクセスを有効にするには、次の Google Cloud CLI コマンドを実行します。

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-private-builds-only

パッケージのインストール時にインターネット アクセスを無効にするには、次の Google Cloud CLI コマンドを実行します。

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-private-builds-only

以下を置き換えます。

  • ENVIRONMENT_NAME: 環境の名前
  • LOCATION: 環境が配置されているリージョン

例(インターネット アクセスを無効にする):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --enable-private-builds-only

API

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで、config.private_environment_config.enable_private_builds_only マスクを指定します。

    2. リクエスト本文の enablePrivateBuildsOnly フィールドに、必要な値を設定します。

      • false: PyPI パッケージのインストール時にインターネット アクセスを有効にします(デフォルト)。
      • true: PyPI パッケージのインストール時にインターネット アクセスを無効にします。

例(インターネット アクセスを無効にする):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_builds_only

"config": {
  "privateEnvironmentConfig": {
    "enablePrivateBuildsOnly": true
  }
}

Terraform

config ブロックの enable_private_builds_only フィールドは、PyPI パッケージのインストール時にインターネット アクセス構成を指定します。

  • false または省略: パッケージのインストール時にインターネット アクセスを有効にします(デフォルト)。

  • true: パッケージのインストール時にインターネット アクセスを無効にします。

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    enable_private_builds_only = PRIVATE_BUILDS_MODE
  }
}

以下を置き換えます。

  • ENVIRONMENT_NAME: 環境の名前。
  • LOCATION: 環境が配置されているリージョン。
  • PRIVATE_BUILDS_MODE: PyPI パッケージのインストール時にインターネット アクセスが無効になっているかどうか。

例(インターネット アクセスを無効にする):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    enable_private_builds_only = true

    ... other configuration parameters

  }

次のステップ