Bluemix Infrastructure (旧SoftLayer)のAPI(CLI)を使って、Portable Subnetをオーダーしてみます。
SoftLayer APIをインストールする
API(含むCLI)は以下の手順で導入します。
-
python-setuptoolsをインストールします。
Ubuntu
$sudo apt-get install python-setuptoolsRedhat
$sudo yum install python-setuptools -
pipをインストールします。
$sudo easy_install pip -
SoftLayerパッケージをインストールします。
$sudo pip install SoftLayer==5.0.1 -
docoptパッケージをインストールします。
$sudo pip install docopt -
認証キーを取得します。
カスタマーポータルのメニューから「Accounts」→「Users」を選択し、自分のアカウントのAPI KEY欄のGenerateをクリックし、Viewをクリックすると表示されますので、メモしておいてください。 -
認証情報をセットします。
次のコマンドを実行します。
$slcli setup次の4つのパラメータを聞いてきます。
Username []: カスタマーポータルにログインするIDと同じです。
API Key or Password []: 5番で取得したAPI KEYを入力します。
Endpoint (public|private|custom) []: publicかprivateを入力します。
Timeout [0]: デフォルトのゼロのままで結構です。結果は次のような画面になります。
:..............:..................................................................:
: name : value :
:..............:..................................................................:
: Username : xxxxxxxx :
: API Key : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
:
: Endpoint URL : https://api.softlayer.com/xmlrpc/v3.1/ :
: Timeout : not set :
:..............:..................................................................:
APIを試してみる
VLAN一覧を表示します。
$slcli vlan list
root@teacher02:~# slcli vlan list
:.........:........:......:..........:............:..........:.................:............:
: id : number : name : firewall : datacenter : hardware : virtual_servers : public_ips :
:.........:........:......:..........:............:..........:.................:............:
: 1542491 : 954 : - : Yes : sea01 : 2 : 1 : 5 :
: 1555095 : 1187 : - : No : sea01 : 1 : 0 : 5 :
: 1542493 : 979 : - : No : sea01 : 4 : 2 : 61 :
: 1555093 : 1130 : - : No : sea01 : 1 : 0 : 61 :
:.........:........:......:..........:............:..........:.................:............:
Subnet一覧を表示します。
$slcli subnet list
224422 10.28.153.0/28 SECONDARY_ON_VLAN sea01 1542493 16 0 0
251363 10.28.187.128/26 SECONDARY_ON_VLAN sea01 1542493 64 0 0
223358 10.29.10.224/28 SECONDARY_ON_VLAN sea01 1555093 16 0 0
224423 10.28.153.16/28 ROUTED_TO_VLAN sea01 1542493 16 0 0
252187 10.28.191.64/26 PRIMARY sea01 1542493 64 4 2
257373 10.28.205.128/26 PRIMARY sea01 1555093 64 1 0
191191 173.192.149.224/29 PRIMARY sea01 1542491 8 2 1
156488 174.37.186.40/29 PRIMARY sea01 1555095 8 1 0
998115 2607:f0d0:2002:015c:0000:0000:0000:0000/64 PRIMARY_6 sea01 1555095 7 0 0
1007449 2607:f0d0:2002:015e:0000:0000:0000:0000/64 PRIMARY_6 sea01 1555095 7 0 0
Portable Subnetを注文する
それでは早速ポータブルサブネット(追加のIPセグメント)を注文してみましょう。
書式は次の通りです。
$slcli subnet create [OPTIONS] NETWORK QUANTITY VLAN_ID
OPTIONSは次のとおりです。
--v6, --ipv6 IPv6をオーダーする
--test テスト用で実際には注文されない
-h, --help 簡単なヘルプを表示する
NETWORKはpublicかprivateかを指定します。
public
private
QUANTITYはIPアドレス数を指定します。次の中から選択します。
public - 4, 8, 16, 32
private - 4, 8, 16, 32, 64
VLAN_IDは$slcli vlan showで表示される一番左側のIDです。いわゆるVLAN IDではありませんのでご注意ください。
それではコマンドを試してみましょう。--testオプションを付けて実際にはオーダーしないようにします。
$slcli subnet create --test private 8 1555093
:.................................:......:
: Item : cost :
:.................................:......:
: 8 Portable Private IP Addresses : 0.00 :
: Total monthly cost : 0.00 :
:.................................:......:
本番です。--testオプションを外して実行します。
$slcli subnet create private 8 1555093
This action will incur charges on your account. Continue? [y/N]: y
:....................:......:
: Item : cost :
:....................:......:
: Total monthly cost : 0.00 :
:....................:......:
次のコマンドを実行して実際に作成されたかどうか確認します。
$slcli subnet list|grep 1555093
264526 10.28.35.224/29 SECONDARY_ON_VLAN sea01 1555093 8 0 0
223358 10.29.10.224/28 SECONDARY_ON_VLAN sea01 1555093 16 0 0
257373 10.28.205.128/26 PRIMARY sea01 1555093 64 1 0
先ほどの結果では1555093(VLAN 1130)に紐づくSubnetは2つでしたが、一番上に10.28.35.224/29という新しいPortable Subnetが作成されました。
ちなみに、次のように実行すると10個のPortable Subnetを作成します。
for((i=1;i<=10;i++)); do
echo $i
slcli -y subnet create private 8 1555093
#slcli subnet create --test private 8 1555093
sleep 3
done