stancel.create-digitalocean-droplet
DigitalOcean ドロップレットの作成
DigitalOcean のドロップレットを作成し、指定された URL(create_digitalocean_droplet_server_fqdn
変数)でアクセスできるように DNS エントリを追加するための役割です。この役割は、新しく作成されたサーバーを「new_server」という Ansible グループに追加し、そのホスト値を使用して、同じプレイブックの後続の役割で追加の設定を適用します。
要件
この役割を使用するために、以下のアイテムが必要です。
* DigitalOcean アカウント
* 環境変数「DO_API_TOKEN」に保存された DO アカウントの API キー
* 追加するルートドメイン(server_fqdn)のネームサーバーは、DigitalOcean のネームサーバーに向ける必要があります
* DO アカウントにアップロードされた SSH キーと、そのフィンガープリント(MD5 ハッシュ値)が (ssh_keys) 変数リストに保存されていること
役割の変数
あなたの DigitalOcean ドロップレットのホスト名。これは Linux VPS に設定されるホスト名であり、ドロップレットのリストに表示される名前です。
create_digitalocean_droplet_host_name: "my-hostname-here"
新しく作成した DigitalOcean ドロップレットに DNS エントリを持たせるためのドメイン名エントリ。
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
DigitalOcean API キーの値を持つ環境変数 DO_API_TOKEN。
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
DO アカウントにアップロードした SSH 鍵に対応する SSH キーのフィンガープリントのリスト。これにより、ドロップレット作成時にアクセスを許可します。フィンガープリントは、DO アカウントの設定に行き、セキュリティタブで SSH キーを追加してコピーするか、すでにアップロードされた SSH キーのフィンガープリントをコピーすることで見つけることができます。
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
- "e4:1d:b2:d1:e1:42:c7:5c:b6:71:75:2b:f4:8d:bf:c7"
作成したいドロップレットのサイズ。デフォルトサイズは 1GB です。
create_digitalocean_droplet_droplet_size: "1gb"
新しく作成する DigitalOcean ドロップレットのベースイメージとして使用するイメージ。デフォルトイメージは Ubuntu 16.04 LTS(ubuntu-16-04-x64)です。
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
ドロップレットを作成したい DigitalOcean のリージョン(データセンター)。デフォルトは「nyc1」です。
create_digitalocean_droplet_region: "nyc1"
依存関係
なし
例プレイブック
役割の使い方(例として、変数をパラメータとして渡す方法)は、ユーザーにとっても役立ちます:
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
または
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "my-hostname-here"
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
create_digitalocean_droplet_droplet_size: "1gb"
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
region: "nyc1"
roles:
- { role: stancel.create-digitalocean-droplet }
ライセンス
BSD
著者情報
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
ansible-galaxy install stancel.create-digitalocean-droplet