2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【備忘録】Alibaba Cloud_aliyuncliコマンド集

Last updated at Posted at 2019-06-02

aliyuncliを触ったので、まとめてみる!
ローカル環境汚したくなかったので、vagrant上で実行することをおすすめします。

今回は、CentOS 7.xで実行しました。
ShellにAPIコマンドを組み込んでcronの定期実行でできたら便利かも?!

まずはvagrantを起動します。

### Vagrant起動
    $ vagrant up
    $ vagrant ssh
    $ sudo -su root

Pythonがなければ、インストールしてくだされ。

### Pythonインストール
    $ yum install wget -y
    $ wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
    $ tar -zxvf Python-2.7.8.tgz
    $ cd Python-2.7.8
    $ ./configure
    $ make
    $ sudo make install
### pipインストール
    $ curl "https://bootstrap.pypa.io/get-pip.py" -o "pip-install.py"
    $ sudo python pip-install.py
    $ sudo pip install -U pip

環境ができたらaliyuncliを入れましょう。

### Aliyuncliのインストール
    $ sudo pip install aliyuncli
### Aliyuncliのpython-sdkをpipインストール
    $ pip install aliyun-python-sdk-ecs
    $ pip install aliyun-python-sdk-rds
    $ pip install aliyun-python-sdk-core
    $ pip install aliyun-python-sdk-vpc
### 初期設定
    $ aliyuncli configure
    Aliyun Access Key ID [None]:'YOUR ACCESSKEY ID'
    Aliyun Access Key Secret [None]:'YOUR ACCESSKEY SECRET'

ECSのAPIコマンドたち

jqは別途インストールくだされー。

### ECSのステータス表示
    $ aliyuncli ecs DescribeInstanceStatus --RegionId ap-northeast-1
### インスタンスを停止
    $ aliyuncli ecs StopInstance --InstanceId 'インスタンスID'
### インスタンスを起動
    $ aliyuncli ecs StartInstance --InstanceId 'インスタンスID'
### 指定スペックでECSを作成
    $ aliyuncli ecs CreateInstance \
        --RegionId ap-northeast-1 \
        --ImageId centos_7_04_64_20G_alibase_201701015.vhd \
        --InstanceType ecs.t5-lc1m1.small \
        --SecurityGroupId sg-6we786ynk0ds93pbkd2m \
        --VSwitchId vsw-6webgivt4f1uz2ozkpg8a \
        --InstanceChargeType PostPaid \
        --Period 1 \
        --AutoRenew True
            -> ecsインスタンスをAPI経由で作成する
### optionでインスタンスをjson形式でoutputする
    $ aliyuncli ecs DescribeInstances --output json --filter Instances.Instance[*].InstanceId
### インスタンス名から探す
    $ aliyuncli ecs DescribeInstances --InstanceName 'インスタンス名'
### Tagを検索
    $ aliyuncli ecs DescribeTags
### jqを使ってVpcIdだけをgrep
    $ aliyuncli ecs DescribeVpcs | jq ' .Vpcs.Vpc[] | {"VpcId": .VpcId}'
### jqを使ってECSのRunningステータスを取得
    $ aliyuncli ecs DescribeInstances | jq '.Instances.Instance[] | {"Status":.Status}'
### jqを使ってECSのGlobal_IpAddressを取得
    $ aliyuncli ecs DescribeInstances | jq '.Instances.Instance[] | {"IpAddress":.EipAddress.IpAddress}'
### jqを使ってECSのインスタンスIDを一覧取得
    $ aliyuncli ecs DescribeInstances | jq '.Instances.Instance[] | {"InstanceId":.InstanceId}'
### jqを使って0番目のECSインスタンスIDのプレーンテキストを取得
    $ aliyuncli ecs DescribeInstances | jq -r '.Instances.Instance[].InstanceId'
### jqを使ってID/名前/Tag/Statusを一覧取得
    $ aliyuncli ecs DescribeInstances | jq '.Instances.Instance[] | {"InstanceId":.InstanceId, "InstanceName":.InstanceName, "Tag":.Tags.Tag, "Status":.Status }'
### jqを使ってRunningStatusだけ抜き出す
    $ aliyuncli ecs DescribeInstances | jq -r '.Instances.Instance[].Status'
        - [option -rを使うことで、ダブルクオテーションを消せる、ない場合は"Running"となる]
### jqを使ってインスタンスIDとインスタンスStatusを取得
    $ aliyuncli ecs DescribeInstances | jq -r '.Instances.Instance[] | .InstanceId, .Status'
### jqを使ってインタンスID指定でステータス表示
    $ aliyuncli ecs DescribeInstanceAttribute --InstanceId i-6wegsekx7ff0vd35jzhu | jq -r '.Status'
### jqを使ってTagKeyのみを取得
    $ aliyuncli ecs DescribeTags | jq -r '.Tags.Tag[].TagKey'

VPCのAPIコマンドたち

### 対象リージョンのVPC一覧を表示
    $ aliyuncli vpc DescribeVpcs --RegionId ap-northeast-1
### VPCを作成する(何も指定しない場合、デフォルト値で作成)
    $ aliyuncli vpc CreateVpc --RegionId ap-northeast-1

VPN-GWのAPIコマンド

### 対象リージョンのVPN=GW一覧を表示
    $ aliyuncli vpc DescribeVpnGateways --RegionId ap-northeast-1

RDSのAPIコマンドたち

### RDSインスタンスの作成
    $ aliyuncli rds CreateDBInstance --RegionID ap-northeast-1
### RDSインスタンスのリリース 
    $ aliyuncli rds DeleteDBInstance --RegionID ap-northeast-1
### RDSインスタンスの再起動
    $ aliyuncli rds RestartDBInstance --RegionID ap-northeast-1

定期的にupdateしていきます!!
読んでくれてありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?