序章


この記事を読んでいる場合は、コントロールパネル内からDigitalOceanドロップレットを管理する方法におそらく精通しているでしょう。

Tugboat は、 Jack Pearkes やその他の寄稿者によって作成された、エキサイティングなオープンソースアプリケーションであり、コマンドラインインターフェイスからドロップレットを管理するために使用できます。

このガイドでは、Ubuntu14.04VPSを使用してTugboatをインストールおよび構成します。 これは、他のDigitalOceanドロップレットの「コントロール」ドロップレットとして機能します。

目次


タグボートの設置方法


SSHを使用するか、ドロップレットページのコンソールアクセスボタンをクリックして、新しいドロップレットにログインします。

TugboatはRubyアプリケーションです。つまり、RubyGemsパッケージマネージャーを使用して簡単にインストールできます。

まず、UbuntuのデフォルトリポジトリからRubyをインストールする必要があります。

sudo apt-get update
sudo apt-get install ruby ruby-dev build-essential

これで、RubyGemsを使用してタグボートをインストールできます。 また、 system_timer をインストールして、後で通知メッセージが繰り返されないようにします。

sudo gem install tugboat
sudo gem install system_timer

これで、Tugboatがシステムにインストールされました。 設定しましょう。

APIキーを生成する方法


Tugboatがドロップレットを管理するには、DigitalOceanAPIインターフェースを介してアカウントにアクセスすることをTugboatに許可する必要があります。 これは簡単な手順です。

DigitalOceanWebサイトでアカウントにログインします。

コントロールパネルの左側のナビゲーションバーにあるAPIをクリックします。

アカウントを参照する値が事前に入力されたクライアントIDが表示されます。

https://assets.digitalocean.com/articles/tugboat/client_id.png ” alt =“ DigitalOceanクライアントID” />

この下で、APIキーをまだ設定していない場合は、キーを生成するように指示されます。

https://assets.digitalocean.com/articles/tugboat/generate_key.png ” alt =“ DigitalOcean Generate Key” />

APIキーが生成されます。 このキーを安全な場所にコピーします。 このページをクリックすると、で再び利用できなくなります。 キーを紛失した場合は、キーを再生成する必要があります。

Tugboatを構成するには、クライアントIDAPIキーの両方が必要なので、このウィンドウを開いたままにします。

タグボートの初期構成


Tugboatには、次のように入力して呼び出すことができる初期構成コマンドが含まれています。

tugboat authorize

タグボートをDigitalOceanアカウントに関連付けるために必要な一連の質問が表示されます。

最初の2つの質問については、開いたAPIページから値をコピーして貼り付けます。

クライアントキーを入力してください: Client_ID_from_API_page APIキーを入力してください: API_Key_from_API_page

次の3つの質問には、すべてのドロップレットに接続するために必要なSSH認証の詳細が含まれます。

Enter を押して、デフォルトのSSHキーパスを受け入れます。 通常、他のドロップレットに接続する方法によっては、SSHユーザーを別の値(rootなど)に変更することをお勧めします。 別のポートを使用してドロップレットに接続しない限り、Enterを押してデフォルトのSSHポートを受け入れます。

SSHキーパスを入力します(オプション、デフォルトは〜/ .ssh / id_rsa):SSHユーザーを入力します(オプション、デフォルトはデモ): root SSHポート番号を入力します(オプション、デフォルトは22):

次に、新しい液滴の作成に使用されるデフォルト設定について説明します。 今のところ、これらのプロンプトで Enter を押して、デフォルト値を受け入れます。

Enter your default region ID (optional, defaults to 1 (New York)): 
Enter your default image ID (optional, defaults to 284203 (Ubuntu 12.04 x64)): 
Enter your default size ID (optional, defaults to 66 (512MB)): 
Enter your default ssh key ID (optional, defaults to none): 

キーが受け入れられたことを確認する返信が届きます。

Authentication with DigitalOcean was successful.

選択した内容は、ホームディレクトリの隠しファイルに保存されます。 .tugboat:

nano ~/.tugboat

---
authentication:
  client_key: xxxxxxxxxxxxxxxxxxxxxx
  api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
defaults:
  ssh_key: ""
  size: "66"
  image: "284203"
  region: "1"
ssh:
  ssh_port: "22"
  ssh_user: root
  ssh_key_path: /home/demo/.ssh/id_rsa

APIキーを再生成する必要がある場合は、DigitalOcean Webサイトで再生成した後、ここで変更する必要があります。

その後、次のように入力して、アプリケーションが正しく関連付けられることを再確認する必要があります。

tugboat verify

SSHセクションを変更する場合は、一目瞭然です。

デフォルトセクションを変更するために必要な情報を見つける方法については、後で説明します。

ドロップレットに接続する


これで、タグボートを探索するのに十分な構成ができました。

すべてのタグボートコマンドはで始まります tugboat アクションが続きます。

アカウントにある液滴をリストしてみましょう。

tugboat droplets

irssi (ip: xxx.xxx.xxx.xx, status: active, region: 1, id: 3150xx)
tug (ip: xxx.xxx.xxx.xxx, status: active, region: 4, id: 3372xx)
test (ip: xxx.xxx.xxx.xx, status: active, region: 4, id: 3373xx)
DigitalOcean20Dollar (ip: xxx.xxx.xxx.xxx, status: active, region: 4, id: 3520xx)
archtestmail (ip: xxx.xxx.xxx.xx, status: active, region: 4, id: 4328xx)
TugWrite (ip: xxx.xxx.xxx.xxx, status: active, region: 4, id: 4496xx)

これは、Webインターフェイスのドロップレットの画面に似ています。 相互作用できる各液滴が一覧表示されます。

タグボートを使用して、ドロップレットの1つにSSHで接続しましょう。

tugboat ssh ourDroplet

Droplet fuzzy name provided. Finding droplet ID...done, 3150xx (ourDroplet)
Executing SSH (ourDroplet)...
Warning: Identity file /home/demo/.ssh/id_rsa not accessible: No such file or directory.
[email protected]'s password:

ご覧のとおり、次のパスワードを求められます root@ourDroplet. SSHキーを設定していれば、追加の操作を必要とせずに接続されていたはずです。

液滴から出て、タグボートの液滴に戻ります。

タグボート体験全体に存在する機能は、「ファジーな名前のマッチング」です。 これは、Tugboatが十分に明確なコマンドを認識することを意味します。

たとえば、次のように入力しても同じ結果になります。

tugboat drop

タグボートが拡大します drop 意味する droplets 追加の入力なしで実行します。

これは、ドロップレット名でも機能します。

液滴管理


コントロールパネルで通常実行するすべてのタスクは、タグボートで実行できます。

ドロップレット情報を取得する


特定の液滴に関する詳細情報を取得するには、次のように入力します。

タグボート情報droplet_name
Name:             irssi
ID:               3150xx
Status:           active
IP:               xxx.xxx.xxx.xx
Region ID:        1
Image ID:         479972
Size ID:          66
Backups Active:   false

これは、私たちが droplets コマンドですが、イメージID、サイズID、バックアップが有効かどうかなど、いくつかの追加フィールドがあります。

液滴電力管理


適切なコマンドを発行することで、液滴の電源オン状態を制御できます。

現在ダウンしているドロップレットを起動するには、次のように入力します。

タグボート開始droplet_name

ドロップレットを再起動するには、次のように入力します。

タグボートの再起動droplet_name

ドロップレットの電源を切るには、次のように入力します。

タグボート停止droplet_name

液滴の作成と破壊


ドロップレットは、次のように入力するだけで削除できます。

タグボートはdroplet_nameを破壊します

これは不可逆的な結果をもたらすため、液滴が破壊される前にアクションを確認するように求められます。

Droplet fuzzy name provided. Finding droplet ID...done, 4530xx (blahblah)
Warning! Potentially destructive action. Please confirm [y/n]:

yおよびEnterと入力して、液滴を破壊します。

ドロップレットを作成するには、次の構文を使用できます。

タグボートはdroplet_nameを作成します

追加の引数がない場合、ドロップレットは、のdefaultセクションの基準に従って作成されます。 ~/.tugboat ファイル。

いくつかのオプションのフラグを渡すことで、この動作を変更できます。 createの使用法の詳細を取得するには、追加の引数として「create」アクションを指定して「help」コマンドを使用します。

tugboat help create

Usage:
  tugboat create NAME

Options:
  -k, [--keys=KEYS]  # A comma separated list of SSH key ids to add to the droplet
  -s, [--size=N]     # The size_id of the droplet
  -r, [--region=N]   # The region_id of the droplet
  -i, [--image=N]    # The image_id of the droplet

Create a droplet.

ご覧のとおり、サイトにアップロードしたSSHキーを埋め込み、作成プロセスのサイズ、リージョン、ベースイメージを指定できます。

これらのパラメータの適切な値を見つける方法については、以下で説明します。

液滴作成設定


使用可能なオプションをサイトに照会することで、液滴の作成に使用する設定を選択できます。

サイズとそれに関連するIDのリストを表示するには、次のように入力します。

tugboat sizes

Sizes:
512MB (id: 66)
1GB (id: 63)
2GB (id: 62)
4GB (id: 64)
8GB (id: 65)
16GB (id: 61)
32GB (id: 60)
48GB (id: 70)
64GB (id: 69)
96GB (id: 68)

ご覧のとおり、各サイズはIDに関連付けられており、そのIDを使用してその値を参照します。

したがって、2 GBの液滴を作成する場合は、次のコマンドを発行できます。

タグボート作成-s62droplet_name

同様のコマンドを使用して、使用可能な領域を確認できます。

tugboat regions

Regions:
New York 1 (id: 1)
Amsterdam 1 (id: 2)
San Francisco 1 (id: 3)
New York 2 (id: 4)

アップロードされたSSHキーを新しいドロップレットに埋め込むのは簡単です。 あなたは発行することによってそれらを見つけることができます:

tugboat keys

SSH Keys:
Work key (id: 12345)
Home key (id: 56789)

使用可能な画像を表示するコマンドは、デフォルトで保存したスナップショットが表示されるため、少し複雑です。

tugboat images

My Images:
Ubuntu Basic setup (id: 4799xx, distro: Ubuntu)
Arch default (id: 4811xx, distro: Arch Linux)
LAMP Ubuntu (id: 4908xx, distro: Ubuntu)
LAMP Success (id: 5838xx, distro: CentOS)

関連付けられたIDを使用して、これらのいずれかを選択してベースイメージとして使用できます。

事前構成されたすべてのディストリビューションおよびアプリケーションイメージを含む、より完全なリストを取得するには、グローバルフラグを追加します。

tugboat images -g

My Images:
. . .

Global Images:
CentOS 5.8 x64 (id: 1601, distro: CentOS)
CentOS 5.8 x32 (id: 1602, distro: CentOS)
Debian 6.0 x64 (id: 12573, distro: Debian)
Debian 6.0 x32 (id: 12575, distro: Debian)
. . .

利用可能な画像の大きなリストが表示されます。 これらは、他の設定と同様に、IDによっても参照されます。

これらは、の「デフォルト」設定の値を変更するために必要な情報です。 ~/.tugboat 構成ファイル。

その他の管理


を使用してスナップショットを撮るには snapshot コマンド、タイプ:

タグボートスナップショットname_of_snapshotdroplet_to_snapshot

ドロップレットのサイズを変更するには、新しいサイズ基準をに指定する必要があります resize 指図。 これを正常に実行するには、ドロップレットの電源をオンにする必要があります。

タグボートのサイズ変更droplet_name -ssize_ID

ドロップレットのルートパスワードをリセットするには、単に password-reset 指図:

タグボートのパスワード-droplet_nameをリセット

ドロップレットに設定された新しいパスワードが記載されたメールが届きます。

ヘルプシステムの使い方


タグボートには素晴らしいヘルプシステムが含まれています。 次のように入力すると、いつでも一般的なヘルプにアクセスできます。

tugboat help

これにより、使用できるすべてのコマンドのリストが表示されます。

よりきめ細かいヘルプを取得するには、後にコマンド名を指定します help.

たとえば、 authorize コマンド、タイプ:

tugboat help authorize

その他の考慮事項


SSHキーを設定する方法


SSHを利用するほとんどのアプリケーションと同様に、Tugboatは適切に構成されたSSHキーの恩恵を受けます。

公開鍵と秘密鍵のペアをすでに作成し、公開鍵をDigitalOceanページにアップロードしてドロップレットの作成に使用している場合は、秘密鍵をTugboatドロップレットにコピーできます。

これを行うには、DigitalOceanドロップレットへのアクセスに使用するコンピューターにログインします。 ssh構成ディレクトリに移動します。

cd ~/.ssh

scpを使用して、秘密鍵をTugboatドロップレットにコピーします。

scp id_rsa tugboat_username @ tugboat_droplet_ip :/ home / tugboat_username /.ssh/

タグボートの液滴にログインします。 の所有権を変更します id_rsa Tugboatで使用しているユーザー名と一致するファイル。

sudo chown tugboat_usernametugboat_username〜 / .ssh / id_rsa

これで、パスワードなしでそのキーを使用して作成されたドロップレットに接続できるようになります。

タグボートsshexample_droplet

新しい液滴の作成にこのキーを使用するように構成ファイルを変更することを忘れないでください!

まだ行っていない場合は、この記事に従ってキーペアを設定し、公開キーをDigitalOceanページにアップロードしてください。

タグボートでスクリーンを使用する方法


Tugboatで非常に役立つツールの1つは、 screen、ターミナルマルチプレクサ。

簡単に言うと、このツールを使用すると、1つのウィンドウから複数のターミナルセッションを管理できます。 それぞれが独立したシェルセッションである複数の「ウィンドウ」を作成して切り替えることができます。

これは、複数のSSHセッションを処理する場合に特に便利です。これは、Tugboatで実行できることとまったく同じです。

次のように入力して、Ubuntuに画面をインストールします。

sudo apt-get update
sudo apt-get install screen

次のように入力して、アプリケーションを起動します。

screen

現在、実際に動作しているターミナルセッションを使用しています screen.

ここで次のように入力して、ドロップレットに接続できます。

タグボートsshドロップレット1

次に、次のように入力して新しいウィンドウを作成します。

Ctrl-a c

つまり、 control キーを押して、 a キー、続いて c 鍵。 これにより、新しいウィンドウが作成されます。

次のように入力して、このウィンドウの新しいドロップレットに接続します。

タグボートsshdroplet2

次のように入力して、ウィンドウを切り替えることができます。

Ctrl-a n

次のように入力すると、ウィンドウを破棄できます。

Ctrl-a k

画面の使用方法の詳細については、ここをクリックしてください。 同様のターミナルマルチプレクサであるtmuxの使用方法については、ここをクリックしてください。

結論


タグボートは、ターミナル環境を離れることなく液滴を管理するための優れたツールです。 それはあなたの液滴を追跡し、あなたのセッションを管理するための統一されたインターフェースを提供します。

Tugboatを正しく構成すると、hostsファイルの継続的なメンテナンスを実行したり、ターミナルウィンドウとブラウザーウィンドウの間を行ったり来たりする手間が省けます。

ソフトウェアに問題がある場合、またはプロジェクトに貢献したい場合は、Githubタグボートページにアクセスしてください。

DigitalOceanコミュニティにこのような貴重なツールを提供してくれたJackPearkes とTugboatチームに感謝します!

ジャスティン・エリングウッド