_このチュートリアルの以前のバージョンはhttps://www.digitalocean.com/community/users/bpb[Brennen Bearnes]によって作成されました。

前書き

DigitalOceanのWebベースのコントロールパネルは、ドロップレットを管理するためのポイントアンドクリックインターフェイスを提供します。 ただし、管理するドロップレットが多数ある場合、グラフィカルデスクトップを使用せずにターミナルからドロップレットを管理する必要がある場合、またはスクリプト可能なインターフェイスの恩恵を受けるタスクがある場合は、コマンドラインツールを使用することをお勧めします。

`+ doctl +`は公式のDigitalOceanコマンドラインクライアントです。 DigitalOcean APIを使用して、ほとんどのアカウントおよびドロップレット機能へのアクセスを提供します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

このチュートリアルは、ほとんどの `+ doctl `の操作の参照を目的としています。 ` doctl +`コマンドはAPIと密接に類似しているため、https://developers.digitalocean.com/documentation/v2/ [API documentation]およびhttps://www.digitalocean.com/community/を読むことも役立つ場合があります。 tutorials / how-to-use-the-digitalocean-api-v2 [DigitalOcean API v2の使用方法]。

一般的な `+ doctl +`の使用法

コマンドの呼び出し

`+ doctl +`では、ユーティリティにコマンド、1つ以上のサブコマンド、および特定の値を指定する1つ以上のオプションを指定することにより、個々の機能が呼び出されます。 コマンドは、3つの主要なカテゴリに分類されます。

  • アカウント関連情報の場合は「アカウント」

  • DigitalOceanで認証するための + auth +

  • インフラストラクチャを管理するための + compute +

すべてのコマンドの概要を表示するには、 `+ doctl `を単独で呼び出します。 3つの主要なカテゴリのいずれかで使用可能なすべてのコマンドを表示するには、「 doctl compute 」のように「 doctl 」を使用できます。 特定のコマンドの使用ガイドについては、 ` doctl computedropdrop –help `のように、コマンドに `-help +`フラグを付けて入力してください。

JSON形式でのデータの取得

スクリプト環境で、またはデータ処理ツールを使用してコマンドラインで作業する場合、多くの場合、コマンドから機械可読の出力を取得すると役立ちます。

デフォルトでは、 `+ doctl `は出力を人間が読めるテキストの列にフォーマットしますが、 `-output json +`オプションを使用して詳細なJSON出力を生成できます。

doctl compute droplet get  --output json
Sample Output{
 "id": ,
 "name": "",
 "memory": 1024,
 "vcpus": 1,
 "disk": 30,
 "region": {
   "slug": "nyc3",
   "name": "New York 3",
   "sizes": [
...

JSON出力は、ほとんどのプログラミング言語の標準ライブラリで読み取り可能な形式であることに加えて、Dropletおよびその他のリソースのより詳細な検査を可能にする場合があります。

フォーマット

出力から一連のフィールドのみを取得すると便利な場合がよくあります。 これを行うには、 `+-format +`フラグを使用します。これは、名前でフィールドのリストを取得します。 たとえば、ドロップレットのID、名前、およびIPアドレスのみを取得する場合、次のコマンドを使用できます。

doctl compute droplet list --format "ID,Name,PublicIPv4"
Sample outputID          Name       Public IPv4
50513569    doctl-1    67.205.152.65
50513570    test       67.205.148.128
50513571    node-1     67.205.131.88

テンプレート

`+ doctl computedroplet get `コマンドは出力テンプレートをサポートしており、出力のフォーマットをカスタマイズできます。 この機能を使用するには、 `-template +`フラグでhttps://golang.org/pkg/text/template/[Go-formatted template]を指定します。

たとえば、「+ droplet_name:」という形式でドロップレットの名前を取得するには、次の「 get +」コマンドを使用します。

doctl compute droplet get  --template "droplet_name: {{ .Name}}
Outputdroplet_name: ubuntu-1gb-nyc3-01

リソースの使用

リソースのリスト

Dropletsのようなリソースのリストを取得するには、パラメーターなしで `+ list`コマンドを使用できます。

doctl compute droplet list
Sample output for list commandID          Name       Public IPv4       Private IPv4    Public IPv6    Memory    VCPUs    Disk    Region    Image                 Status    Tags
50513569    test-1     67.205.152.65                                    512       1        20      nyc1      Ubuntu 16.04.2 x64    active
50513571    test-2      67.205.131.88                                    512       1        20      nyc1      Ubuntu 16.04.2 x64    active
50513570    site       67.205.148.128                                   512       1        20      nyc1      Ubuntu 16.04.2 x64    active

`+ list `コマンドはオプションのパラメーターとしてglobをサポートします。 globは、特定のリソースを名前でフィルタリングするために使用できるワイルドカード文字を使用してパターンを表します。 たとえば、名前が「 test +」で始まるドロップレットのリストを取得するには、次のコマンドを使用できます。

doctl compute droplet list 'test*'
Sample output for list command with 'doctl-' as globID          Name       Public IPv4       Private IPv4    Public IPv6    Memory    VCPUs    Disk    Region    Image                 Status    Tags
50513569    test-1     67.205.152.65                                    512       1        20      nyc1      Ubuntu 16.04.2 x64    active
50513571    test-2      67.205.131.88                                    512       1        20      nyc1      Ubuntu 16.04.2 x64    active

リソースを作成する

リソースを作成するには、より詳細なパラメーターを持つより長いコマンドが必要です。 ドロップレットを作成するには、使用する画像、データセンターの地域、および関連するスラッグを使用して必要なドロップレットの種類を指定する必要があります。 https://developers.digitalocean.com/documentation/changelog/api-v2/new-size-slugs-for-droplet-plan-changes/ [ドロップレットプランの変更用の新しいサイズのスラッグ+]を参照して、目的のスラッグを見つけてください。つかいます。 または、 `+ doctl compute size list +`コマンドを実行します。

たとえば、次のコマンドは、1GBのメモリ、1つのCPU、SSHキー、およびバックアップが有効な* test *という名前の64ビットDebian 8ドロップレットを作成します。

doctl compute droplet create  --size  --image  --region  --ssh-keys  --enable-backups

次の出力が表示されます。

Sample Droplet creation outputID              Name    Public IPv4     Memory  VCPUs   Disk    Region  Image           Status
11450164        test                    1024    1       30      nyc1    Debian 8.3 x64  new

リソースを削除するには、引数としてリソースIDが必要です。または、特定のリソースにIDが存在しない場合はリソース名が必要です(例: タグ)。 意図を確認するには、確認の質問に「+ y 」または「 yes +」で答えて、すべての削除アクションを確認する必要があります。

doctl compute droplet delete
OutputWarning: Are you sure you want to delete droplet(s) (y/N) ?

回答を提供しないか、「+ y 」または「 yes 」と異なる回答を提供すると、リソースを削除せずにアクションがキャンセルされます。 `-f `( `-force `)フラグを使用して、明示的に提供せずに、 ` doctl +`に肯定的な回答を想定させることができます。

doctl compute droplet delete -f

リソースの一意の識別子の検索

Droplet作成コマンドには、NYC1リージョンの「」、Debianイメージの「」、「++」のようなSSHキーフィンガープリントなどの一連の識別子が必要です。

ドロップレットや画像などの多くのリソースは、DigitalOceanのデータベース内で一意の値(多くの場合数値)によって識別されます。

APIからほとんどのコマンドに必要な一意の識別子を取得できます。

Command Notes

doctl compute droplet list

Your Droplets. Some commands also take the name; most require the numeric value from the ID column.

doctl compute ssh-key list

The SSH keys associated with your account. For Droplet creation, you can specify either the numeric ID or fingerprint.

doctl compute region list

Available regions. Use the string in the Slug column.

doctl compute image list

Available images, including snapshots, backups, and base distribution images. Use the string in the Slug column for creating new Droplets.

doctl compute size list

Available Droplet sizes. Use the string in the Slug column.

doctl compute tag list

Available Tags. Use the string in the Name column.

液滴の使用

ドロップレットの作成、削除、検査

`+ doctl computeドロップレット+`コマンドを使用すると、ドロップレットを作成、削除、および検査できます。 繰り返しますが、個々のドロップレットを操作するためのほとんどのコマンドには、ドロップレットの一意のIDが必要です。これらのIDは、 `+ doctldroplet list +`の出力で確認できます。

doctl compute droplet subcommand Notes

+actions +

Display a history of actions taken for a Droplet.

+backups +

List backups for a Droplet.

+create name --size --image --region +

Create a Droplet. Size, image and region are all mandatory.

+delete +

Delete a Droplet by id or name.

+get +

Get details for a particular Droplet.

+kernels +

List kernels for a Droplet.

list

List your current Droplets.

+neighbors +

List your Droplets running on the same physical hardware as a specific Droplet.

+snapshots +

List snapshots for a Droplet.

+tag +

Tag a Droplet.

+untag +

Untag a Droplet.

ドロップレットアクションの開始

`+ doctl compute drop-action +`コマンドを使用すると、電源管理アクションやバックアップやプライベートネットワークなどの機能の切り替えなど、Dropletのさまざまなアクションをトリガーできます。

doctl compute droplet-action subcommand Notes

+get --action-id +

Get details about action on a Droplet.

+disable-backups +

Disable backups for a Droplet.

+reboot +

Reboot a Droplet.

+power-cycle +

Turn a Droplet off and back on again.

+shutdown +

Shut down a Droplet.

+power-off +

Power off a Droplet. The Droplet must be powered on. It’s usually best to do this from the command line of the Droplet itself in order to prevent data loss.

+power-on +

Power on a Droplet. The Droplet must be powered off.

+power-reset +

Power reset Droplet.

+enable-ipv6 +

Enable ipv6 for a Droplet.

+enable-private-networking +

Enable private networking for a Droplet.

+upgrade +

Upgrade a Droplet.

+restore --image-id +

Restore a Droplet to a specific backup image. The ++ must be a backup of the Droplet.

+resize --size +

Resize a Droplet. The Droplet must be powered off. By default, disk is not resized, which allows Droplet to be downgraded. You can resize disk using the --resize-disk flag.

+rebuild --image-id +

Rebuild a Droplet from a specific image.

+rename --droplet-name +

Rename a Droplet to ++.

+change-kernel --kernel-id +

Change a Droplet’s kernel to ++.

+snapshot --snapshot-name +

Take a snapshot of a Droplet, naming it ++.

SSHでの作業

SSH接続の作成

SSHで個々のドロップレットに接続するには、通常、そのIPアドレスまたは完全修飾ドメイン名のいずれかを知っている必要があります。 代わりに、 `+ doctl +`を使用して、名前、数値ID、またはプライベートIPでドロップレットに接続できます。

doctl compute ssh
doctl compute ssh
doctl compute ssh --ssh-private-ip

また、 `+-ssh-command +`フラグを使用して、SSH接続が確立された後に実行するコマンドを提供できます。 これによりコマンドが実行され、その出力がローカル端末に出力され、SSHセッションが閉じます。

doctl compute ssh --ssh-command

デフォルトのSSHユーザー名は* root (CoreOSの場合は core *)であり、デフォルトのポートは `+ 22 +`です。 フラグを使用して、デフォルト以外の値を設定し、他の機能を有効にできます。

Flag Description

+--ssh-user +

User name to use for the SSH session.

+--ssh-port +

The port for the SSH session.

+--ssh-key-path +

Path to SSH key.

--ssh-agent-forwarding

Enable agent forwarding.

構成ファイルのデフォルト構成値を変更することもできます。 https://github.com/digitalocean/doctl#configuring-default-values [プロジェクトのREADMEファイル]には、これを行う方法の詳細が記載されています。

SSHキーの使用

`+ doctl compute ssh-key +`コマンドを使用して、アカウントに関連付けられたSSH公開キーを管理できます。 SSHキーを参照するほとんどのコマンドは、キーの数値IDまたは指紋を受け入れます。

doctl compute ssh-key subcommand Notes

list

List SSH keys associated with your account.

+get +

Get info on a specific key, by numeric ID or key’s fingerprint.

create --public-key ""

Associate a public key with your account by specifying its contents.

+import --public-key-file +

Associate a public key with your account by specifying a source file.

+delete +

Delete a key from your account by numeric ID or fingerprint.

+update --key-name +

Change a key’s name by numeric ID or fingerprint.

フローティングIPの使用

フローティングIPは、パブリックにアクセス可能な静的IPアドレスで、ドロップレットの1つに割り当てることができます。 この機能の詳細な説明については、https://www.digitalocean.com/community/tutorials/how-to-use-floating-ips-on-digitalocean [DigitalOceanでフローティングIPを使用する方法]を参照してください。 `+ doctl compute floating-ip +`でフローティングIPを操作できます。

doctl compute floating-ip subcommand Notes

list

List all Floating IP addresses.

+get +

Get the details for a Floating IP address.

+create --region +

Create a Floating IP in ++ region.

+delete +

Delete a floating IP address.

フローティングIPをドロップレットに割り当てる

`+ doctl compute floating-ip-action +`コマンドは、ドロップレットからのフローティングIPの割り当てまたは割り当て解除に使用されます。

doctl compute floating-ip-action subcommand Notes

+assign +

Assign a Floating IP to the Droplet by its numeric ID.

+unassign +

Unassign a Floating IP.

+get +

Get details about a Floating IP action by its numeric ID.

ドメインでの作業

ドメインを管理するには、 `+ doctl compute domain +`コマンドを使用します。 件名の概要については、https://www.digitalocean.com/community/tutorial_series/an-introduction-to-managing-dns [DNSシリーズの管理の概要]を参照してください。

doctl compute domain subcommand Notes

list

List domains.

+create --ip-address +

Create a domain with default records for ++.

+get +

Get a domain record.

+delete +

Delete a domain.

ドメインレコードの管理

`+ doctl compute domain records +`コマンドを使用して、ドメインのDNSレコードに関する情報を作成、削除、更新、または取得できます。

doctl compute domain records subcommand Notes

+list +

List records for given domain.

+create --record-type +

Create an record for domain.

+delete +

Delete record by numeric ID.

+update --record-id +

Update record by numeric ID.

ブロックストレージボリュームの使用

ブロックストレージボリュームの作成、削除、検査

`+ doctl compute volume +`コマンドを使用して、DigitalOceanのブロックストレージボリュームに関する情報を作成、削除、または取得できます。 この機能の詳細については、https://www.digitalocean.com/community/tutorials/how-to-use-block-storage-on-digitalocean [DigitalOceanでブロックストレージを使用する方法]のガイドを参照してください。

doctl compute volume subcommand Notes

list

List volumes.

+create --region --size +

Create a volume. The name, region, and size are mandatory.

+get +

Get volume by numeric ID.

+delete +

Delete volume.

+snapshot +

Snapshot volume.

ボリュームアクションの開始

`+ doctl compute volume-action +`コマンドを使用すると、ドロップレットへのボリュームの接続やドロップレットからのボリュームの切り離しなど、ボリュームのアクションをトリガーできます。

doctl compute volume-action subcommand Notes

+attach +

Attach a volume to a Droplet.

+detach +

Detach a volume from a Droplet.

+resize --region --size +

Resize a volume.

ロードバランサーの使用

`+ doctl compute load-balancer +`コマンドを使用して、DigitalOceanのロードバランサーに関する情報を作成、削除、または取得できます。 この機能の詳細については、https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-load-balancers [DigitalOcean Load Balancersの紹介]をご覧ください。

doctl compute load-balancer subcommand Notes

list

List load balancers.

+create --name --region --tag-name --forwarding-rules +

Create a Load Balancer. The name, region, a tag or list of Droplet IDs, and at least one forwarding rule are mandatory.

+update --name --region --tag-name --forwarding-rules +

Create a Load Balancer. The name, region, a tag or list of Droplet IDs, and at least one forwarding rule are mandatory.

+get +

Get a load balancer.

+delete +

Delete a load balancer.

+add-droplets --droplet-ids +

Add Droplets to a load balancer.

+remove-droplets --droplet-ids +

Remove Droplets from a load balancer.

+add-forwarding-rules --forwarding-rules +

Add forwarding rules to a load balancer.

+remove-forwarding-rules --forwarding-rules +

Remove forwarding rules from a load balancer.

`+ doctl `の引数として使用する場合、転送ルールは ` entry_protocol:、entry_port:、target_protocol:、target_port:+`のように表現する必要があります。

証明書の管理

`+ doctl compute certificate&`サブコマンドを使用すると、SSL証明書、秘密鍵、証明書チェーンをアップロードおよび管理できます。

doctl compute certificate subcommand Notes

list

List all Certificates.

+get +

Get a Certificate by ID.

+create --name --leaf-certificate-path +

Create a Certificate. Name and Leaf Certificate Path are mandatory.

+delete +

Delete a Certificate by ID.

スナップショットの使用

`+ doctl compute snapshot +`コマンドを使用して、ドロップレットおよびボリュームスナップショットに関する情報を一覧表示、削除、または取得できます。

doctl compute snapshot subcommand Notes

list

List all Snapshots.

+get +

Get a Snapshot.

+delete +

Delete a Snapshot.

新しいスナップショットを作成するには、関連するリソースコマンドツリーの下で適切なコマンドを使用する必要があります。 例えば:

  • `+ doctl computeドロップレットアクションスナップショット+`はドロップレットからスナップショットを作成します。

  • `+ doctl compute volume snapshot +`は、ボリュームからスナップショットを作成します。

画像の操作

`+ doctl compute image `コマンドを使用すると、配布イメージ、アプリケーションイメージ、およびバックアップやスナップショットなどのユーザー作成イメージを含むすべてのイメージを管理できます。 詳細を提供し、削除機能があり、Block Storageスナップショットをサポートしているため、スナップショットの管理には ` snapshot +`コマンドを使用することをお勧めします。

doctl compute image subcommand Notes

list --public

List all images.

list-distribution --public

List all available distribution images.

list-application --public

List all available One-Click Applications.

list-user

List all user-created images.

+get +

Get an Image by ID.

+update --name +

Update Image’s name. Name is mandatory.

+delete +

Delete an Image by ID.

画像アクションの呼び出し

`+ doctl compute image-action +`コマンドを使用すると、イメージを転送し、イメージで呼び出されたアクションに関する詳細を取得できます。

doctl compute image-action subcommand Notes

+get --action-id +

Get an Action for Image by its ID. Action ID is mandatory.

+transfer --region +

Transfer an Image to the another region. Image ID and region are mandatory.

ファイアウォールの使用

`+ doctl compute firewall `コマンドを使用すると、ルールの作成と管理を含め、ファイアウォールを作成および管理できます。 ` doctl +`を使用したファイアウォールの管理の詳細については、https://www.digitalocean.com/community/tutorials/how-to-secure-web-server-infrastructure-with-digitalocean-cloud-firewalls-をご覧ください。 using-doctl [Doctlを使用してDigitalOceanクラウドファイアウォールでWebサーバーインフラストラクチャを保護する方法]チュートリアル。

doctl compute firewall command Notes

list

List all Firewalls.

+list-by-droplet +

List all Firewalls by Droplet’s numeric ID.

+create --name --inbound-rules --outbound-rules +

Create a Firewall. The name and at least an inbound or outbound rule are mandatory.

+update --name --inbound-rules --outbound-rules +

Update a Firewall. The numeric ID, name and at least an inbound or outbound rule are mandatory.

+get +

Get a Firewall by its numeric ID.

+delete +

Delete a Firewall by numeric ID.

+add-droplets --droplet-ids +

Add Droplets by their numeric ID to the Firewall.

+remove-droplets --droplet-ids +

Remove Droplets from the Firewall by their numeric IDs.

+add-tags --tag-names +

Add Tags to the Firewall.

+remove-tags --tag-names +

Remove Tags from the Firewall.

+add-rules --inbound-rules --outbound-rules +

Add inbound or outbound rules to the Firewall.

+remove-rules --inbound-rules --outbound-rules +

Remove inbound or outbound rules to the Firewall.

+ doctl +`の引数として使用する場合、インバウンドまたはアウトバウンドルールは次のように表現する必要があります: `+ protocol:、ports:、droplet_id:+

タグの使用

タグは、カスタムラベルをリソースに適用するために使用され、簡単にフィルタリングできます。 タグの詳細については、https://www.digitalocean.com/community/tutorials/how-to-tag-digitalocean-droplets [DigitalOcean Dropletsのタグ付け方法チュートリアル]をご覧ください。

doctl compute tag subcommand Notes

+create +

Create a Tag.

+get +

Get a Tag by name.

list

List all Tags.

+delete +

Delete a Tag by name.

アカウントでの作業

アカウントのアクションの履歴を読む

DigitalOceanシステムは、ドロップレット、フローティングIP、およびその他のリソースで実行されたアクションの履歴を記録します。 `+ doctl compute action +`コマンドでこのデータにアクセスできます:

doctl compute action list

次のような特定のドロップレットのアクションを確認できます。

doctl compute droplet actions

アカウント情報の取得

設定した電子メールアドレスやドロップレット制限など、アカウントに関する基本的な詳細を確認できます。

doctl account get

APIリクエストはレート制限されているため、最近行ったリクエストの数と、制限がリセットされる時期を確認すると役立つ場合があります。

doctl account ratelimit

結論

`+ doctl +`ユーティリティは、コマンドラインでドロップレットやその他のリソースを管理するのに役立つツールです。 毎日の開発および管理タスクに必要なWebベースのインターフェイスとの手動のやり取りの量を大幅に削減できます。

https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2 [基盤となるAPI]について学習することに加えて、https://developers.digitaloceanを調べることもできます。 .com / libraries / [一般的なプログラミング言語のAPIをラップするライブラリ]、およびhttps://www.digitalocean.com/community/tutorials/how-to-create-ansible-playbooks-to-automate-system-configuration- on-ubuntu [Ansibleなどのツール]は、システムレベルのタスクを自動化します。