登録トークンを使ってGCPサーバーをデプロイする

このトピックでは、ユーザーデータおよびAdvanced Server Accessの登録トークンを使ってUbuntuまたはDebian GCP(Google Cloud Platform)サーバーをsystemdによってデプロイする方法について説明します。このプロセスは、特定のニーズに合わせて修正が必要になる場合があります。

ユーザーデータを使用してクラウドサーバーを作成することは、クラウドプロバイダーを使用してサーバーを作成するときに、Advanced Server Accessのエージェントを同時にインストールすることを意味します。ユーザーデータを使用して、新しいクラウドサーバーにソフトウェアをインストールする場合、このインストールは任意のクラウドプロバイダーを介して実行できますが、ユーザーデータは必要な特定のソフトウェアを決定するのに役立ちます。クラウドサーバーの作成時にAdvanced Server Accessのエージェントをクラウドサーバーにインストールする必要はありませんが、サーバーの作成と同時に起動スクリプトとしてインストールを実行すると、クラウドのデプロイメントが可能な限り安全になります。

前提条件

Google Cloud Platform

必要条件

説明

Google Cloud Platformアカウント チームの仮想マシンを作成するためにGCPコンソールにアクセスするには、Google Cloud Platformのアカウントが必要です。

Advanced Server Access

必要条件

説明

Advanced Server Accessのチーム Advanced Server Access内のOktaorgを表す最上位レベルのオブジェクトです。
Advanced Server Accessのプロジェクト ユーザー、グループ、サーバーを編成するチームの承認のスコープです。

Advanced Server Accessの登録トークンを作成する

  1. Advanced Server Accessのダッシュボードで[Projects(プロジェクト)]をクリックします。
  2. サーバーを追加するプロジェクトを選択します。
  3. Enrollment(登録)]タブに移動し、[Create Enrollment Token(登録トークンを作成する)]をクリックします。

    注:サーバーをチームに追加するたびに、同じ登録トークンを使うことができます。既に登録トークンを作成している場合は、この手順を省略してください。

  4. トークンの説明を入力し、[Submit(送信)]をクリックします。

トークンが正常に作成されたら、[Token(トークン)]フィールドの文字列を記録して、後の手順で使用するために安全な場所に保存します。

GCPプロジェクトを作成する

  1. Google Cloud Platformコンソールへ移動し、アカウントにサインインします。
  2. Select a project(プロジェクトを選択する) ]メニューの[New Project(新規プロジェクト)]をクリックします。
  3. プロジェクトに新しい名前を付け、[Location(場所)]フィールドを使用して親Organizationまたはフォルダーを設定します。
  4. プロジェクトの作成が終了したら、[Create(作成)]をクリックします。
  5. 新しいプロジェクトのダッシュボードで、[Project Info(プロジェクト情報)]セクションからプロジェクトID番号をコピーし、安全な場所で保管します。

    注:プロジェクトのダッシュボードを見つけるには、コンソールの上部にある[Select a project(プロジェクトの選択)]フィールドを使用します。

ユーザーデータを使用して仮想マシンを作成して登録する

  1. GCPコンソールで[Compute Engine(コンピューティングエンジン)]および[VM instances(VMインスタンス)]を選択します。
  2. メッセージが表示されたら、[Select a project(プロジェクトを選択する)]ドロップダウンから新しいプロジェクトを選択します。
  3. Create(作成)]をクリックします。
  4. 新しいサーバーに名前を作成し、地域とゾーンを設定します。これらのオプションは、サーバーの場所を特定します。
  5. [Management(管理)]、[Security(セキュリティ)]、[disks(ディスク)]、[networking(ネットワーク)]、[sole tenancy(単一テナント)]の順にクリックして展開します。
  6. User Data(ユーザーデータ)]フィールドに以下を入力します。

    #!/bin/bash echo "Add an enrollment token" sudo mkdir -p /var/lib/sftd echo "<enrollment-token>" | sudo tee /var/lib/sftd/enrollment.token export DEBIAN_FRONTEND=noninteractive echo "Add a basic sftd configuration" sudo mkdir -p /etc/sft/ sftcfg=$(cat <<EOF --- # CanonicalName:このホストへの接続時にクライアントが使用/認識する名前を指定します。CanonicalName: "ubuntu-target" EOF ) echo -e "$sftcfg" | sudo tee /etc/sft/sftd.yaml echo "Retrieve information about new packages" sudo apt-get update sudo apt-get install -y curl echo "Add the ScaleFT testing apt repo to your /etc/apt/sources.list system config file" echo "deb http://pkg.scaleft.com/deb/ linux main" | sudo tee -a /etc/apt/sources.list echo "Trust the repository signing key" curl -C - https://dist.scaleft.com/pki/scaleft_deb_key.asc | sudo apt-key add - echo "Retrieve information about new packages" sudo apt-get update echo "Install sftd" sudo apt-get install scaleft-server-tools

    注:このスクリプトはサーバー用のsftd.yamlファイルを作成し、正規名としてubuntu-targetを使用します。必要に応じて、この情報を変更、生成して、チームとプロジェクトの環境に適合させます。

  7. [User Data(ユーザーデータ)]フィールドの<enrollment_token>を、以前に作成した登録トークンで置き換えます。
  8. [Create(作成)]をクリックします。

VM instances(VMインスタンス)]ページでサーバーの作成が完了したら、サーバーに接続する前に、サーバーがAdvanced Server Accessのプロジェクトの[Server(サーバー)]タブにリストされていることを確認してください。

次の手順

サーバー登録を確認する