Start Building for Free
CircleCI.comアカデミーブログコミュニティサポート

CircleCI Server v3.x VM サービス

2 weeks ago2 min read
Server v3.x
サーバー管理者
このページの内容

CircleCI Server の VM サービスでは、 machine Executor (Linux イメージおよび Windows イメージ) と リモート Docker ジョブの実行方法を制御できます。

このセクションでは、VM サービスで利用可能な設定オプションについて説明します。 この設定オプションには、KOTS 管理者コンソールのダッシュボードで Config タブを選択することでアクセスできます。

VM サービスの設定

VM サービスロードバランサーのホストネームと IP アドレスを指定する必要があります。

  1. CircleCI Server が起動し稼働したら、下記のコマンドを実行します。

    kubectl get svc/vm-service
  2. External IP の下に記載されているアドレスを VM Service Load Balancer Hostname フィールドに入力します。

オプションで VM サービスで使用するポートを変更することができます。 デフォルトは `3000`で、CircleCI サポートチームのエンジニアに変更を推奨された場合のみ変更してください。

VM プロバイダー

下記は、AWS または GCP の VM プロバイダー用の設定オプションです。

AWS EC2

AWS EC2 を使う場合は、以下のフィールドに入力して VM サービスを設定する必要があります。

この時点では、VMでプライベートIPアドレスを使用する必要がある場合は、Assign Public IPs チェックボックスをオフにしてもかまいません。

  • [AWS Region (AWS リージョン)] (必須): アプリケーションがホストされるリージョンを指定します。

  • [AWS Linux AMI ID] (オプション): Linux machine Executor にカスタム AMI を使用する場合は、ここで AMI ID を指定します。 Linux イメージを作成するには、 CircleCI Server Linux イメージビルダーを使います。 このフィールドを空欄にした場合は、 デフォルトの AMIが使用されます。

  • [AWS Windows AMI ID] (オプション): Windows Executor が必要な場合、その AMI ID をここに指定できます。 Windows イメージを作成するには、 CircleCI Server Windows イメージビルダーを使います。 Windows Executor が不要な場合は、このフィールドを空欄にします。

  • [Subnet ID (サブネット ID)] (必須): VM のデプロイ先になるサブネット (パブリックまたはプライベート) を選択します。 なお、すべてのサブネットが同じアベイラビリティーゾーンにある必要があります。

  • [Security Group ID (セキュリティ グループ ID)] (必須): VM にアタッチするセキュリティ グループを指定します。

    推奨されるセキュリティ グループ構成については、 クラスタのハードニング を参照してください。

  • [Number of <VM-type> VMs to keep prescaled (事前スケーリングする <VM タイプ> の VM 数)]: デフォルトでは、このフィールドは 0 に設定されています。 この値の場合、該当するリソースタイプのインスタンスがオンデマンドで作成、プロビジョニングされます。 リソースタイプごとにインスタンスを最大 5 つまで事前割り当てできます。 インスタンスを事前に割り当てると、起動時間が短くなり、マシンと remote_docker のビルド速度が速くなります。

認証

以下のいずれかを実行してください。 IAM キーを選択し、以下を指定します。

  • [Access Key ID (アクセスキー ID)] (必須): EC2 へのアクセス用の AWS アクセス キー ID を指定します。

  • [Secret Key (AWS IAM シークレットキー)] (必須): EC2 へのアクセス用の シークレットキー を指定します。

または、IAM ロールを選択し、以下を指定します。

暗号化された EBS ボリューム

AWS EC2 のダッシュボードで、Account Attributes を常に 新しい EBS ボリュームを暗号化 するように変更します。 このオプションを有効にすると、VM サービスにより作成されたすべての新しい EBS ボリュームが暗号化されるようになります。 このオプションは、リージョンごとの設定であり、CircleCI Server を実行しているリージョンで有効化する必要があります。

デフォルトの AWS AMI リスト

デフォルトの Server v3.x 用 AMI は Ubuntu 22.04 に基づいています。

リージョンAMI

us-east-1

ami-03dc54f7559144972

ca-central-1

ami-0575d605472840942

ap-south-1

ami-047ef6196620f56ca

ap-southeast-2

ami-0521f8d70ef9dbd24

ap-southeast-1

ami-0ef0354f4eb3b7428

eu-central-1

ami-0a8286fff7b5ed33a

eu-west-1

ami-093618a1d0185f9e8

eu-west-2

ami-08f00d41b17d3ea0a

sa-east-1

ami-064b0bfe97e6ec04c

us-east-2

ami-068cb131f91632f12

us-west-1

ami-0a4b7cf088a798be3

us-west-2

ami-018e05f98628cf5e5

ap-northeast-1

ami-06f32ec6aeecbeaa6

ap-northeast-2

ami-084c1abb1e8dabffd

eu-west-3

ami-09b3e24bccae3252f

us-gov-east-1

ami-0de525cac9ac9bea8

us-gov-west-1

ami-02abf947586cae56b

Google Cloud Platform

Google Cloud Platform (GCP) を使う場合は、以下のフィールドの入力をして VM サービスを設定する必要があります。

この時点では、VMでプライベートIPアドレスを使用する必要がある場合は、Assign Public IPs チェックボックスをオフにしてもかまいません。

  • [GCP project ID (GCP プロジェクト ID)] (必須): クラスタが存在する GCP プロジェクトの名前を指定します。

  • [VM 用の GCP Zone (GCP ゾーン)] (必須): `us-east1-b`などに仮想マシンインスタンスを作成する GCP ゾーンを指定します。

  • [GCP Windows イメージ] (オプション): Windows Executor が必要な場合、その AMI ID をここに指定できます。 Windows イメージを作成するには、 CircleCI Server Windows イメージビルダーを使います。 Windows Executor が不要な場合は、このフィールドを空欄にします。

  • [GCP VPC Network (GCP VPC ネットワーク)] (必須): VPC ネットワークの名前を指定します。 共有 VPC で CircleCI Server をデプロイしている場合は、名前ではなく以下のようにホストネットワークのフルネットワークエンドポイントを使用します。

    https://www.googleapis.com/compute/v1/projects/<host-project>/global/networks/<network-name>
  • [GCP VPC Subnet (GCP VPC サブネット)] (オプション): VPC サブネットの名前を指定します。 自動サブネット化を使用する場合は、このフィールドは空欄にします。 共有 VPC で CircleCI Server をデプロイしている場合は、名前ではなく以下のようにサブネットワークのフルネットワークエンドポイントを使用します。

    https://www.googleapis.com/compute/v1/projects/<service-project>/regions/<your-region>/subnetworks/<subnetwork-name>
  • [GCP IAM Access Type (GCP IAM アクセスタイプ)] (必須): 以下のいずれかを実行してください。 GCP Service Account JSON file を選択し、以下を指定します。

    • [GCP Service Account JSON file (GCP サービス アカウントの JSON ファイル)] (必須): GCP IAM サービスアカウント認証情報を使用する場合は、 サービス アカウントの JSON ファイル の内容をコピー & ペーストします。

      または、`IAM Workload Identity`を選択して、以下を指定します。

    • GCP IAM Workload Identity (必須): こちらの 2 & 3 で作成した VM サービスアカウントのメールアドレス (service-account-name@project-id.iam.gserviceaccount.com ) をコピー & ペーストします。

  • [Number of <VM-type> VMs to keep prescaled (事前スケーリングする <VM タイプ> の VM 数)]: デフォルトでは、このフィールドは 0 に設定されています。 この値の場合、該当するリソースタイプのインスタンスがオンデマンドで作成、プロビジョニングされます。 リソース タイプごとにインスタンスを最大 5 つまで事前割り当てできます。 インスタンスを事前に割り当てると、起動時間が短くなり、マシンと remote_docker のビルド速度が速くなります。


ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。