Lancard.com http://www.lancard.com/ Lancard.com 新着情報とスタッフブログのRSS(RSS 2.0) <![CDATA[Scalewayに30分でGitHubクローンを建てるよ]]> https://www.lancard.com/blog/2017/10/02/scaleway%E3%81%AB30%E5%88%86%E3%81%A7github%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%82%92%E5%BB%BA%E3%81%A6%E3%82%8B%E3%82%88/ Mon, 02 Oct 2017 09:44:10 +0900 https://www.lancard.com/blog/?p=5226 GitHubクローン、Gogs(https://gogs.io/)をScalewayに5分で建てるというLTネタができるのでは?
と思ってのにやってみたら30分かかることが判明したでござる(完全敗北)

こんにちプレミアム。公開は月曜日だけど書いているのはフライデー。muraveです。

ここのところ続けて書いている Vagrant + Ansible で Scaleway にサーバーを建てるネタの集大成的な内容です。シナリオは

  • CentOS7 インスタンスを起動
  • CentOS7 基本設定
    • 基本ツール類導入
    • firewalld起動
  • CEFSプロジェクト提供のエラッタに基づきセキュリティアップデート
  • MySQL 5.7 導入
  • Nginx 導入
  • Gogs 導入
  • Gogs 初期設定・インストール(Web画面)
  • 最初のユーザー(管理者)作成
  • テスト用リポジトリ作成
  • リポジトリにpush

Gogsの導入時にNginxのリバースプロキシ設定やSELinuxのポリシーモジュール追加などやってるのでPHP動かしたりするときなどにも色々と参考になると思います(と未来の自分に語りかける)

jmurabe/scaleway-centos7gogs

経過時刻を挿入しつつ vagrant up からの進行状況を貼っていきます。

2017年 9月29日 金曜日 13時20分27秒 JST
開始です。

$ vagrant up             
Bringing machine 'default' up with 'scaleway' provider...
==> default: Creating a server with the following settings...
==> default:  -- Commercial Type: VC1S
==> default:  -- Image: 9103368e-4fab-4243-aa8d-18121796c086
==> default:  -- Name: scw-******
==> default: Starting the server...
==> default: Waiting for server to become "ready"...
==> default: Waiting for SSH to become available...

2017年 9月29日 金曜日 13時22分53秒 JST
インスタンスが起動するのに2分半。

==> default: [vagrant-hostsupdater] Checking for host entries
==> default: Rsyncing folder: /Users/murave/scaleway/gogs/ => /vagrant
==> default: Running provisioner: ansible...

2017年 9月29日 金曜日 13時24分31秒 JST
プロビジョニング開始時で4分が経過。

    default: Running ansible-playbook...

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [default]

TASK [centos7common : add EPEL] ************************************************
changed: [default]

TASK [centos7common : installs] ************************************************
changed: [default] => (item=[u'bind-utils', u'yum-utils', u'git', u'unzip', u'libselinux-python', u'libsemanage-python', u'policycoreutils-python', u'python-pip', u'firewalld'])

TASK [centos7common : running and enabled firewalld] ***************************
changed: [default]

TASK [centos7common : firewalld] ***********************************************
ok: [default]

TASK [centos7secup : install on yum security update] ***************************
changed: [default] => (item=[u'yum-plugin-security', u'createrepo', u'bzip2'])

TASK [centos7secup : check /security exists] ***********************************
ok: [default]

TASK [centos7secup : make /security] *******************************************
changed: [default]

TASK [centos7secup : create repo for CEFS project] *****************************
changed: [default]

TASK [centos7secup : download vmfarms/generate_updateinfo] *********************
changed: [default]

TASK [centos7secup : download CEFS errata.latest.xml.bz2] **********************
changed: [default]

TASK [centos7secup : update CEFS project repo and yum security update] *********
changed: [default]

2017年 9月29日 金曜日 13時31分54秒 JST
セキュリティアップデートおわったー。11分半経過。

TASK [mysql : install mysql57 repository] **************************************
changed: [default]

TASK [mysql : install on mysql] ************************************************
changed: [default] => (item=[u'mysql-community-server', u'MySQL-python'])

TASK [mysql : run and enable mysqld] *******************************************
changed: [default]

TASK [mysql : check /root/.my.cnf exists] **************************************
ok: [default]

TASK [mysql : get root temporary password] *************************************
changed: [default]

TASK [mysql : change root password] ********************************************
changed: [default]

TASK [mysql : deploy /root/.my.cnf] ********************************************
changed: [default]

TASK [mysql : deploy /etc/.my.cnf] *********************************************
changed: [default]

TASK [mysql : remove anonymous mysql_user] *************************************
ok: [default]

TASK [mysql : restart mysqld] **************************************************
changed: [default]

2017年 9月29日 金曜日 13時37分33秒 JST
MySQL導入(基本状態)、17分経過。

TASK [nginx : install nginx] ***************************************************
changed: [default]

TASK [nginx : running and enabled nginx] ***************************************
changed: [default]

TASK [nginx : firewalld] *******************************************************
changed: [default]

TASK [nginx : firewalld] *******************************************************
changed: [default]

2017年 9月29日 金曜日 13時39分00秒 JST
Nginx導入(基本状態)、18分半経過。

TASK [gogs : add git user] *****************************************************
changed: [default]

TASK [gogs : create mysql database for gogs] ***********************************
changed: [default]

TASK [gogs : create mysql user for gogs] ***************************************
changed: [default]

TASK [gogs : download gogs zip] ************************************************
changed: [default]

TASK [gogs : debug] ************************************************************
ok: [default] => {
    "msg": "/home/git/linux_amd64_0.11.29.zip was downloaded"
}

TASK [gogs : unarchive gogs zip] ***********************************************
changed: [default]

TASK [gogs : cp gogs.service to /etc/systemd/system/] **************************
changed: [default]

TASK [gogs : running and enabled gogs] *****************************************
changed: [default]

TASK [gogs : copy nginx.conf(location deleted)] ********************************
changed: [default]

TASK [gogs : check gogs.conf] **************************************************
ok: [default]

TASK [gogs : set selinux's httpd_can_network_connect on] ***********************
ok: [default]

TASK [gogs : copy ssh_keygen_test.pp (custom policy module)] *******************
changed: [default]

TASK [gogs : install ssh_keygen_test.pp] ***************************************
changed: [default]

TASK [gogs : copy gogs.conf and restart nginx] *********************************
changed: [default]

RUNNING HANDLER [gogs : restart nginx] *****************************************
changed: [default]

PLAY RECAP *********************************************************************
default                    : ok=41   changed=33   unreachable=0    failed=0   

2017年 9月29日 金曜日 13時44分08秒 JST
Gogsの導入まで完了しました。23分半。

IP確認のために vagrant ssh-config

$ vagrant ssh-config
Host default
  HostName ***.***.***.***
  User root
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/murave/.ssh/id_rsa
  IdentitiesOnly yes
  LogLevel FATAL

ブラウザでアクセスすると初期設定・インストール画面が表示されます。

  • MySQLのユーザをgogsに変更し、パスワードには.envのGOGS_MYSQL_PWに設定した文字列を入力
  • ドメイン、アプリケーションのURLをIPベースで入力(とりあえず)。
    • NginxでリバースプロキシしているのでURLの3000番ポート指定ははずしてください。
  • 「Gogsをインストール」をクリック

起動しました。

右上の「登録」から最初のユーザーを作成します。このユーザーは管理者になります。

ログインしてテスト用リポジトリを作成します。

画面の通りにコマンドラインで新しいリポジトリを作成してpushします。

2017年 9月29日 金曜日 13時49分32秒 JST
ということで、約29分でのゴールでした。

Facebooktwittergoogle_pluslinkedintumblrmail]]>
<![CDATA[Mongoose OSをESP32で使ってみた]]> https://www.lancard.com/blog/2017/09/29/mongoose-os%E3%82%92esp32%E3%81%A7%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/ Fri, 29 Sep 2017 16:19:34 +0900 https://www.lancard.com/blog/?p=5219 ESP32開発ボードを購入し、Mongoose OSを試してみました。
ESP32シリーズは、Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラです。
Mongoose OSは、低消費電力なマイクロコントローラ用のオープンソースのOSです。IoTするための機能が充実しています。

ESP32およびESP32開発ボードは、いくつかのベンダーが出していますが、購入したのは、「HiLetgo ESP32 ESP-32S NodeMCU開発ボード」という一番安かったもの。
中国から国際書留で送られてきましたが、到着するのに10日かかりました。
ちゃんと技術基準適合マークついてました。

Mongoose OSのインストール

以下を参考にしました。
https://mongoose-os.com/docs/quickstart/setup.html

開発環境はMacOSです。
開発環境にmosコマンドをインストールします。

$ curl -fsSL https://mongoose-os.com/downloads/mos/install.sh | /bin/bash
$ ~/.mos/bin/mos --help

USB-シリアルドライバをインストールします。
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

次にESP32のフラッシュに、Mongoose OSのdefaultのファームウェアを書き込みます。
ESP32開発ボードと端末をUSBで接続し、以下を実行するとブラウザでWEB UI IDEが起動します。

$ ~/.mos/bin/mos

ステップ1で「/dev/cu.SLAB_USBtoUART」を選択し「Select」ボタンを押します。もし、「/dev/cu.SLAB_USBtoUART」がない場合、USB-シリアルドライバがインストールされてません。
次に、「Select firmware, click Flash」で、「mos-esp32-1.17」を選択し「Flash」ボタンを押すわけですが、なぜかどうしてもフラッシュ書き込みが出来ませんでした。

よく分かりませんがコマンドラインだとフラッシュ書き込みが出来ます。

$ ~/.mos/bin/mos flash mos-esp32-1.17 --port /dev/cu.SLAB_USBtoUART

コマンドラインで書き込み後、再度WEB UI IDEを起動すると、「Mongoose OS is installed on this device:」と表示され次のステップへ進めます。


しかしここで、別の問題が発生しました。
今まで、Arduino IDE(arduino-esp32)やESP-IDFのesptool.pyでフラッシュ書き込みが出来てましたが、Mongoose OSのフラッシュ書き込み後、できなくなってしまいました。
なお、mos flashコマンドだとその後も、時々失敗しますが書き込みできます。


ステップ3でWIFIのSSIDとパスワードを登録します。

開発

WEB UI IDEまたはコマンドラインで開発できます。
コマンドラインの場合、以下のような感じです。

  • mos init –arch esp32   // スケルトンのプロジェクトファイルをダウンロード
    あるいは、ここから適当なものをgit clone
  • プログラミング
  • mos build –arch esp32 –local  // ビルド
  • mos flash           // フラッシュ書き込み
  • mos console          // ログ出力

ビルド

クラウド(http://mongoose.cloud/)またはローカルでできます。
デフォルトはクラウドです。ローカルの場合「–local」をつけてビルドします。
クラウドの方が速いです。ビルドするソースが全部、どこかに送られていると思うと嫌ですが。
ローカルのビルドではデバイスの環境依存吸収のためDockerが使用されています。

mjsについて

Mongoose OSは、Javascript(mjs)またはC/C++で開発できます。

ESP32はpartition tablesがあり、フラッシュ上にパーティションを配置でき、ファイルシステムのパーティション作成できます。
Mongoose OSは、フラッシュ上にファイルシステムを持っていて、
mjsの場合、ファイルシステム上に更新ファイルを置いて再起動するだけで、コンパイルもファームウェア更新しなくても、プログラムを更新できます。

AWS-IoTのテスト

以下を参考にしました。
https://mongoose-os.com/blog/secure-remote-device-management-with-mongoose-os-and-aws-iot-for-esp32-esp8266-ti-cc3200-stm32/

設定

事前にAWS CLIをインストールしIAM等の設定しておきます。

$ mos aws-iot-setup --aws-iot-policy=mos-default

これだけでカレントディレクトリに鍵を生成し、AWSにアクセスしてモノ(Thing)登録およびESP32のクライアント側のMQTT Settingsしてくれます。

検証

WEB UIの場合、自動生成されるdefaultアプリのinit.jsに、既にデバイスのボタンを押下したらMQTTのpubllishを行うロジックがあります。


// Publish to MQTT topic on a button press. Button is wired to GPIO pin 0
GPIO.set_button_handler(button, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 200, function() {
let message = getInfo();
let ok = MQTT.pub(topic, message, 1);
print('Published:', ok, topic, '->', message);
}, null);

AWSコンソール画面でAWS IoTを開き、
「テスト」> 「トピックへサブスクライブする」で、トピックを入力し、「トピックへのサブスクライブ」ボタンを押します。。
入力例 /devices/esp32_21B54C/events  // ‘/devices/’ + Cfg.get(‘device.id’) + ‘/events’

ESP32開発ボードのIO0ボタンを押すと、AWSコンソール画面で以下の様なものが表示され、サブスクライブ出来たことが確認できます。

{
"free_ram": 105960,
"total_ram": 191920
}

AWS IoTでできること

AWS IoTを通じて(mqttで)、リモート越しにデバイスにアクセス・操作できます。

最初にエイリアスを作成

$ alias mos1="mos --cert-file $(mos config-get mqtt.ssl_cert) --key-file $(mos config-get mqtt.ssl_key) --port mqtts://$(mos config-get mqtt.server)/$(mos config-get device.id)"
$ mos1 ls -l       // ファイルシステム上のファイル一覧
$ mos1 call Sys.GetInfo // RPC呼び出し      システム情報表示  
$ mos1 call Sys.Reboot // RPC呼び出し 再起動

実はdefaultアプリだと、httpがenabledになっていて、AWS IoT以外にhttp、websocketでもデバイスにアクセス・操作できます。

$ mos --port http://192.168.17.142/rpc ls
$ mos --port http://192.168.17.142/rpc call Sys.GetInfo
$ mos --port ws://192.168.17.142/rpc call Sys.GetInfo

ライブラリおよび設定について

mos.ymlファイルで、ライブラリおよび設定を定義します。
defaultアプリで、httpがenabledになってるのは、defaultアプリはライブラリjs-demo-bundleを読み込んでいて、js-demo-bundleは、http-serverを読み込んでいます。
http-serverのmos.ymlに以下の記述があります。

config_schema:
- ["http.enable", "b", true, {title: "Enable HTTP Server"}]

RPC

Mongoose OSはRPC(remote procedure call)が強力です。

シェル上でmosコマンドで実行する場合以下のようにします。

$ mos1 call Sys.Reboot

OTA(Over The Air updates)で、リモートからファームウェア書き換えが出来ます。
またI2CやGPIOもRPCで操作できるので、デバイスにプログラムを置くのではなく、リモートにプログラムを置いて(たとえばAWS Lambda)、デバイス操作するすることが可能です。
バックドア的なことが簡単に実現可能な気がします。セキュリティ管理をちゃんとする必要があります。

デフォルトで用意されてるRPC一覧です。

$ mos call RPC.List
[
  "Wifi.Scan",
  "OTA.SetBootState",
  "OTA.GetBootState",
  "OTA.CreateSnapshot",
  "OTA.Revert",
  "OTA.Commit",
  "OTA.Update",
  "I2C.WriteRegW",
  "I2C.WriteRegB",
  "I2C.ReadRegW",
  "I2C.ReadRegB",
  "I2C.Write",
  "I2C.Read",
  "I2C.Scan",
  "GPIO.RemoveIntHandler",
  "GPIO.SetIntHandler",
  "GPIO.Toggle",
  "GPIO.Write",
  "GPIO.Read",
  "FS.Umount",
  "FS.Mount",
  "FS.Mkfs",
  "FS.Remove",
  "FS.Put",
  "FS.Get",
  "FS.ListExt",
  "FS.List",
  "Config.Save",
  "Config.Set",
  "Config.Get",
  "Sys.SetDebug",
  "Sys.GetInfo",
  "Sys.Reboot",
  "RPC.Ping",
  "RPC.Describe",
  "RPC.List"
]
Facebooktwittergoogle_pluslinkedintumblrmail]]>
<![CDATA[ScalewayのSecurity groupに期待しすぎるのをやめる]]> https://www.lancard.com/blog/2017/09/25/scaleway%E3%81%AEsecurity-group%E3%81%AB%E6%9C%9F%E5%BE%85%E3%81%97%E3%81%99%E3%81%8E%E3%82%8B%E3%81%AE%E3%82%92%E3%82%84%E3%82%81%E3%82%8B/ Mon, 25 Sep 2017 10:58:26 +0900 https://www.lancard.com/blog/?p=5212 muraveです。

自分の前の記事『Vagrant+AnsibleでCentOS7のセキュリティアップデートまで』の余談で「ScalewayのSecurity groupについて事前に調整しとくと良いよ」みたいなことを書きましたが、

「Scalewayさんのスパムメール送信対策なんやな〜」

ぐらいの気持ちで接してSecurity groupはなるべく素通しで他の手段で対策したほほうが良さそう、という話。

まず、このときにも書いたようにインスタンスを立ち上げ直さないと変更が反映されないので、この時点で実運用ではかなり致命的。

そして私が諦めた直接の理由ですが、inboundをまとめてdropして必要なportだけをacceptする設定にすると外部へのhttp/httpsアクセスができなくなる。つまり外部のAPIへのアクセスが遮断されます。

aws-cli使ってS3へのバックアップするときにコケてて原因調べたら外部へのhttp/httpsアクセスが全滅してたっていうね。

HTTP not working
https://community.online.net/t/http-not-working/1438

によると

With the rule TCP inbound 0.0.0.0/0 drop, outbounds connections can’t work. That’s because the firewall is stateless.

だそうです。

「iptablesつかえや」みたいな話がみえたので、CentOS7ですしfirewalldでがんばることにしました。

ということで、

jmurabe/scaleway-centos7base

更新しました。

ScalewayのCentOS7.3のイメージにはfirewalldの導入もされていなかったので導入して有効化する処理を追加しています。

sshを許可する処理も入れてますが、もともとsshは許可されているので書き方のサンプルみたいなものです。削除しても問題ありません。

ついでに、調査時digやnslookupが使えなくてつらかったのでbind-utils、みんなaws-cli入れるよね? いれるときに入ってたほうが便利よね? ってことでpython-pipなど追加してます。

Facebooktwittergoogle_pluslinkedintumblrmail]]>
<![CDATA[funcphoneの転送費用についてドドン!とまたまた全て内訳を公開します!!]]> https://www.lancard.com/blog/2017/09/22/funcphone%E3%81%AE%E8%BB%A2%E9%80%81%E8%B2%BB%E7%94%A8%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%83%89%E3%83%89%E3%83%B3%EF%BC%81%E3%81%A8%E3%81%BE%E3%81%9F%E3%81%BE%E3%81%9F%E5%85%A8%E3%81%A6%E5%86%85/ Fri, 22 Sep 2017 15:55:47 +0900 https://www.lancard.com/blog/?p=5204 弊社が提供しているクラウドサービス「funcphone(ファンクフォン)」では、通話転送留守録グループ着信内線電話音声自動応答機能(IVR)などの機能を、自由に設定しお使いいただけるサービスなのですが、初期費用 無料!ライトプランですと月額費用 2,000円(税込) でスタートできます!

今回は 思い切って自社運用しているfuncphoneの費用の内訳を公開します! の続編として、以前より何度かお客様からもお問い合わせがあったfuncphoneの転送費用についてお話します。

現在弊社では、funcphoneと並行して別途通信事業者の転送サービスを使い、既存の電話番号「095-840-0021」からfuncphoneの050番号への転送も行なっています。

実際に転送サービスの費用を比較すると…


通信事業者 A社の場合 内訳

[2017年 7月 ]
回線使用料(基本料) 3,030 円
転送サービス月額 650 円
IP電話への転送料金 3,704 円
定額料、ユニバーサル料金など 271 円

合計 7,655 円

[2017年  8月 ]
回線使用料(基本料) 3,030 円
転送サービス月額 650 円
IP電話への転送料金 2,300 円
定額料、ユニバーサル料金など 272 円

合計 6,252 円


funcphoneの場合 内訳

[ 2017年 7月 ]
電話番号 約 109円/番号1個
月額 2,000円
発着信料金 約 3,483円(転送以外の通常の発着信通話料や開発用のテスト発着信料も含んでいます)

合計 約 5,592 円

[ 2017年 8月 ]
電話番号 約 109円/番号1個
月額 2,000円
発着信料金 約 4,031円(転送以外の通常の発着信通話料や開発用のテスト発着信料も含んでいます)

合計 約 6,140 円


一見さほど変わらないようにも見えますが、funcphoneの発着信料金は転送以外の通常の通話料も含まれている為、そちらも差し引くとかなりお安くなります。(残念ながら転送料金は発着信料金と合算扱いになり転送のみの正確な料金は確認できません;)

しかも、funcphoneでは転送のみではなく、インターネットに接続できる環境さえあれば、いつでも!好きな時に!!好きなだけ!!!転送先電話番号を変更することができます。

更に…

  • 時間や曜日を指定して自動応答/転送など自動で切り替え
  • 着信元の番号によって自動応答/転送など自動で切り替え
  • 番号1を押すと「Aへ転送」2を押すと「営業時間を読み上げ」などの分岐登録
  • 読み上げて欲しいテキストを登録し自動音声で読み上げ

など、他にも様々な機能を組み合わせてお使いいただけますので、用途によって独自の設定が可能です

7日間無料トライアルでお試しいただけますので、ご興味のある方はぜひ!この機会にご検討ください!!
funcohoneの紹介ページはこちら

Facebooktwittergoogle_pluslinkedintumblrmail]]>
<![CDATA[Vagrant+AnsibleでCentOS7のセキュリティアップデートまで]]> https://www.lancard.com/blog/2017/09/20/scaleway-centos7base/ Wed, 20 Sep 2017 10:22:39 +0900 https://www.lancard.com/blog/?p=5199 muraveです。ここ最近の記事、

についてスクリプト化してGitHubで公開しました

jmurabe/scaleway-centos7base

クラウド(Scaleway)上で動かすのでセキュリティ確保のために yum update するべき。しかし全部アップデートすると時間がかかりすぎる。そこでセキュリティアップデート出来るようにセットアップして実行するところまで自動で、という内容です。

冪等性が確保できているとは言い難い所はありますが(/securityが存在するか?だけでsecurityリポジトリが作成されているか判断している等)、ベースとしては使えるとおもいます。


実行するとこんな感じ(一部伏せてます)。

$ git clone git@github.com:jmurabe/scaleway-centos7base.git
Cloning into 'scaleway-centos7base'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done.

$ cd scaleway-centos7base 

$ cp .env.example .env

.env の内容を修正してください。

$ vagrant up
Bringing machine 'default' up with 'scaleway' provider...
==> default: Creating a server with the following settings...
==> default:  -- Commercial Type: VC1S
==> default:  -- Image: 9103368e-4fab-4243-aa8d-18121796c086
==> default:  -- Name: scw-******
==> default: Starting the server...
==> default: Waiting for server to become "ready"...
==> default: Waiting for SSH to become available...
==> default: Machine is booted and ready for use!
==> default: [vagrant-hostsupdater] Checking for host entries
==> default: Rsyncing folder: /Users/murave/scaleway/centos7base/ => /vagrant
==> default: Running provisioner: ansible...
    default: Running ansible-playbook...

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [default]

TASK [centos7common : installs] ************************************************
changed: [default] => (item=[u'yum-utils', u'git', u'unzip', u'libselinux-python', u'libsemanage-python', u'policycoreutils-python'])

TASK [centos7secup : install on yum security update] ***************************
changed: [default] => (item=[u'yum-plugin-security', u'createrepo', u'bzip2'])

TASK [centos7secup : check /security exists] ***********************************
ok: [default]

TASK [centos7secup : make /security] *******************************************
changed: [default]

TASK [centos7secup : create repo for CEFS project] *****************************
changed: [default]

TASK [centos7secup : download vmfarms/generate_updateinfo] *********************
changed: [default]

TASK [centos7secup : download CEFS errata.latest.xml.bz2] **********************
changed: [default]

TASK [centos7secup : update CEFS project repo and yum security update] *********
changed: [default]

PLAY RECAP *********************************************************************
default                    : ok=9    changed=7    unreachable=0    failed=0   

HostName(IP)はssh-configで確認するのが便利かと思います。

$ vagrant ssh-config
Host default
  HostName ***.***.***.***
  User root
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/murave/.ssh/id_rsa
  IdentitiesOnly yes
  LogLevel FATAL

余談

centos7commonとSELinuxについて

centos7commonでSELinux制御絡みのパッケージ等を入れてるのは環境構築時に必要になるだろうという理由でなんですが、実は指定しているScalewayのイメージから起動するインスタンスではSELinuxは無効となっていたりします。

$ vagrant ssh
Last login: Tue Sep 19 08:41:21 2017 from 114.160.75.94
[root@scw-****** ~]# getenforce
Disabled

SELinux関係はVirtualBoxで試していて追加したのですが、そもそもcentos7common自体の内容が薄いのでこれをなくして、パッケージが必要なRoleすべてにinstallを書いたほうがRoleの再利用性が高まる気もしています。でも、Roleの依存性を全てなくそうとするのは逆効果ですしねぇ。

ScalewayのSecurity groupについて

このスクリプトで起動したScalewayのインスタンスでは、Default security group が設定されるかとおもいますので(ORGANIZATION DEFAULTを変更していなければ)、このフィルターを事前に調整しておくと良いかと思います。

ScalewayのSecurity groupの変更はインスタンス起動時しか反映されないようなので注意してください(稼働中インスタンスに適用するにはコントロールパネルからインスタンスを起動しなおさないとダメっぽい)

動作の詳細を確認したい時

Vagrantfileの

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "provisioning/playbook.yml"
    #ansible.verbose = "extra"
    ansible.limit = 'all'
  end

でコメントアウトしている ansible.verbose = “extra” を生かして下さい。

Facebooktwittergoogle_pluslinkedintumblrmail]]>