登録トークンを使ってGCPサーバーをデプロイする
このトピックでは、ユーザーデータおよびアドバンストサーバーアクセスの登録トークンを使ってUbuntuまたはDebian GCP(Google Cloud Platform)サーバーをsystemdによってデプロイする方法について説明します。このプロセスは、特定のニーズに合わせて修正が必要になる場合があります。
ユーザーデータを使用してクラウドサーバーを作成することは、クラウドプロバイダーを使用してサーバーを作成するときに、アドバンストサーバーアクセスのエージェントを同時にインストールすることを意味します。ユーザーデータを使用して、新しいクラウドサーバーにソフトウェアをインストールする場合、このインストールは任意のクラウドプロバイダーを介して実行できますが、ユーザーデータは必要な特定のソフトウェアを決定するのに役立ちます。クラウドサーバーの作成時にアドバンストサーバーアクセスのエージェントをクラウドサーバーにインストールする必要はありませんが、サーバーの作成と同時に起動スクリプトとしてインストールを実行すると、クラウドのデプロイメントが可能な限り安全になります。
前提条件
Google Cloud Platform
必要条件 |
説明 |
---|---|
Google Cloud Platformアカウント | チームの仮想マシンを作成するためにGCPコンソールにアクセスするには、Google Cloud Platformのアカウントが必要です。 |
アドバンストサーバーアクセス
必要条件 |
説明 |
---|---|
アドバンストサーバーアクセスのチーム | アドバンストサーバーアクセス内のOkta組織を表す最上位レベルのオブジェクトです。 |
アドバンストサーバーアクセスのプロジェクト | ユーザー、グループ、サーバーを編成するチームの承認の範囲です。 |
アドバンストサーバーアクセスの登録トークンを作成する
- アドバンストサーバーアクセスのダッシュボードで[Projects(プロジェクト)]をクリックします。
- サーバーを追加するプロジェクトを選択します。
-
[Enrollment(登録)]タブに移動し、[Create Enrollment Token(登録トークンを作成する)]をクリックします。
注:サーバーをチームに追加するたびに、同じ登録トークンを使うことができます。既に登録トークンを作成している場合は、この手順を省略してください。
- トークンの説明を入力し、[Submit(送信)]をクリックします。
トークンが正常に作成されたら、[Token(トークン)]フィールドの文字列を記録して、後の手順で使用するために安全な場所に保存します。
GCPプロジェクトを作成する
- Google Cloud Platformコンソールへ移動し、アカウントにサインインします。
- [Select a project(プロジェクトを選択する) ]メニューの[New Project(新規プロジェクト)]をクリックします。
- プロジェクトに新しい名前を付け、[Location(場所)]フィールドを使用して親組織またはフォルダーを設定します。
- プロジェクトの作成が終了したら、[Create(作成)]をクリックします。
- 新しいプロジェクトのダッシュボードで、[Project Info(プロジェクト情報)]セクションからプロジェクトID番号をコピーし、安全な場所で保管します。
注:プロジェクトのダッシュボードを見つけるには、コンソールの上部にある[Select a project(プロジェクトの選択)]フィールドを使用します。
ユーザーデータを使用して仮想マシンを作成して登録する
- GCPコンソールで[Compute Engine(コンピューティングエンジン)]および[VM instances(VMインスタンス)]を選択します。
- メッセージが表示されたら、[Select a project(プロジェクトを選択する)]ドロップダウンから新しいプロジェクトを選択します。
- [Create(作成)]をクリックします。
- 新しいサーバーに名前を作成し、地域とゾーンを設定します。これらのオプションは、サーバーの場所を特定します。
- [Management(管理)]、[security(セキュリティ)]、[disks(ディスク)]、[networking(ネットワーク)]、[sole tenancy(単一テナント)]の順にクリックして展開します。
-
[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を使用します。必要に応じて、この情報を変更、生成して、チームとプロジェクトの環境に適合させます。
- [User Data(ユーザーデータ)]フィールドの<enrollment_token>を、以前に作成した登録トークンで置き換えます。
- [Create(作成)]をクリックします。
[VM instances(VMインスタンス)]ページでサーバーの作成が完了したら、サーバーに接続する前に、サーバーがアドバンストサーバーアクセスのプロジェクトの[Server(サーバー)]タブにリストされていることを確認してください。