Linodeとは
Linode (https://www.linode.com/) は Akamaiが提供するIaaS (Infrastructure as a Service) プラットフォームプロバイダーのサービスです。リノードと発音します。
Akamaiは2022年2月にLinode社の買収を発表しました。
https://www.akamai.com/ja/newsroom/press-release/akamai-to-acquire-linode
クラウドコンピューティングをよりシンプルに、手頃な価格で、誰もが利用できるようにすることで、イノベーションを加速することができます。
https://www.linode.com/ja/alternative-cloud-provider/
Linode CLI とは
Linodeコマンドラインインターフェース(Linode CLI)は、LinodeがGUIベースで標準的に提供している各種の管理サービスをCLIベースで管理するためのツールです。コマンドラインからLinodeの複数サービスを制御、操作し、スクリプトなどを利用して自動化することができます。
Linode CLI インストール
こちらを参考にCLIをインストールします。
pip3コマンドにてlinode-cliとObject Storageを扱う際に利用するbotoをインストールします。
pip3 install linode-cli --upgrade
pip3 install boto
インストールが完了したら、help等が表示されるか確認します。
linode-cli --help
Linode CLIにて利用するアクセスキーの設定を行います。
linode-cli configure
を利用することで、アクセスキーの作成と登録まで一括で行うことができます。
$ linode-cli configure
Welcome to the Linode CLI. This will walk you through some initial setup.
The CLI will use its web-based authentication to log you in. If you prefer to supply a Personal Access Token, use `linode-cli configure --token`.
Press enter to continue. This will open a browser and proceed with authentication.
# Enterキーを押してブラウザを開き、Linodeへアクセスします。
A browser should open directing you to this URL to authenticate:
https://login.linode.com/oauth/xxxxxxxxxxxxxxxxxxxxxxxx
# 自動的にブラウザが開かない場合、上記URLにアクセスして認証を行います。
If you are not automatically directed there, please copy/paste the link into your browser
to continue..
Configuring xxxxx
Default Region for operations. Choices are:
1 - ap-west
2 - ca-central
3 - ap-southeast
4 - us-central
5 - us-west
6 - us-southeast
7 - us-east
8 - eu-west
9 - ap-south
10 - eu-central
11 - ap-northeast
Default Region (Optional): 11 #日本にしたいので11
Default Type of Linode to deploy. Choices are:
1 - g6-nanode-1
2 - g6-standard-1
3 - g6-standard-2
4 - g6-standard-4
5 - g6-standard-6
6 - g6-standard-8
7 - g6-standard-16
8 - g6-standard-20
9 - g6-standard-24
10 - g6-standard-32
11 - g7-highmem-1
12 - g7-highmem-2
13 - g7-highmem-4
14 - g7-highmem-8
15 - g7-highmem-16
16 - g6-dedicated-2
17 - g6-dedicated-4
18 - g6-dedicated-8
19 - g6-dedicated-16
20 - g6-dedicated-32
21 - g6-dedicated-48
22 - g6-dedicated-50
23 - g6-dedicated-56
24 - g6-dedicated-64
25 - g1-gpu-rtx6000-1
26 - g1-gpu-rtx6000-2
27 - g1-gpu-rtx6000-3
28 - g1-gpu-rtx6000-4
Default Type of Linode (Optional): 1 #最小インスタンスをデフォルトとしたいので1
Default Image to deploy to new Linodes. Choices are:
1 - linode/almalinux8
2 - linode/almalinux9
3 - linode/alpine3.12
4 - linode/alpine3.13
5 - linode/alpine3.14
6 - linode/alpine3.15
7 - linode/alpine3.16
8 - linode/arch
9 - linode/centos7
10 - linode/centos-stream8
11 - linode/centos-stream9
12 - linode/debian10
13 - linode/debian11
14 - linode/debian9
15 - linode/fedora34
16 - linode/fedora35
17 - linode/fedora36
18 - linode/gentoo
19 - linode/kali
20 - linode/debian11-kube-v1.20.15
21 - linode/debian9-kube-v1.20.7
22 - linode/debian9-kube-v1.21.1
23 - linode/debian11-kube-v1.21.12
24 - linode/debian9-kube-v1.22.2
25 - linode/debian11-kube-v1.22.9
26 - linode/debian11-kube-v1.23.6
27 - linode/opensuse15.3
28 - linode/opensuse15.4
29 - linode/rocky8
30 - linode/rocky9
31 - linode/slackware14.2
32 - linode/slackware15.0
33 - linode/ubuntu16.04lts
34 - linode/ubuntu18.04
35 - linode/ubuntu20.04
36 - linode/ubuntu21.10
37 - linode/ubuntu22.04
38 - linode/centos8
39 - linode/slackware14.1
40 - linode/ubuntu21.04
Default Image (Optional): 37 # Ubuntuをデフォルトにしたいので37
Active user will remain
Config written to /Users/xxxxx/.config/linode-cli #Configの保存先
インストールは以上で完了です。
Linode CLI を使ってみる
Linode CLIでは様々な操作をコマンドラインインターフェースにて扱うことができます。
実際にいくつかのコマンドを実行してみて、出力を確認します。
Linodeのインスタンスの一覧を取得
linode-cli linodes list
┌──────────┬────────────────────┬────────────┬───────────────┬───────────────────────┬─────────┬───────────────────┐
│ id │ label │ region │ type │ image │ status │ ipv4 │
├──────────┼────────────────────┼────────────┼───────────────┼───────────────────────┼─────────┼───────────────────┤
│ 00000001 │ example-instance │ us-east │ g6-standard-1 │ linode/ubuntu18.04 │ running │ 192.0.2.42 │
│ 00001111 │ centos-us-east │ us-east │ g6-nanode-1 │ linode/centos-stream9 │ running │ 192.0.2.108 │
└──────────┴────────────────────┴────────────┴───────────────┴───────────────────────┴─────────┴───────────────────┘
Linodeの各リージョン情報の取得
linode-cli regions list
┌──────────────┬─────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┐
│ id │ country │ capabilities │ status │
├──────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┤
│ ap-west │ in │ Linodes, NodeBalancers, Block Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │
│ ca-central │ ca │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │
│ ap-southeast │ au │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │
│ us-central │ us │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
│ us-west │ us │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
│ us-southeast │ us │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │
│ us-east │ us │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Bare Metal, Block Storage Migrations, Managed Databases │ ok │
│ eu-west │ uk │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
│ ap-south │ sg │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
│ eu-central │ de │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
│ ap-northeast │ jp │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │
└──────────────┴─────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┘
Linode Object Storageのリージョン情報を取得し、JSONで出力
linode-cli object-storage clusters-list --json | jq
[
{
"id": "us-east-1",
"region": "us-east",
"status": "available",
"domain": "us-east-1.linodeobjects.com",
"static_site_domain": "website-us-east-1.linodeobjects.com"
},
{
"id": "eu-central-1",
"region": "eu-central",
"status": "available",
"domain": "eu-central-1.linodeobjects.com",
"static_site_domain": "website-eu-central-1.linodeobjects.com"
},
{
"id": "ap-south-1",
"region": "ap-south",
"status": "available",
"domain": "ap-south-1.linodeobjects.com",
"static_site_domain": "website-ap-south-1.linodeobjects.com"
},
{
"id": "us-southeast-1",
"region": "us-southeast",
"status": "available",
"domain": "us-southeast-1.linodeobjects.com",
"static_site_domain": "website-us-southeast-1.linodeobjects.com"
}
]
その他のCLIでの操作について
CLIでは様々な操作コマンドを用意しています。
以下に参考になるドキュメントリンクをまとめました。
CLIによるインスタンスの操作
https://www.linode.com/docs/products/tools/cli/guides/linode-instances/
CLIによるObject Storageの操作
https://www.linode.com/docs/products/tools/cli/guides/object-storage/
CLIによるNode Balancersの操作
https://www.linode.com/docs/products/tools/cli/guides/nodebalancers/
CLIによるLinode DNSの操作
https://www.linode.com/docs/products/tools/cli/guides/domains/
CLIによるLinode Kubernetes Engineの操作
https://www.linode.com/docs/products/tools/cli/guides/linode-kubernetes-engine/
CLIによるアカウントの操作
https://www.linode.com/docs/products/tools/cli/guides/account/
CLIによるサポートチケットの操作
https://www.linode.com/docs/products/tools/cli/guides/support-tickets/
まとめ
Linode CLIを活用することで、簡易的な操作をコマンドラインインターフェースで実行できるだけなく、
スクリプトにも組み込むことで、自動化も行うことができるようになります。
ぜひ、Linode CLIを活用してみてください。
関連記事
アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。