タグボートを使用してターミナルからDigitalOceanドロップレットを管理する方法
序章
この記事を読んでいる場合は、コントロールパネル内から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が表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/tugboat/client_id.png ” alt =“ DigitalOceanクライアントID” />
この下で、APIキーをまだ設定していない場合は、キーを生成するように指示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/tugboat/generate_key.png ” alt =“ DigitalOcean Generate Key” />
APIキーが生成されます。 このキーを安全な場所にコピーします。 このページをクリックすると、はで再び利用できなくなります。 キーを紛失した場合は、キーを再生成する必要があります。
Tugboatを構成するには、クライアントIDとAPIキーの両方が必要なので、このウィンドウを開いたままにします。
タグボートの初期構成
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を作成します
追加の引数がない場合、ドロップレットは~/.tugboat
ファイルのdefaultセクションの基準に従って作成されます。
いくつかのオプションのフラグを渡すことで、この動作を変更できます。 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_username : tugboat_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チームに感謝します!