麦星 - arcturus technologies- 

テクノロジー関連情報と日常的な何かを発信しています

Alibaba Cloud (アリババクラウド])CLI Hands on for Windows

ども、@うしです。

5月22日(水)に開催された「【初心者向け】Alibaba Cloud CLIハンズオン」に参加させて頂きました。

個人的にハンズオンって、その場で実際にやってみて、
出来た気になって、家帰ってやらない。と言う傾向にあるので、
早速、ハンズオンのテキストWindows Cmd.exe でやってみました。

  

for Windows と言うタイトルですが…

発行するコマンド自体は一緒で、環境変数の設定などが無い形式のコマンドになります。
また、項番や手順もハンズオンのテキスト に準拠しております。

はじめに

  • aliyun-cli の初期設定が完了しており、Alibaba Cloud と疎通確認が取れていることを前提とします。
  • まだ、初期設定が済んでいない方は、こちらをご参照下さい。
  • コンソール画面と見比べながら作業すると、実際に作成されてたリソースが見れるので理解が深まります。

1. VPCの作成

1-1. 環境変数の設定(使用する情報)

1-2. VPCの作成. VPCの作成

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc CreateVpc  --VpcName ${VPC_NAME}  --Description "${VPC_DESC}"  --CidrBlock ${VPC_CIDR}
    

    〇 例

     C:\Users\cliuser> aliyun vpc CreateVpc --VpcName VPC --Description "Aliyun VPC" --CidrBlock 172.16.0.0/16
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "93BEDF16-FB17-436B-94D5-806A134C06E0",
             "ResourceGroupId": "rg-acfnyune27ponry",
             "RouteTableId": "vtb-6wexpi1eemqizhfvj0t09",
             "VpcId": "vpc-6wej98os503c52j82bxsn",                   ← 作成したVPC ID
             "VRouterId": "vrt-6we89zum4rs5h9r0geuhk"
     }
    

    ※この時点で、コンソールからVPCを確認すると、正常に作成されています。

    ※ちなみに、エラーの場合、以下の様に「ERROR」と表示されます。

     ERROR: SDK.ServerError
     ErrorCode: InvalidParameter
     Recommend:
     RequestId: 5EDAD6A7-814D-4185-B272-6706C2244F01
     Message: Specified value of "エラーの内容" is not valid
    

1-3. VPCの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeVpcs   --VpcName ${VPC_NAME}
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeVpcs  --VpcName VPC
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "Vpcs": {
                     "Vpc": [
                             {
                                     "VpcName": "VPC",
                                     "Description": "Aliyun VPC",
                                     "IsDefault": false,
                                     "NatGatewayIds": {
                                             "NatGatewayIds": []
                                     },
                                     "ResourceGroupId": "rg-acfnyune27ponry",
                                     "UserCidrs": {
                                             "UserCidr": []
                                     },
                                     "NetworkAclNum": 0,
                                     "RouterTableIds": {
                                             "RouterTableIds": [
                                                     "vtb-6wexpi1eemqizhfvj0t09"
                                             ]
                                     },
                                     "VpcId": "vpc-6wej98os503c52j82bxsn",       ← 上のVPCIDと同じもの
                                     "VRouterId": "vrt-6we89zum4rs5h9r0geuhk",
                                     "CreationTime": "2019-05-21T17:30:23Z",
                                     "Status": "Available",
                                     "CidrBlock": "172.16.0.0/16",
                                     "VSwitchIds": {
                                             "VSwitchId": []
                                     },
                                     "RegionId": "ap-northeast-1",
                                     "Ipv6CidrBlock": ""
                             }
                     ]
             },
             "TotalCount": 1,
             "PageSize": 10,
             "RequestId": "580E7225-4099-415F-9810-7F24E94826C1"
     }
    

2. VSwitchの作成

2-1. 環境変数の設定(使用する情報)

  • VPC_ID = "先程作成したVPC ID"
  • ZONE_ID="ap-northeast-1a"
  • VSWITCH_NAME="VSw"
  • VSWITCH_DESC="Aliyun VSwitch"
  • VSWITCH_CIDR="172.16.1.0/24"

2-2. 作成したVPCに、VSwitchを作成します。

  • 以下のコマンドを実行

    〇 フォーマット

         aliyun vpc CreateVSwitch   --VpcId ${VPC_ID}   --ZoneId ${ZONE_ID}   --VSwitchName ${VSWITCH_NAME}   --Description "${VPC_DESC}"   --CidrBlock ${VSWITCH_CIDR}
    

    〇 例

         C:\Users\cliuser>aliyun vpc CreateVSwitch   --VpcId vpc-6wej98os503c52j82bxsn   --ZoneId ap-northeast-1a   --VSwitchName VSw   --Description "Aliyun VSwitch"   --CidrBlock 172.16.1.0/24
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "B8B588C0-A5CD-4FFE-9B23-6B84C72E4268",
             "VSwitchId": "vsw-6we8vvax78we9e3kdyyu7"
     }
    

2-3. 作成したVSwitchの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeVSwitches  --VSwitchName ${VSWITCH_NAME}
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeVSwitches  --VSwitchName VSw
    

    〇 以下の様に返却されるハズ

         {
                 "PageNumber": 1,
                 "VSwitches": {
                         "VSwitch": [
                                 {
                                         "RouteTable": {
                                                 "RouteTableId": "vtb-6wexpi1eemqizhfvj0t09",
                                                 "RouteTableType": "System"
                                         },
                                         "Description": "Aliyun VSwitch",
                                         "IsDefault": false,
                                         "AvailableIpAddressCount": 252,
                                         "ResourceGroupId": "rg-acfnyune27ponry",
                                         "ZoneId": "ap-northeast-1a",
                                         "VSwitchId": "vsw-6we8vvax78we9e3kdyyu7",           ←VSwitch ID(後で使います)
                                         "NetworkAclId": "",
                                         "VpcId": "vpc-6wej98os503c52j82bxsn",
                                         "CreationTime": "2019-05-21T18:21:11Z",
                                         "Status": "Available",
                                         "CidrBlock": "172.16.1.0/24",
                                         "VSwitchName": "VSw",
                                         "Ipv6CidrBlock": ""
                                 }
                         ]
                 },
                 "TotalCount": 1,
                 "PageSize": 10,
                 "RequestId": "DECC058B-BD02-48F5-AA8B-2865029B72D3"
         }
    

3.EIP(Elastic IP)の作成

後で、作成したIPアドレスを使用し、外部からアクセスします。

3-1. 環境変数の設定(使用する情報)

  • EIP_BANDWIDTH="1"
  • EIP_INTERNET_CHARGE_TYPE="PayByTraffic"
  • EIP_INSTANCE_CHARGE_TYPE="PostPaid"

3-2. EIPを作成します。

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc AllocateEipAddress   --Bandwidth ${EIP_BANDWIDTH}   --InternetChargeType ${EIP_INTERNET_CHARGE_TYPE}   --InstanceChargeType ${EIP_INSTANCE_CHARGE_TYPE}
    

    〇 例

     C:\Users\cliuser>aliyun vpc AllocateEipAddress   --Bandwidth 1   --InternetChargeType "PayByTraffic"   --InstanceChargeType PostPaid
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "1AD9500F-8A0E-40AA-8ED1-508BFCA05CDB",
             "ResourceGroupId": "rg-acfnyune27ponry",
             "EipAddress": "47.74.36.91",
             "AllocationId": "eip-6wevab5wa7b9yclwt4aeu"
     }
    

3-3. 作成したEIPの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeEipAddresses
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeEipAddresses
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "EipAddresses": {
                     "EipAddress": [
                             {
                                     "BandwidthPackageBandwidth": "",
                                     "HasReservationData": false,
                                     "HDMonitorStatus": "OFF",
                                     "InstanceId": "",
                                     "ISP": "BGP",
                                     "InternetChargeType": "PayByTraffic",
                                     "BandwidthPackageType": "",
                                     "PrivateIpAddress": "",
                                     "SecondLimited": false,
                                     "Bandwidth": "1",
                                     "ChargeType": "PostPaid",
                                     "ResourceGroupId": "rg-acfnyune27ponry",
                                     "AllocationTime": "2019-05-21T18:46:37Z",
                                     "Descritpion": "",
                                     "IpAddress": "47.74.36.91",                         ←IPアドレスが発行されている。
                                     "AllocationId": "eip-6wevab5wa7b9yclwt4aeu",        ←アロケーションID
                                     "Mode": "NAT",
                                     "InstanceType": "",
                                     "Name": "",
                                     "Status": "Available",
                                     "InstanceRegionId": "",
                                     "BandwidthPackageId": "",
                                     "RegionId": "ap-northeast-1",
                                     "OperationLocks": {
                                             "LockReason": []
                                     },
                                     "AvailableRegions": {
                                             "AvailableRegion": [
                                                     "ap-northeast-1"
                                             ]
                                     },
                                     "ExpiredTime": ""
                             }
                     ]
             },
             "TotalCount": 1,
             "PageSize": 10,
             "RequestId": "843F89C0-B9E4-449F-8047-7F2C5A53DE99"
     }
    

4. SecurityGroupの作成

4-1. 環境変数の設定(使用する情報)

  • VPC_ID="先程作成したVPC ID"
  • ECS_SG_NAME="SG"
  • ECS_SG_DESC="Aliyun SG"

4-2.SecurityGroupの作成

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs CreateSecurityGroup   --VpcId ${VPC_ID}   --SecurityGroupName ${ECS_SG_NAME}   --Description "${ECS_SG_DESC}"
    

    〇 例

     C:\Users\cliuser>aliyun ecs CreateSecurityGroup   --VpcId vpc-6wej98os503c52j82bxsn   --SecurityGroupName SG   --Description "Aliyun SG"
    

    〇 以下の様に返却されるハズ

     {
             "SecurityGroupId": "sg-6wedd0ur1e5lj7ux7nsi",
             "RequestId": "06558882-DECF-4D1D-AC36-5FB5D3307D0C"
     }
    

4-3.SecurityGroupの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeSecurityGroups   --SecurityGroupName ${ECS_SG_NAME}
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeSecurityGroups   --SecurityGroupName SG
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "TotalCount": 1,
             "PageSize": 10,
             "RegionId": "ap-northeast-1",
             "RequestId": "DE33638E-2F1F-4EAA-820F-A49D67E98EE6",
             "SecurityGroups": {
                     "SecurityGroup": [
                             {
                                     "CreationTime": "2019-05-21T18:54:48Z",
                                     "Tags": {
                                             "Tag": []
                                     },
                                     "SecurityGroupId": "sg-6wedd0ur1e5lj7ux7nsi",           ←セキュリティグループID
                                     "SecurityGroupName": "SG",
                                     "Description": "Aliyun SG",
                                     "ResourceGroupId": "",
                                     "SecurityGroupType": "normal",
                                     "VpcId": "vpc-6wej98os503c52j82bxsn"
                             }
                     ]
             }
     }
    

5. SecurityGroupのルールの追加

5-1. 環境変数の設定(使用する情報)

  • SG_ID="先程作成したセキュリティグループID"
  • SG_DESC="Aliyun SG"
  • IP_PROTOCOL="tcp"
  • PORT_RANGE="80/80"
  • NIC_TYPE="intranet"
  • POLICY="accept"
  • DEST_CIDR_IP="0.0.0.0/0"

5-2.SecurityGroupの受信ルール追加

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs AuthorizeSecurityGroup   --SecurityGroupId ${SG_ID}   --Description "${SG_DESC}"   --IpProtocol ${IP_PROTOCOL}   --PortRange ${PORT_RANGE}   --NicType ${NIC_TYPE}   --Policy ${POLICY}   --SourceCidrIp ${DEST_CIDR_IP}
    

    〇 例 C:\Users\cliuser>aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-6wedd0ur1e5lj7ux7nsi --Description "Aliyun SG" --IpProtocol tcp --PortRange 80/80 --NicType intranet --Policy accept --SourceCidrIp 0.0.0.0/0

    〇 以下の様に返却されるハズ

     {
             "RequestId": "91104614-C1F1-4D9E-989D-4175443F2331"
     }
    

5-3.SecurityGroupのルール確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeSecurityGroupAttribute  --SecurityGroupId ${SG_ID}
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeSecurityGroupAttribute  --SecurityGroupId sg-6wedd0ur1e5lj7ux7nsi
    

    〇 以下の様に返却されるハズ

     {
             "SecurityGroupId": "sg-6wedd0ur1e5lj7ux7nsi",           ←セキュリティグループID
             "InnerAccessPolicy": "Accept",
             "SecurityGroupName": "SG",
             "Description": "Aliyun SG",
             "RegionId": "ap-northeast-1",
             "RequestId": "70AEBBE0-4862-4974-B351-76982E440D10",
             "Permissions": {
                     "Permission": [
                             {
                                     "SourceCidrIp": "0.0.0.0/0",
                                     "Description": "Aliyun SG",
                                     "DestCidrIp": "",
                                     "NicType": "intranet",
                                     "DestGroupName": "",
                                     "PortRange": "80/80",
                                     "DestGroupId": "",
                                     "Ipv6DestCidrIp": "",
                                     "Direction": "ingress",
                                     "Priority": 1,
                                     "IpProtocol": "TCP",
                                     "SourcePortRange": "",
                                     "SourceGroupOwnerAccount": "",
                                     "Policy": "Accept",
                                     "CreateTime": "2019-05-21T19:04:29Z",
                                     "SourceGroupId": "",
                                     "DestGroupOwnerAccount": "",
                                     "Ipv6SourceCidrIp": "",
                                     "SourceGroupName": ""
                             }
                     ]
             },
             "VpcId": "vpc-6wej98os503c52j82bxsn"
     }
    

6. Instance(ECS)の作成

6-1. 環境変数の設定(使用する情報)

  • INSTANCE_NAME="INSTANCE" ←インスタンス
  • ECS_DESC="Alicloud CLI INSTANCE"
  • ZONE_ID="ap-northeast-1a"
  • VSWITCH_ID="{作成したVSWITCH ID}"
  • SG_ID={作成したセキュリティグループID}
  • IMAGE_ID="alinux_17_01_64_20G_cloudinit_20171222.vhd"
  • INSTANCE_TYPE="ecs.n4.small"
  • INTERNET_CHARGE_TYPE="PayByTraffic"
  • INSTANCE_CHARGE_TYPE="PostPaid"
  • SYSTEM_DISK_CATEGORY="cloud_efficiency"
  • SYSTEM_DISK_SIZE=40
  • SYSTEM_DISK_NAME="SYS_DISK"
  • SYSTEM_DISK_DESC="AliCloud CLI System Disk"
  • USER_DATA="IyEvYmluL3NoDQp5dW0gaW5zdGFsbCAteSBodHRwZA0Kc3lzdGVtY3RsIHN0YXJ0IGh0dHBkDQpzeXN0ZW1jdGwgZW5hYmxlIGh0dHBk"

6-2. Instanceの作成

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs CreateInstance \
       --InstanceName ${INSTANCE_NAME} \
       --Description "${ECS_DESC}" \
       --ZoneId ${ZONE_ID} \
       --VSwitchId ${VSWITCH_ID} \
       --SecurityGroupId ${SG_ID} \
       --ImageId ${IMAGE_ID} \
       --InstanceType ${INSTANCE_TYPE} \
       --InternetChargeType ${INTERNET_CHARGE_TYPE} \
       --SystemDisk.Category ${SYSTEM_DISK_CATEGORY} \
       --SystemDisk.Size ${SYSTEM_DISK_SIZE} \
       --SystemDisk.DiskName ${SYSTEM_DISK_NAME} \
       --SystemDisk.Description "${SYSTEM_DISK_DESC}" \
       --UserData ${USER_DATA}
    

    〇 例

     C:\Users\cliuser>aliyun ecs CreateInstance --InstanceName INSTANCE  --Description "Alicloud CLI INSTANCE"  --ZoneId ap-northeast-1a  --VSwitchId vsw-6we8vvax78we9e3kdyyu7  --SecurityGroupId sg-6wedd0ur1e5lj7ux7nsi --ImageId alinux_17_01_64_20G_cloudinit_20171222.vhd  --InstanceType ecs.n4.small --InternetChargeType PayByTraffic  --SystemDisk.Category cloud_efficiency --SystemDisk.Size 40 --SystemDisk.DiskName SYS_DISK --SystemDisk.Description "AliCloud CLI System Disk" --UserData IyEvYmluL3NoDQp5dW0gaW5zdGFsbCAteSBodHRwZA0Kc3lzdGVtY3RsIHN0YXJ0IGh0dHBkDQpzeXN0ZW1jdGwgZW5hYmxlIGh0dHBk
    

    〇 以下の様に返却されるハズ

     {
             "InstanceId": "i-6webz60jjkcmjv9x36v0",                     ←インスタンスID
             "RequestId": "21FD3B0A-FDA5-4506-9206-A4352358759F"
     }
    

6-3. Instanceの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeInstances   --InstanceName ${INSTANCE_NAME}
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeInstances   --InstanceName INSTANCE
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "TotalCount": 2,
             "PageSize": 10,
             "RequestId": "D7B879E7-3C70-48C6-8A6C-098167445A01",
             "Instances": {
                     "Instance": [
                             {
                                     "ImageId": "alinux_17_01_64_20G_cloudinit_20171222.vhd",
                                     "VlanId": "",
                                     "EipAddress": {
                                             "IpAddress": "",
                                             "AllocationId": "",
                                             "InternetChargeType": ""
                                     },
                                     "ZoneId": "ap-northeast-1a",
                                     "IoOptimized": true,
                                     "SerialNumber": "e877cafe-ae8d-406c-92f2-3f1cf11bb807",
                                     "Cpu": 1,
                                     "Memory": 2048,
                                     "DeviceAvailable": true,
                                     "SecurityGroupIds": {
                                             "SecurityGroupId": [
                                                     "sg-6wedd0ur1e5lj7ux7nsi"
                                             ]
                                     },
                                     "SaleCycle": "",
                                     "AutoReleaseTime": "",
                                     "ResourceGroupId": "",
                                     "OSType": "linux",
                                     "OSName": "Aliyun Linux  17.1 64位",
                                     "InstanceNetworkType": "vpc",
                                     "HostName": "iZ6webz60jjkcmjv9x36v0Z",
                                     "CreationTime": "2019-05-21T19:17Z",
                                     "EcsCapacityReservationAttr": {
                                             "CapacityReservationPreference": "",
                                             "CapacityReservationId": ""
                                     },
                                     "RegionId": "ap-northeast-1",
                                     "DeletionProtection": false,
                                     "OperationLocks": {
                                             "LockReason": []
                                     },
                                     "ExpiredTime": "2099-12-31T15:59Z",
                                     "InnerIpAddress": {
                                             "IpAddress": []
                                     },
                                     "InstanceTypeFamily": "ecs.n4",
                                     "InstanceId": "i-6webz60jjkcmjv9x36v0",
                                     "NetworkInterfaces": {
                                             "NetworkInterface": [
                                                     {
                                                             "MacAddress": "00:16:3e:00:0d:8c",
                                                             "PrimaryIpAddress": "172.16.1.206",
                                                             "NetworkInterfaceId": "eni-6we975kjt3nylwqoh9av"
                                                     }
                                             ]
                                     },
                                     "InternetMaxBandwidthIn": 0,
                                     "CreditSpecification": "",
                                     "InternetChargeType": "PayByTraffic",
                                     "SpotStrategy": "NoSpot",
                                     "StoppedMode": "KeepCharging",
                                     "InternetMaxBandwidthOut": 0,
                                     "VpcAttributes": {
                                             "NatIpAddress": "",
                                             "PrivateIpAddress": {
                                                     "IpAddress": [
                                                             "172.16.1.206"
                                                     ]
                                             },
                                             "VSwitchId": "vsw-6we8vvax78we9e3kdyyu7",
                                             "VpcId": "vpc-6wej98os503c52j82bxsn"
                                     },
                                     "SpotPriceLimit": 0.0,
                                     "StartTime": "2019-05-21T19:17Z",
                                     "InstanceName": "INSTANCE",
                                     "Description": "Alicloud CLI INSTANCE",
                                     "OSNameEn": "Aliyun Linux 17.1 64 bit",
                                     "PublicIpAddress": {
                                             "IpAddress": []
                                     },
                                     "InstanceType": "ecs.n4.small",
                                     "Status": "Stopped",
                                     "Recyclable": false,
                                     "ClusterId": "",
                                     "GPUSpec": "",
                                     "InstanceChargeType": "PostPaid",
                                     "GPUAmount": 0,
                                     "DedicatedHostAttribute": {
                                             "DedicatedHostId": "",
                                             "DedicatedHostName": ""
                                     },
                                     "DedicatedInstanceAttribute": {
                                             "Affinity": "",
                                             "Tenancy": ""
                                     },
                                     "DeploymentSetId": ""
                             }
                     ]
             }
     }
    

7. InstanceとEIPの紐付け

7-1. 環境変数の設定(使用する情報)

7-2. InstanceとEIPの紐付け

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc AssociateEipAddress   --AllocationId ${EIP_ID}   --InstanceId ${INSTANCE_ID}   --InstanceType ${INSTANCE_TYPE}
    

    〇 例

     C:\Users\cliuser>aliyun vpc AssociateEipAddress   --AllocationId eip-6wevab5wa7b9yclwt4aeu   --InstanceId i-6webz60jjkcmjv9x36v0   --InstanceType EcsInstance
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "58FA7933-E45C-4C09-BADE-389A6D167669"
     }
    

7-3. 紐付けの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeEipAddresses  --RegionId ${REGIO_ID}  --AssociatedInstanceId ${INSTANCE_ID}  --AssociatedInstanceType ${INSTANCE_TYPE} 
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeEipAddresses  --RegionId ap-northeast-1  --AssociatedInstanceId i-6webz60jjkcmjv9x36v0   --AssociatedInstanceType EcsInstance
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "EipAddresses": {
                     "EipAddress": [
                             {
                                     "BandwidthPackageBandwidth": "",
                                     "HDMonitorStatus": "OFF",
                                     "HasReservationData": false,
                                     "InstanceId": "i-6webz60jjkcmjv9x36v0",     ←インスタンスID
                                     "ISP": "BGP",
                                     "InternetChargeType": "PayByTraffic",
                                     "BandwidthPackageType": "",
                                     "PrivateIpAddress": "",
                                     "SecondLimited": false,
                                     "Bandwidth": "1",
                                     "ChargeType": "PostPaid",
                                     "AllocationTime": "2019-05-21T18:46:37Z",
                                     "ResourceGroupId": "rg-acfnyune27ponry",
                                     "Descritpion": "",
                                     "IpAddress": "47.74.36.91",                     ←IPアドレス
                                     "AllocationId": "eip-6wevab5wa7b9yclwt4aeu",
                                     "Mode": "NAT",
                                     "InstanceType": "EcsInstance",
                                     "Name": "",
                                     "Status": "InUse",
                                     "InstanceRegionId": "ap-northeast-1",
                                     "BandwidthPackageId": "",
                                     "RegionId": "ap-northeast-1",
                                     "OperationLocks": {
                                             "LockReason": []
                                     },
                                     "AvailableRegions": {
                                             "AvailableRegion": [
                                                     "ap-northeast-1"
                                             ]
                                     },
                                     "ExpiredTime": ""
                             }
                     ]
             },
             "TotalCount": 1,
             "PageSize": 10,
             "RequestId": "984DB957-92FB-42A4-8AAF-44119C2DBB6F"
     }
    

8. インスタンスの起動

8-1. 環境変数の設定(使用する情報)

  • INSTANCE_ID=i-6webz60jjkcmjv9x36v0

8-2. Instanceの起動

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs StartInstance  --InstanceId ${INSTANCE_ID}
    

    〇 例

     C:\Users\cliuser>aliyun ecs StartInstance  --InstanceId i-6webz60jjkcmjv9x36v0
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "B53720E7-F7B6-41A3-8236-2D84BBF40D7A"
     }
    

8-3. 起動確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeInstanceStatus
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeInstanceStatus
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "InstanceStatuses": {
                     "InstanceStatus": [
                             {
                                     "Status": "Running",                            ←インスタンスID:i-6webz60jjkcmjv9x36v0 が起動している
                                     "InstanceId": "i-6webz60jjkcmjv9x36v0"
                             },
                             {
                                     "Status": "Stopped",
                                     "InstanceId": "i-XXXXXXXXXXXXXXXX"
                             },
                             {
                                     "Status": "Stopped",
                                     "InstanceId": "i-YYYYYYYYYYYYYY"
                             },
                             {
                                     "Status": "Stopped",
                                     "InstanceId": "i-ZZZZZZZZZZZZZZZZZ"
                             }
                     ]
             },
             "TotalCount": 4,
             "PageSize": 10,
             "RequestId": "4DA51641-4E54-4403-A044-65EAA5517AEA"
     }
    

9. 画面確認

9-1. 環境変数の設定(使用する情報)

9-2. curlで確認

  • 以下のコマンドを実行

    〇 フォーマット

     curl http://${ACCESS_EIP}
    

    〇 例

     C:\Users\cliuser>curl http://47.74.36.91
    

    〇 以下の様に返却されるハズ

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
                     <title>Apache HTTP Server Test Page powered by Alinux</title>
     <body>
     <p>Hello Apache</p>
     </body></html>
    

9-2:おまけ. ブラウザでも確認

ブラウザから以下のIPへアクセス

    47.74.36.91


画面へ

    Hello Apache

と表示されれば、正常に処理が出来ています。

10.後片付け

10-1. 環境変数の設定(使用する情報)

  • VPC_ID=作成したVPC ID
  • VSWITCH_ID=作成したVSWITCH ID
  • EIP_ID=作成したEIP ID
  • SG_ID=作成したセキュリティグループID
  • INSTANCE_ID=発行されたしたINSTANCE ID
  • VPC_CIDR_BLOCK="172.16.0.0/16"
  • INSTANCE_NAME=インスタンス

10-2:a. Instanceの停止

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs StopInstance  --InstanceId ${INSTANCE_ID}
    

    〇 例

     C:\Users\cliuser>aliyun ecs StopInstance  --InstanceId i-6webz60jjkcmjv9x36v0
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "38CB9221-5591-4A44-86CE-94A06EAA2C23"
     }
    

10-2:b. Instanceの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeInstanceStatus
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeInstanceStatus
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "InstanceStatuses": {
                     "InstanceStatus": [
                             {
                                     "Status": "Stopped",                            ←インスタンスID:i-6webz60jjkcmjv9x36v0 が停止している
                                     "InstanceId": "i-6webz60jjkcmjv9x36v0"
                             },
                             {
                                     "Status": "Stopped",
                                     "InstanceId": "i-XXXXXXXXXXXXXXXX"
                             }
                     ]
             },
             "TotalCount": 4,
             "PageSize": 10,
             "RequestId": "ACFE80F6-F6E5-4FE6-A1F0-F1D5847E0334"
     }
    

10-2:c. Instanceの削除

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DeleteInstance  --InstanceId ${INSTANCE_ID}
    

    〇 例

     C:\Users\cliuser>aliyun ecs DeleteInstance  --InstanceId i-6webz60jjkcmjv9x36v0
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "287333E5-40BD-433E-B370-F742F51C4F35"
     }
    

10-2:d. Instanceが削除されているか確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeInstances  --InstanceName ${INSTANCE_NAME}
    

    〇 例

     aliyun ecs DescribeInstances  --InstanceName INSTANCE
    
    
     インスタンス名で検索し、指定したインスタンスが、無ければ、正しく削除されている。
    

10-3:a SecurityGroupの受信ルール削除

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs RevokeSecurityGroup  --SecurityGroupId ${SG_ID}  --PortRange ${PORT_RANGE}  --IpProtocol ${IP_PROTOCOL}  --SourceCidrIp "${DEST_CIDR_IP}"
    

    〇 例

     C:\Users\cliuser>aliyun ecs RevokeSecurityGroup  --SecurityGroupId sg-6wedd0ur1e5lj7ux7nsi  --PortRange 80/80  --IpProtocol tcp  --SourceCidrIp "0.0.0.0/0"
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "59456FA6-EBE9-4052-A043-96023ED6FFD4"
     }
    

10-3:b SecurityGroupのルール確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DescribeSecurityGroupAttribute  --SecurityGroupId ${SG_ID} 
    

    〇 例

     C:\Users\cliuser>aliyun ecs DescribeSecurityGroupAttribute  --SecurityGroupId sg-6wedd0ur1e5lj7ux7ns
    

    〇 以下の様に返却されるハズ

     ERROR: SDK.ServerError
     ErrorCode: InvalidSecurityGroupId.NotFound              ←そんなセキュリティグループIDないよ。
     Recommend:
     RequestId: 675B8886-BC42-45CF-BC44-BA4E777D139E
     Message: The specified SecurityGroupId does not exist.
    

10-3:c SecurityGroupの削除

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun ecs DeleteSecurityGroup  --SecurityGroupId ${SG_ID}
    

    〇 例

     C:\Users\cliuser>aliyun ecs DeleteSecurityGroup  --SecurityGroupId sg-6wedd0ur1e5lj7ux7ns
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "E246915B-300D-4861-9A34-7D278E5B70A4"
     }
    

10-4:a. EIPのリリース

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc ReleaseEipAddress  --AllocationId ${EIP_ID}
    

    〇 例

     C:\Users\cliuser>aliyun vpc ReleaseEipAddress  --AllocationId eip-6wevab5wa7b9yclwt4aeu
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "9D07D88D-2F3A-4338-B83A-B7DA03ABBE2A"
     }
    

10-4:b. EIPの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeEipAddresses  --AllocationId ${EIP_ID} 
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeEipAddresses  --AllocationId eip-6wevab5wa7b9yclwt4aeu
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "EipAddresses": {
                     "EipAddress": []                            ←IPアドレスが無くなった。
             },
             "TotalCount": 0,                                    ←カウントも0
             "PageSize": 10,
             "RequestId": "1E5A5E48-C3F1-4E5F-BE69-49A6384E408A"
     }
    

10-5:a. VSwitchの削除

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DeleteVSwitch  --VSwitchId ${VSWITCH_ID}
    

    〇 例

     C:\Users\cliuser>aliyun vpc DeleteVSwitch  --VSwitchId vsw-6we8vvax78we9e3kdyyu7
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "BD59526E-C4F2-4889-A732-D3533A3CB3DB"
     }
    

10-5:b. VSwitchの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeVSwitches  --VSwitchName ${VSWITCH_NAME}
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeVSwitches  --VSwitchName VSw
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "VSwitches": {
                     "VSwitch": []           ←空になっている事を確認
             },
             "TotalCount": 0,
             "PageSize": 10,
             "RequestId": "424ED6FE-514E-491D-8D0B-A78E4E764573"
     }
    

10-6:a. VPCの削除

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DeleteVpc  --VpcId ${VPC_ID}
    

    〇 例

     C:\Users\cliuser>aliyun vpc DeleteVpc  --VpcId vpc-6wej98os503c52j82bxsn
    

    〇 以下の様に返却されるハズ

     {
             "RequestId": "A6279BB8-A9F6-4FFA-BB8A-A5FE98CAA321"
     }
    

10-6:b. VPCの確認

  • 以下のコマンドを実行

    〇 フォーマット

     aliyun vpc DescribeVpcs --VpcName ${VPC_NAME} 
    

    〇 例

     C:\Users\cliuser>aliyun vpc DescribeVpcs --VpcName VPC
    

    〇 以下の様に返却されるハズ

     {
             "PageNumber": 1,
             "Vpcs": {
                     "Vpc": []       ←空になっている事を確認
             },
             "TotalCount": 0,
             "PageSize": 10,
             "RequestId": "053BC71C-AC8E-480C-B0EC-BAF6D316DDA2"
     }
    

作業は以上になります。