NTTPCコミニュケーションズ社の提供する仮想専用のVPSサービスWebARENA/Indigoは、VPSで使えることや価格の安さに加えてAPIでの操作に対応している点がポイントです。1vCPU/1GB memory/20GB SSDスペックのエントリモデルの場合、1時間当たり0.55円・月額349円です。Linuxサーバーのチェック環境やテスト環境には便利です。
WebARENA / Indigoの特徴
- VPS
- 利用できるOS限定 ( CentOS7 / Ubuntu )
- Firewall機能あり
- スナップショット機能あり
- GUIはシンプル
- 現状の運用ゾーンは東京のみ
- データ転送量の制限あり
- サーバーにはグローバルIPが直接アサイン( IPは1個のみ )
- ネットワークインターフェース名 ifcfg-eth0
- RestAPIに対応
- 運用基盤KVM
- サポートなし
GUI
WebARENA サービス項目からアクションを選択
Indigoの画面
作業手順
- ネットワーク管理(Firewallの設定)
- SSHキーの作成
- インスタンスの作成
- APIキーの作成(必要に応じて)
Firewallを作成
インバウンド&アウトバウンドのポリシーを設定します
SSH鍵の作成
SSHキーは新規作成の他に、既存のSSHキーをインポートも出来ます
インスタンスの作成
- スペックを選択
- OSを選択(CentOS / ubuntu )
- SSH鍵を選択
- 運用するリージョンを選択
1分程度でインスタンスが作成されます
インスタンスのパワーオン
アクセス
例
- SSH鍵ファイル名 webarena-indigo-ssh
- IPアドレス 40.2.22.4
- インスタンス名 centos75-test
- centos のアカウント名 centos
- ubuntuのアカウント名 ubuntu
teraterm などを利用してCentOSのVPSへアクセス
centosのデフォルトユーザーは、centos です
- ユーザー名 centos を入力
- 秘密鍵の key file 指定 例 webarena-indigo-ssh
もしくは
Cygwinなどでのアクセス
SSH鍵ファイルのモードを適切に設定します
[root@remoto-client]# chmod 600 webarena-indigo-ssh [root@remoto-client]# ssh -i webarena-indigo-ssh 40.2.22.4 -l centos [centos@centos75-test]$ sudo su -l [root@centos75-test]# pwd /root [root@centos75-test]#
コンソールからのログインやリモートログイン
外部のWAN側からサーバーにアクセス出来ない場合などでも、コンソールからログインを出来るようにしておくと、何らかの障害でWANからサーバーにアクセス出来ないケースでもコンソールからログイン出来ます。
root ログイン許可 / ssh でのパスワード認証許可の設定
cloud.init の設定変更
/etc/cloud/cloud.cfg ファイルの2か所を
disable_root: 0 ssh_pwauth: 1
へ変更
rootのパスワード設定
[root@centos75-test]# passwd Changing password for user root. New password: ← パスワードの入力 Retype new password: ← パスワードの再入力 passwd: all authentication tokens updated successfully. [root@centos75-test]#
sshやリモートコンソールからのログイン
root ログイン許可 / ssh でのパスワード認証許可の例
/etc/ssh/sshd_config ファイルの以下の項目を設定
PermitRootLogin yes PasswordAuthentication yes
へ変更
sshd の再起動
[root@centos75-test ~]# systemctl restart sshd [root@centos75-test ~]#
VNC コンソールからのログイン
リモートからのログイン
[root@remoto-client]# ssh 40.2.22.4 -l root root@40.2.22.4’s password: ← パスワードの入力 Last login: Mon Nov 21 10:02:50 2019 [root@centos75-test]#
SWAP追加
デフォルトのインスタンスではワンパーティションの為にメモリスワップは有りません。
メモリスワップはHDDを利用しますので、スワップのサイズなどは適宜調整ください。
/etc/rc.d/rc.local へ記述の例
--- 標準ではスワップは設定されていません --- [root@centos75-test]# free total used free shared buff/cache available Mem: 1015396 83096 778440 13216 153860 765756 Swap: 0 0 0 --- スワップの設定例 --- [root@centos75-test]# cat /etc/rc.d/rc.local #!/bin/bash touch /var/lock/subsys/local # --- add swapfile 2GB --- SWAPFILE=/swapfile if [ -e $SWAPFILE ] ; then swapon $SWAPFILE else dd if=/dev/zero of=$SWAPFILE bs=1024K count=2048 chmod 600 $SWAPFILE mkswap $SWAPFILE swapon $SWAPFILE fi [root@centos75-test]# chmod 755 /etc/rc.d/rc.local [root@centos75-test]# reboot
再起動後 swapが有効
[root@centos75-test]# free total used free shared buff/cache available Mem: 1016396 148620 202144 51448 665632 620504 Swap: 2097148 7952 2089196 [root@centos75-test]#
APIキーの作成
RestAPIに対応しています
API秘密鍵を「カットアンドペースト」で自分の端末側のファイルとして保存
例 webarena-indigo-ssh.key
RestAPIの操作
accessTokenやインスタンスIDは事前に入手してしておきます
アクセストークンの入手 例
API鍵 clientidとAPI秘密鍵 clientsecret キーを入れて実行
アクセストークンを入手
[root@remoto-client]# ./1st-start.sh | jq . + curl -X POST https://api.customer.jp/oauth/v1/accesstokens -H 'Content-Type: application/json' -d '{ "grantType": "client_credentials", "clientId": "eawBwrlIGV9iPSAVDUPLgx1TR2g", "clientSecret": "TNB6n6bWvug", "code": "" }' { "accessToken": "AB2N13a5xrv3gGhpUACVZMXXb", <<-- アクセストークン "tokenType": "BearerToken", "expiresIn": "3299", "scope": "READWRITE", "issuedAt": "1973555407312" } [root@remoto-client]#
インスタンスの削除
上記で得られたアクセストークンを入れて実行
[root@remoto-client]# ./delete-instance.sh | jq . + curl -X POST https://api.customer.jp/webarenaIndigo/v1/vm/instance/statusupdate -H 'Authorization: Bearer AB2N13a5xrv3gGhpUACVZMXXb' -H 'Content-Type: application/json' -d '{"instanceId":917, "status":"destroy"}' { "success": true, "message": "Instance has been destroyed successfully", "sucessCode": "I20010", "instanceStatus": "shutoff" } [root@remoto-client]#
その他
network インターフェース名は ifcfg-eth0 です
アプリによっては、インターフェース名に依存するものがあります
[root@centos75-test]# pwd /etc/sysconfig/network-scripts [root@centos75-test]# ls -l ifcfg-eth0 -rw-r--r--. 1 root root 487 10月 30 16:39 ifcfg-eth0 [root@centos75-test]#
現状では、WebARENA 「 Indigo」にはロードバランサー機能は提供されておりません。上位のサービスWebARENA 「 VPS」では、ロードバランサーを利用できます。