Alibab Cloud CLIについて紹介します
Alibaba Cloud CLIの手順
本書は、Alibaba Cloud CLIの使用手順を記載します。
1.Alibaba Cloud CLIとは
Alibaba Cloud CLIは、Alibaba Cloud SDK forGoの上に構築されたオープンソースツールです。 このツールを使用すると、AlibabaCloudオープンAPIを呼び出すことでAlibabaCloud製品が管理できます。コマンドラインシェルでaliyunコマンドを使用して、Alibaba Cloudサービスとやり取ることもできます。
以下のような機能を提供します。
①クラウドリソース管理 Alibaba CloudCLIは、AlibabaCloudのオープンAPIに基づく管理ツールです。 コマンドラインから各クラウド製品APIを直接呼び出すことができ、コンソールにログインしなくてもクラウドリソースが管理および保守できます。
②マルチ製品の統合 ECS、RDS、SLBなどのAlibabaCloudインフラストラクチャ製品の機能を統合します。 同じコマンドラインですべてのAlibabaCloudプラットフォーム製品の構成と管理を完了して、マルチ製品統合が実現できます。
③マルチバージョンのOpenAPI互換 各製品各オープンAPIのバージョンと完全に互換性があります。 Alibaba Cloud CLIでコマンドを指定することで必要なバージョンを呼び出すことができ、バージョンを自由に切り替えることができます。これは便利で迅速です。
④複数のアカウントをサポート 複数のアカウントをサポートします。 1つのツールで異なるアカウントを定義し、異なる実行ポリシーをカスタマイズして、違うレベルのアクセス許可の要件を満たすことができます。
⑤複数の出力フォーマット: 表示または協同プログラミングを便利にするため、複数の出力フォーマットが提供されています。Jsonとtableのフォーマットをサポートしています。必要に応じて出力フォーマットを選択することができます
⑥オンラインヘルプ: オンラインヘルプを提供します。helpコマンドで現在利用可能な操作とパラメータ情報を取得できます。
⑦複数システムサポート: Windows、MacOS、Linux/UNIXなどのシステムを対応しています。
2-1.WindowsにAlibaba Cloud CLIをインストールします
1)Windows用パッケージをダウンロードします 下記のリンクからWindows用インストールパッケージをダウンロードします ①aliyuncli 公式サイト:このリンクからAlibabaCloudCLIの最新バージョンが直接ダウンロードできます ②github:git hub から必要なバージョンをダウンロードします
2)zipファイルを解凍し、aliyun.exeを確認します
3)環境変数を設定します aliyun.exeファイルのディレクトリパスをPath環境変数に追加します ①my computerから右クリックメニューのプロパティを開く
②環境変数設定画面のユーザー変数に編集をクリックします
③aliyun.exeファイルのディレクトリパスを追加し、確認ボタンを二回クリックして設定を完了します
④CMDウィンドを開き、set pathコマンドを実行して、環境変数が正常に構成されていることを確認します
⑤CLIバージョンを確認します
2-2.LinuxにAlibaba Cloud CLIをインストールします
1)LinuxのECSを準備します ①LinuxのECSを作成します
②LinuxのECSを確認します
③LinuxのECSに登録します
2)Linux用パッケージをダウンロードします 下記のリンクからLinux用インストールパッケージをダウンロードします ①aliyuncli 公式サイト:このリンクからAlibabaCloudCLIの最新バージョンが直接ダウンロードできます
②github:git hub から必要なバージョンをダウンロードします
③Linux用パッケージをダウンロードします
# mkdir aliyun# ls# cd aliyun# wget https://github.com/aliyun/aliyun-cli/releases/download/v3.0.80/aliyun-cli-linux-3.0.80-amd64.tgz# ll
3)zipファイルを解凍し、aliyun.exeを確認します
# tar xzvf aliyun-cli-linux-3.0.80-amd64.tgz
4)下記コマンドで環境変数設定、aliyunプログラムを/usr/local/binフォルダにコピーペーストします
# sudo cp aliyun /usr/local/bin
5)CLIバージョンを確認します
# aliyun
2-3.macOSにAlibaba Cloud CLIをインストールします
1)下記のリンクからLinux用インストールパッケージをダウンロードします ①aliyuncli 公式サイト:このリンクからAlibabaCloudCLIの最新バージョンが直接ダウンロードできます
②github:git hub から必要なバージョンをダウンロードします
③macOS用パッケージをダウンロードします ・aliyun フォルダを作成します ・aliyuncli 公式サイトまたはgithubからaliyun-cli-macosx-3.0.80-amd64.tgzをダウンロードします ④下記コマンドでzipファイルを解凍します
# tar xzvf aliyun-cli-macosx-3.0.80-amd64.tgz
⑤下記コマンドで環境変数設定、aliyunプログラムを/usr/local/binフォルダにコピーペーストします
# sudo cp aliyun /usr/local/bin
⑥下記コマンドでCLIバージョンを確認します
# aliyun
3.Alibaba Cloud CLIを構成します
3-1.Alibaba Cloud CLI構成概要
・Alibaba Cloud CLIを使用する前に、Alibaba Cloudリソースを呼び出すために必要なクレデンシャル情報、リージョン、言語などを構成する必要があります。
・クレデンシャルタイプ |検証方法|説明|インタラクティブな構成のクレデンシャル(速い)|非インタラクティブな構成のクレデンシャル| |--|--|--|--| |AK|AccessKey ID/Secretによるアクセス|AccessKeyクレデンシャルの構成|AccessKeyクレデンシャルの構成| |StsToken|TS Tokenによるアクセス|STS Tokenクレデンシャルの構成|STS Tokenクレデンシャルの構成| |RamRoleArn|RAM子アカウントのAssumeRole方式でアクセス|RamRoleArnクレデンシャルの構成|RamRoleArnクレデンシャルの構成| |EcsRamRole|ECSでEcsRamRoleによりシークレットフリーの検証でアクセス|EcsRamRoleクレデンシャルの構成|EcsRamRoleクレデンシャルの構成|
3-2.Alibaba Cloud CLIを構成します
本書はWindowsバージョンのインタラクティブな構成を紹介します。
1)CMDを開く、CLIのバージョンを確認します
aliyun version
2)CLI構成をします ①下記コマンドで構成します
aliyun configure --mode <AuthenticateMode> --profile <profileName>
--profile:構成名を指定する。指定の構成が存在する場合、構成を編集する。存在しない場合、構成を作成します --mode:クレデンシャルタイプを指定する。AK、StsToken、RamRoleArnとEcsRamRoleいずれかを指定する。 インタラクティブな構成中にAccesskey、RegionIdなどを正しく設定してください。
aliyun configure --mode AK --profile profilewin
②AKを設定します
③リージョンを設定する(output フォーマットと言語を設定する) リージョンID:リージョンIDはこのリンクをご参照ください
④構成リストを確認します
aliyun configure list
⑤構成情報を確認します ・構成名を指定しないコマンド
aliyun configure get
・構成名を指定するコマンド
aliyun configure get --profile profilewin
⑥profilewin構成を削除するコマンド
aliyun configure delete --profile profilewin
3)コマンドオートコンプリート機能 Alibaba Cloud CLIを使用する場合、zsh / bashのコマンドオートコンプリートを有効または無効にできます 今zsh/bashのみがサポートします ①コマンドオートコンプリート機能を有効します
aliyun auto-completion
②コマンドオートコンプリート機能を無効します
aliyun auto-completion --uninstall
4.Alibaba Cloud CLIを使用します
1)Alibaba Cloud CLI使用コマンド概要 Alibaba CloudプロダクトのAPIは、RPCとRESTfulの2つのタイプに分けられます。ほとんどのプロダクトはRPCスタイルを使用します。 Alibaba Cloud CLIを使用してインターフェースを呼び出す場合、APIのスタイルが異なれば呼び出し方法も異なります。
①Alibaba Cloud CLIコマンドのフォーマットは下記の通りです
aliyun <command> <subcommand> [options and parameters]・aliyun:Alibaba Cloud CLIツール名・command:トップレベルのコマンドを指定します①コマンドラインツールでサポートされているAlibabaCloudのプロダクトを指します。例:ecs、rdsなど②コマンドラインツール自体の機能コマンドを表します。例:help、configureなど・subcommand:実行したい操作の付加サブコマンドを指定する、つまり特定の操作・options and parameters:Alibaba Cloud CLIの動作を制御するためのオプションまたはAPIパラメーターオプションを指定します。そのオプション値は、数値、文字列、json構造化文字列などを指定できます。
プロダクトのAPIを呼び出す際に、まず、APIのタイプを決定し、標準のコマンド構造を選択してプロダクトのAPIを呼び出す APIタイプは以下の特徴で判断できます
・APIパラメーターにはActionフィールドが含まれているのはRPCAPIであり、PathPatternパラメーターが必要なのはRESTfulAPIです・通常各製品内ですべてのAPIの呼び出しスタイルは統一されています・各APIは特定のスタイルのみをサポートします。間違った識別子が渡されると、他のAPIを呼び出したり、ApiNotFoundエラーメッセージを受信したりする可能性があります。
1)RPC APIを呼び出す コマンドフォーマット
aliyun <product> <ApiName> [--parameter1 value1 --parameter2 value2 ...]
①VPCを作成します
aliyun vpc CreateVpc --VpcName "cli-test"
②VPCを確認します
aliyun vpc DescribeVpcs --VpcId vpc-6we0mr2eume1vjwn7w0s1
③VPCのVSwitchを作成します aliyun Vpc CreateVSwitch --VpcId vpc-6we0mr2eume1vjwn7w0s1 --CidrBlock 172.16.1.0/24 --ZoneId ap-northeast-1b --VSwitchName vsw-1
④VPCのVSwitchを確認します
aliyun Vpc DescribeVSwitches --VpcId vpc-6we0mr2eume1vjwn7w0s1
⑤ECSインスタンスを作成します
aliyun ecs CreateInstance --ImageId centos_7_06_64_20G_alibase_20190711.vhd --InstanceType ecs.t5-lc2m1.nano --Description TestFromCLI --InstanceName ECSTestFromCLI --VSwitchId vsw-6wenz4urbcb2jlyjajrea
⑥ECSインスタンスを確認します
aliyun ecs DescribeInstanceAttribute --InstanceId i-6webnglrnf4gkg7ml4b0
⑦ECSインスタンスを削除します
aliyun ecs DeleteInstance --InstanceId i-6webnglrnf4gkg7ml4b0
2)RESTful APIを呼び出す
aliyun Productcode [GET|PUT|POST|DELETE] <PathPattern> --body "$(cat input.json)"
ElasticSearch RESTful APIを呼び出す
①ElasticSearchのインスタンスを確認します
aliyun elasticsearch GET /openapi/instances/es-sg-v3ip8up8spx83982m
②ElasticSearchを設定します
aliyun elasticsearch POST /openapi/instances/es-sg-v3ip8up8spx83982m/actions/close-https
③ElasticSearchインスタンスを削除します
aliyun elasticsearch DELETE /openapi/instances/es-sg-v3ip8up8spx83982m
削除する前のインスタンス:
削除します
削除後:
5.DockerでAlibaba Cloud CLIを構成します
5-1.ECS環境を準備します
1)ECSを用意します
2)LinuxのECSに登録します
5-2.Docker環境を構成します
1)必要なパッケージをインストールします
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2)リポジトリを設定します
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3)Docker Engine-Communityをインストールします
sudo yum install docker-ce docker-ce-cli containerd.io
4)Docker を起動します
sudo systemctl start docker
5)Docker を確認します
docker versionsudo systemctl status docker
5-3.DockerでAlibaba Cloud CLIを構成します
1)Dockerfileを用意します 備考:Dockerfileはテキストで編集し、拡張子がないファイルに設定、ファイル名はDockerfileです
vim Dockerfile
FROM alpine:latest# Add jq,output with JSON formatRUN apk add --no-cache jq# get and install CLI toolRUN wget https://aliyuncli.alicdn.com/aliyun-cli-linux-3.0.2-amd64.tgzRUN tar -xvzf aliyun-cli-linux-3.0.2-amd64.tgzRUN rm aliyun-cli-linux-3.0.2-amd64.tgzRUN mv aliyun /usr/local/bin/
2)Dockerfileを使って、docker buildコマンドでCLIイメージを作成します
docker build -t test/aliyuncli:v1 .
備考:コマンドの最後にある「.」は、現在のディレクトリにDockerイメージをビルドするようにDockerに指示します。省略するとエラーが発生します。
3)CLI docker image を起動します
docker run -it -d --name dockercli test/aliyuncli:v1
CLI dockerを確認します
4)CLI dockerを接続します
docker exec -it dockercli /bin/sh
5-4.DockerでAlibaba Cloud CLIを使用します
1)dockerでCLI構成をします ①下記コマンドで構成します
aliyun configure --mode AK --profile profiledocker
リージョンとAKを設定するリージョンID:リージョンIDはこのリンクをご参照ください
②構成リストを確認します
aliyun configure list
2)RPC APIを呼び出す
①VPCを作成します
aliyun vpc CreateVpc --VpcName "cli-test-docker"
{"VRouterId":"vrt-6weaytpdc2rr22b9lgdpw","RouteTableId":"vtb-6webmz6mk266r3e6hot4l","RequestId":"8D31603B-5F6F-4FB6-919F-22CC0D031BD9","VpcId":"vpc-6wegrzq26hyl0snlfbxpv","ResourceGroupId":"rg-acfnu655g4vjkyi"}
最後に
以上、Alibaba Cloud CLIについてをご紹介しました。CLIを使った開発をする際、ご参考になれば幸いです。