TORIPIYO DIARY

recent event, IoT, programming, infrastructure topics

AWSの利用していないセキュリティグループの調査方法

利用してないAWSのセキュリティグループを削除することをしたので、やったことをまとめようと思います。

AWSのセキュリティグループの利用方法には、大きく分けて2種類あります。

  • ENIに恒常的に利用されるタイプ
  • ENIに一時的に利用されるタイプ

ENI(Elastic Network Interface)は、AWSで利用されている仮想ネットワークカードです。EC2やRDSインスタンスを立ち上げて、セキュリティグループを紐づける利用方法は、"ENIに恒常的に利用されるタイプ"です。このタイプの利用では、該当するセキュリティグループを削除しようとすると、"ENIに紐づいて利用されてます"というエラーメッセージが表示されるので、利用されているに気付くことが出来ます。

一方、"ENIに一時的に利用されるタイプ"の場合は、普段はどのENIにも紐づいてないので、一見削除して大丈夫そうに見えますが、一時的に利用されている可能性があるので慎重になる必要があります。気をつけないと、昼間に削除したセキュリティグループが、実は深夜のLambda関数実行の際に利用されていて、バッチ処理でエラーになったという事故を起こすかもしれません。

AWSのリソースによって、"ENIに恒常的に利用されるタイプ"と"ENIに一時的に利用されるタイプ"のどちらのケースで利用されているか把握しておく必要があります。

  • ENIに恒常的に利用されるタイプのリソース
    • EC2
    • ELB
    • RDS
    • ElastiCache など
  • ENIに一時的に利用されるタイプのリソース
    • Lambda
    • Launch Template など

"ENIに恒常的に利用されるタイプ"は、"ENIに一時的に利用されるタイプ"と比べればセキュリティグループとENIの対応を調べるのが楽です。
以下は、https://cloudarchitect.net/articles/159を参考にした、セキュリティグループと、ENIの対応関係にInbound/Outboundルール情報をCSVで出力するpythonスクリプトです。スクリプトの実行には、boto3パッケージが必要なので事前にpipでインストールしてください。(pip install json boto3) 実行結果をファイルにリダイレクトして書き出せばCSVファイルを作成できます。(python sg_eni_rules.py > result.csvExcelGoogleのSpreadsheetでこのファイルを開けば、Security GroupとENIの対応関係が一覧でわかります。

セキュリティグループが、"ENIに恒常的に利用されるタイプ"のリソースしか利用していないのであれば、これで調査は終わりです。ENIに紐づいていないセキュリティグループを削除すれば大丈夫です。しかし、"ENIに一時的に利用されるタイプ"のリソースも利用している可能性がある場合は、さらに調査が必要です。

"ENIに一時的に利用されるタイプ"のリソースは、常にセキュリティグループとENIが紐づけている訳ではないので、リソース毎にセキュリティグループの設定をみて判断する必要があります。

以下のコマンドは、そのリソースで設定されているセキュリティグループのGroup IDを一覧で表示させます。(jqコマンドを利用しているので、インストールしていない場合は、事前にbrew install jqでインストールが必要。)

Lambda

aws lambda list-functions | jq .Functions[].VpcConfig.SecurityGroupIds | grep sg | sort

Launch Template

lt_ids=$(aws ec2 describe-launch-templates | jq -r .LaunchTemplates[].LaunchTemplateId)
for lt_id in ${lt_ids[@]}
do
aws ec2 describe-launch-template-versions --launch-template-id ${lt_id} | jq .LaunchTemplateVersions[].LaunchTemplateData.SecurityGroupIds[]
done | sort | uniq

このように、"ENIに一時的に利用されるタイプ"の場合は、リソース毎に設定がないか確認する必要があります。自分の場合は、LambdaとLaunch Templateのリソースがこのタイプに当てはまったのですが、利用しているAWSリソースが多い人は、他にも"ENIに一時的に利用されるタイプ"に当てはまるリソースを利用しているかもしれません。

以上、まとめると、

  1. まず、"ENIに恒常的に利用されるタイプ"のリソースから、ENIと紐づかないセキュリティグループを洗い出す
  2. 洗い出されたセキュリティグループは、"ENIに一時的に利用されるタイプ"のリソースで利用されてないか確認する

という流れになります。この2タイプの両方で利用されていないセキュリティグループは、削除可能なものとなります。

safariのプロキシ設定にPACファイルを適用する

例えば、こんなPACファイルを作る。

  • google.co.jp, google.comのアクセス時には、127.0.0.1:8080ポートのプロキシを通って、それ以外のドメインへはプロキシを経由せず直アクセス

google.pac

function FindProxyForURL(url, host) {

// If the hostname matches, send proxy.
if ((host == "google.co.jp") ||
  (host == "google.com"))
{
    return 'PROXY 127.0.0.1:8080';
}

// DEFAULT RULE: All other traffic, use below proxies, in fail-over order.
    return "DIRECT";

}

safariは、PACファイルをHTTP経由でしか読み込めないようなので、仕方ないのでhttpdのdockerコンテナを作る。以下のようなディレクトリ・ファイル構成にして、docker-compose.ymlを作成する。

ディレクトリ・ファイル構成

.
├── docker-compose.yml
├── pac
    └── google.pac

docker-compose.yml

version: '3.3'
services:
  pac:
    image: httpd:2.4
    volumes:
      - ./pac:/usr/local/apache2/htdocs
    ports:
      - "4000:80"

dockerコンテナの起動

docker-compose up


safariのプロキシ設定

これで、safarigoogle.pacのPACファイルが適用されるようになります。

Amazon Linux2のVagrant Boxを作成する

仕事でちょっとした設定をAmazon Linux 2で試したい時、AWSでEC2インスタンスを立ち上げると、お金がかかったり、消し忘れたり、うっかり作業ミスしたりする可能性があるので、簡単な設定を試すのであれば、ローカルマシン上で済ませたくなります。そこで、個人でAmazon Linux2のVagrant Boxイメージを作ってみることにしました。Amazon Linux 2のVirtualBoxのVDIファイルはAWSから公式で配布されているので、このVDIファイルを利用してVagrantイメージを作成出来ます。


AWSのドキュメントでも、Amazon Linux 2を仮想化プラットフォーム上で起動する方法を説明しています。Running Amazon Linux 2 as a Virtual Machine On-Premises - Amazon Elastic Compute Cloud


今回、Vagrant Boxを作成するにあたって、Vagrantのドキュメントを読んでいたら知らなかったことがいくつかあったので記載しておきます。Boxes - Vagrant by HashiCorp


ということで、bento/amazonlinux-2でもAmazon Linux2をVagrantで動かすことが出来そうですが、今回は手作りでAmazon Linux2のVagrant Boxを作成してみようと思います。

seed.isoの起動イメージ作成

まず、isoファイルを作成します。isoファイルは、CD/DVD/DBなどのデータ形式を完全に再現したファイルです。ISOファイルは、ディスクのコンテンツを丸々、一つのファイルで表現することが出来ます。今回は、seed.isoというファイル名の起動イメージを作ります。seed.iso起動イメージには、meta-data, user-dataの2個のファイルデータを焼き付けてあげます。Amazon Linux2のディスクイメージには、cloud-initパッケージがインストールされていて、起動時にmeta-data, user-dataのデータを参照してOS内に設定を追加することが出来るためです。What is 'cloud-init' and when would you use it? - Quora

meta-dataでは、ホスト名やネットワーク設定を記述します。user-dataでは、ユーザアカウントやパスワードの設定、認証鍵の配置、ロケール・時刻の設定などを記述します。user-dataの書き方については、このドキュメントが参考になります。
cloudinit.readthedocs.io

mkdir seedconfig
cd seedconfig

cat > meta-data << EOF
local-hostname: machine
EOF

cat > user-data <<- EOF
#cloud-config
#vim:syntax=yaml

users:
  - default
  - name: vagrant
    groups: wheel
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    plain_text_passwd: vagrant
    ssh-authorized-keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
    lock_passwd: false

locale: ja_JP.UTF-8

timezone: Asia/Tokyo

write_files:
  - path: /etc/environment
    permissions: '0644'
    owner: root:root
    content: |
      LANG="ja_JP.UTF-8"
      LC_CTYPE="ja_JP.UTF-8"
# https://cloudinit.readthedocs.io/en/latest/topics/network-config.html
  - path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
    content: |
      # Disable network configuration after first boot
      network:
        config: disabled
EOF

user-dataファイルとmeta-dataファイルを作ったので、seed.isoの起動イメージファイルを作成します。hdiutilはディスクイメージを操作するコマンドです。makehybridで、複数のファイルシステムが共存した状態の読み込み専用のディスクイメージを作ります。

# create seed.iso boot image
hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata ./
  • hfsオプションは、HFS+ファイルシステムを作成するために指定します。
  • isoオプションは、ISO9660ファイルシステムを作成するために指定します。
  • jolietオプションは、ISO9660ファイルシステムを拡張したJolietファイルシステムで作成するために指定します。
  • oオプションで起動イメージファイルのファイル名を指定しています。
  • -hfs, -iso, -jolietというように複数のファイルシステムをオプションで指定しているとハイブリッドイメージとして起動イメージファイルが作成されます。
  • default-volume-nameでファイルシステムのデフォルトのボリューム名を指定しています。amazon linux 2のイメージが起動するとき、user-dataはnocloudという方法で読み込まれます。nocloudでuser-dataファイルをディスクから読み込むときは、cidataというボリュームラベルが付与されていなくてはいけません。NoCloud — Cloud-Init 18.5 documentation
  • ./と指定することで、./以下のファイルとディレクトリがディスクイメージのコンテンツとして焼き付けられます。

仮想マシンの起動

AWSのサイトからVDIファイルを取得してきます。
cdn.amazonlinux.com

amazon linux 2のvirtualbox用の仮想ディスク(amzn2-virtualbox-2.0.20190313-x86_64.xfs.gpt.vdi)と、起動イメージ(seed.iso)が用意出来たので、これらを使ってamazon linux 2の仮想マシンvirtualbox上に作成します。

# create vm
VM=vagrant-amznlinux2
VDI=amzn2-virtualbox-2.0.20190313-x86_64.xfs.gpt.vdi
VBoxManage createvm --name "$VM" --ostype "RedHat_64" --register

VBoxManage storagectl "$VM" --name "SATA Controller" --add "sata" --controller "IntelAHCI"
VBoxManage storagectl "$VM" --name "IDE Controller" --add "ide"
VBoxManage storageattach "$VM" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium $VDI
VBoxManage storageattach "$VM" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium seed.iso
VBoxManage modifyvm "$VM" --natpf1 "ssh,tcp,127.0.0.1,2222,,22" --memory 1024 --vram 8 --audio none --usb off
  • 仮想マシンvagrant-amznlinux2)のためにSATA controllerとIDE controllerを作成
  • SATAには仮想ディスク(amzn2-virtualbox-2.0.20190313-x86_64.xfs.gpt.vdi)
  • IDEには起動イメージファイル(seed.iso)をセット
  • ホストマシンの2222ポートのアクセスを仮想マシンの22ポートに転送するように設定
  • RAMを1024MB
  • グラフィックカードのRAMを8MB
  • audioサポートをオフ
  • USB仮想コントローラ機能をオフ

仮想マシンvagrant-amznlinux2)を起動します。--type headlessを指定することで、仮想マシンをコマンドから起動する際、VirtualBoxGUIツールが一緒に立ち上がらないようになります。Headless Mode for Virtual Machines of VirtualBox - Thomas-Krenn-Wiki

# boot amazon linux2
VBoxManage startvm "$VM" --type headless

仮想マシンが立ち上がったら、以下の手順で公開鍵を取得して、SSH経由でvagrantユーザとしてログインすることが出来ます。

# login amazon linux2
curl -sL https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant -o vagrant.pem
chmod 600 vagrant.pem

ssh -p 2222 vagrant@localhost -i vagrant.pem

これで、amazon linux2をVirtualBox上で利用できるようになりました。

vagrant box化

VirtualBox上で動いている仮想マシンをbox化します。ボックス化した時のサイズを小さくするために不要な物を削除します。ddコマンドを使って、0で埋めてしまうのは、仮想マシンイメージの圧縮時に効果的だからのようです。Making smaller base boxes · Issue #343 · hashicorp/vagrant · GitHub 0で埋める処理は、bentoでもboxを作成する際にやっているみたいです。bento/minimize.sh at master · chef/bento · GitHub

sudo rm -rf /var/cache/yum
sudo dd if=/dev/zero of=/0 bs=4k
sudo rm -f /0
history -c

仮想マシンをシャットダウンします。

sudo shutdown -h now

baseオプションで、box化したいVirtualBoxで動いている仮想マシンを指定しています。このコマンドを実行すると、デフォルトではpackage.boxという名前のファイルが作成されます。

vagrant package --base "$VM"

package.boxのboxファイルを、amzn2-2.0.20190313-x86_64という名前でvagrantに登録します。

vagrant box add --name "amzn2-2.0.20190313-x86_64" package.box

vagrantに登録されたので、vagrantから仮想マシンを起動してSSHログインしてみます。

mkdir amzn2 && cd amzn2
vagrant init amzn2-2.0.20190313-x86_64
vagrant up
vagrant ssh

これで、amazon linux 2のvagrant環境を手作りすることが出来ました。

マレーシア・シンガポール旅行2泊3日

また友達の住んでいるマレーシアに遊びに行って来ました。今回は、マレーシアの隣のシンガポールにも足を伸ばしています。滞在期間は2泊3日と短いですが、その分スケジュールは詰め込みました。

f:id:ha107chan:20190125170052j:plain
KLタワーから見たマレーシアの中心部

0日目

羽田空港〜KLIA2

マレーシアの首都クアラルンプールには、羽田から直行便が出ています。空港会社はAirAsia。前回マレーシアに行った時もこの航空会社を使いました。夜の23:45発、朝の現地時間6:30に空港着なので、飛行機内でちゃんと寝ることが出来れば時間をとても有効に活用出来ます。航空チケット代金も他の航空会社に比べればずっと安いので、安くマレーシアに行くのであれば、AirAsia以外の選択肢は無いと思います。

1日目

マラッカ

Calanthe Art Cafe

飛行機から出るとすぐにムワッとした熱気が迎えてくれます。マレーシアには四季が無いようで、1年中昼間の気温は30度を超えるようです。入国チェックを抜けたら、まずはトイレで上をTシャツに着替えます。3000円をマレーシアリンギットに両替して、800円ぐらいの5GBのSIMカードを空港で購入しました。それから、迎えに来てくれた友達の車に乗って、空港から直行でマラッカに向かいます。マラッカは、土日がとても混むらしく、平日の朝早いうちに行けるのであればその方が良いそうです。マラッカに着いて、まず有名なセントポール教会に行きました。まだ朝早い時間なので人はそんなにいません。

f:id:ha107chan:20190125100033j:plain
セントポール教会の石碑

教会を訪問したあと、朝ごはんをまだ食べていないので朝ごはんのお店をGoogle Mapで探します。評価の良いカフェがあったのでそこで朝食を取ることにしました。

www.tripadvisor.com

f:id:ha107chan:20190125102120j:plain
テラス席から外を見る

マレーシア料理ではなくて、洋食メインのお店のようでしたが、蔦の絡んだ入り口には独特の雰囲気があって、店員さんはとても愛想よく親切に応対してくれました。友人がマレーシアであんな丁寧な接客は珍しいと言うほどです。

f:id:ha107chan:20190125102521j:plain
ホワイトコーヒー?

写真はたぶんホワイトコーヒーです(笑)。コーヒーにしては泡立っています。カフェラテみたいに甘い味を想像してしますが、見た目ほど甘くはありません。ちょっと、苦味があって少し粉っぽい?感じもします。

Maritime Museum

海に向かって流れている川沿いをクルーズするツアーに申し込みました。出発まで30分ほど時間が空いたので待ち時間にMartime Museumに行きます。この博物館は、船の形をしていて、船が地上に乗り上げられたようになっています。入場料は1人10リンギットでおよそ260円ぐらいです。一応、外国人向けの価格で少し高くなっているのですが、それでも安いです。展示物の数は多くも少なくもなく、気楽に時間を潰すにはちょうどいい感じでした。

f:id:ha107chan:20190125111149j:plain
これが博物館

Melaka River Park and Cruise

博物館を観た後、船乗り場から20人乗りぐらいの船に乗って、クルーズに出発します。川を逆上するスタイルで20分ほど上って、後半の20分で下ります。川に沿いに建つ建物にはさまざまなペイントが施されていて見ていて飽きません。川を折り返して下り始めると、上りにはなかった英語の音声のナレーションが挿入されるようになりました。クルーズ中にちょっとびっくりしたのが、マレー人の男2人が船の運転手に声をかけて行程の途中で船を川岸に停めておりて行ったことです。日本だと決まった場所でしかおりることが出来ないと言われそうですが、マレーシアは柔軟に対応してくれます。

f:id:ha107chan:20190125113921j:plain
川沿いのペイント

Toast and Roast shop

マラッカを観光した後は、前回マレーシアを観光した際にも行ったチャーシューの店に行くことにしました。店はクアラルンプール市内にあります。Google Mapでお店の場所を設定して、ナビで案内を受けながらお店に向かいます。マラッカからクアラルンプール市内までは車で1時間半〜2時間ほどかかったのですが、Google Mapで案内された場所に着いてみると、住宅街のみでお店はありません。友達によると、たまにGoogle Mapでいたずらをする人がいて、正しい住所から別の場所に変更してしまうことがあるのだそうです笑。今回はまさにそのケースで、営業時間内に辿り着けなくなってしまいました。。。とても美味しいのでマレーシア観光に来た際は、(よく住所を確認して)行ってみるといいと思います。

johorkaki.blogspot.com

Royal Selangor Visitor Centre

気を取り直して、クアラルンプール観光で超定番のロイヤルセダンゴールのピューター工場に行きました。受付では日本語音声ガイドのオーディオプレーヤーを借りることが出来るので、英語が分からなくても楽しむ事ができます。入場料は無料です。平日なので工場内を見学した時には多くの職人さんが働いていました。職人の数は女性の方が多いそうで、男性は過酷な現場に耐えきれずすぐに辞めるそうです。工場内は熱気がすごいのでみんな扇風機をそれぞれの作業机近くに設置して回していました。見学の最後にはピューター製品を実際に手に取りながら購入出来るコーナーがあります。そこでアイスコーヒー飲むのに使えそうなタンブラーを買いました。価格は日本円に直すと4500円ぐらい。

f:id:ha107chan:20190125155113j:plain
ピューターで作ったツインタワー

KLタワー

スカイボックス

ロイヤルセダンゴール見学後は、KLタワーに行きました。このタワーの展望フロアには、足元がガラスになっているスカイボックスと呼ばれるスペースがあって一番の人気スポットになっています。僕もどんな感じか体験したかったので、展望フロアでスカイボックスを申し込みました。一度に入れる人数には制限があって、係の人が順番に番号を呼んでくれます。スカイボックス内にいる時間には制限があって、3~5分ぐらいで交代になります。

f:id:ha107chan:20190125171637j:plain
スカイボックスから見た足元の様子

展望フロアは外に飛び出ないように周りに柵が張ってあるのですが、結構低いので飛び越えようと思えば簡単に飛び越える事が出来ます。もしかしたら、1人ぐらい飛び越えて行った人がいるのかも?

Restoran Stadium Negara

Google Mapの書き換え事件のために昼ご飯が食べられなかったため、夜は少し早めに食べに行く事にしました。

www.tripadvisor.com


友人曰く、このレストランは最近見つけた場所で、ガイドブックにはあまり載っていないけれど現地に駐在する日本人がよく来ているのだそうです。行ってみると、確かに日本人のグループが何組かすでに食事をしていました。

f:id:ha107chan:20190125181130j:plain
食べ途中の写真になってしまった

バーベキューチキン、炒飯、もやしの炒め物、ビールを頼んで食べた後、友人オススメのスチームボードを頼みました。スチームボードは、マレーシアの鍋です。注文したスチームボードは、野菜・きのこ・魚のすり身・湯葉・豆腐などが入っていて、暑い気候の中で汗をかきながら美味しく食べます(写真は撮り忘れる。。)。お腹いっぱいに食べたつもりでも、2人合わせて合計4000円で済んだので日本に比べれば安いです。

HealthLand Taman Desa

夕食後、友人がよく行くというマッサージ屋に行きました。

www.tripadvisor.com


60分の全身マッサージコースを選んだら、まず足を綺麗に洗ってもらってから、個室に案内されて60分間丁寧にマッサージを受けました。結構ちゃんとしたマッサージで、気持ちいいので途中で眠りそうになりました。マッサージ後は、最初の待合いスペースに案内され、お茶をいただいて終了です。ちなみに、お茶を飲んでると、追加でe-genkiというマッサージを受けないかと案内されました。説明文を読むと、古代中国の技法と日本のテクノロジーが組み合わされたマッサージとあります。謎すぎて気になりましたが、もう60分マッサージを受けてるので、友人の家に帰ることにしました。

2日目

Ficelle Boulangerie & Patisserie

2日目はKLIA2空港からシンガポールに移動する日です。空港に行く前にまず近所のカフェへ朝ごはんを食べに行きました。全然マレーシア料理とは関係ない店ですけど、出てきたオムレツが柔らかくて美味しいです。観光客向けの店ではなくて、ローカルの人が来て朝ごはんをのんびり食べる感じなので落ち着いた雰囲気です。オムレツとコーヒーを別で注文して450円ぐらいなのでやっぱり日本に比べれば物価は安いですね。

www.facebook.com

f:id:ha107chan:20190126074714j:plain
店の外観

KLIA2とCHANGI airport

KLIA2まで友人の車で移動して、AirAsiaのシンガポールまでの飛行機に乗ります。シンガポールまでは飛行機で片道4000円ぐらい、1時間でシンガポールに着きます。クアラルンプールからシンガポールまでは飛行機のほかに、高速バスが沢山あって、高速バスでシンガポールまで行く人も沢山いるのだそうです。片道5時間ぐらいで、1500円ぐらいで移動出来ます。マレーシアのKLIA2空港も綺麗ですが、シンガポールは東南アジア有数の金融都市だけあってチャンギ空港はさらに綺麗です。入国ゲートを抜けるとすぐにバスやタクシーの案内があり、simカードの販売カウンターがあったのでそこでsimを購入しました。simカードの値段は2500円ぐらい。このsimは、50GBのデータサイズがあって他の国でも使えるのだそうで日本も含まれています。友人は今度日本に帰る予定があるので使ってみると言っていました。もっと少ないデータサイズでも全然良いのですが、そのsim販売店ではこれが最小のデータサイズなのだそうです。

f:id:ha107chan:20190126115531j:plain
チャンギ空港

この日はいい天気で、シンガポールチャンギ空港から市内に入るまでの道の途中でマリーナベイサンズホテルの建物が車内からよく見えます。チャンギ空港からシンガポール市内のクラーク・キー近くのホテルまでは空港の受付で手配したタクシーで28シンガポールドル(およそ2200円)です。

f:id:ha107chan:20190126122544j:plain
車内から見たマリーナベイサンズ

Song Fa Bak Kut Teh

ホテルでチェックインの手続きをしたあと、近くにSong Fa Bak Kut Tehというバクテー(肉骨茶)で有名なお店があったのでランチの時間に行ってみました。確かに人気で、店の前は大勢の人が溢れています。回転は早いみたいで、並んでいるときにメニューを渡されて、選んでいたらすぐに席が空いて座ることが出来ました。結構雰囲気のある店内ですが、席の間隔は狭くて床はそこまで綺麗ではないので、あまり綺麗な服装では行かない方がいいかもしれません。頼んだバクテーのスープは透明ですが、薬味が色々と入っているようでとてもコクがあって美味しい味でした。2人で食べて3000~4000円ぐらいです。

www.tripadvisor.com

f:id:ha107chan:20190126134752j:plain
右側の透明なスープは疲れた体を癒す

Grab

シンガポールには一泊しか滞在しないのであまり時間がありません。現地の電車やバスでの移動も面白いのですが、今回は効率を優先で、観光地を周るのにGrabを利用しました。Grabは、東南アジアで一番人気の東南アジア版Uberアプリです。アプリをiPhoneにインストールして、クレジットカードを登録すれば、運転手をアプリから呼んで目的地に移動出来ます。シンガポール観光では全ての移動にGrabを利用しました。海外旅行では現地通貨をあまり持っていないことがあるので、クレジットカードで決済が済むのは本当に便利です。目的地も乗ってから口頭で説明しなくて良いので英語があまり得意でない人には特におすすめです。

www.grab.com

Mega Zip

地球の歩き方に乗っていた、セントーサ島にあるMega Zipというアトラクションに行きました。このMega Zipというのは、ちょっと高い山から海岸まで張られたワイヤー上を滑っていくアトラクションです。長さは450mで、説明によると時速は60km/hに達するそうです。

www.tripadvisor.com

アトラクションに参加するには、まず海岸近くの海の家みたいな建物のカウンターで申し込みます。それから、荷物をロッカーに預けて、適正範囲にあるか体重を測ってから、タッチパネルで必要な情報を入力します。ちなみに、荷物を預けるロッカーは、ロックするときに紙幣を入れるタイプだったのですが、入れても直ぐに機械から吐き出されてしまうため、受付の人に紙幣を交換してもらいました。交換後の紙幣では、ロッカーが反応して荷物を入れられました。それから、ワイヤーと自分の体を固定する器具を体に装着して、山まで送ってくれる配送車を待ちます。しばらくすると、配送車がやって来るので、それに乗って山の上まで向かいます。山の上までは狭い道ですが、スピードを出して一気にかけ登っていくのでこれもアトラクションの一つに感じます笑。山の頂上の施設で、体に装着している器具とワイヤーを固定してもらって、体を空中に宙吊りにさせます。しばらくすると、スタッフがスタートの掛け声をかけて、ワイヤーのストッパーが外れ、450mの距離を一気に滑り降りていきます。一緒に滑り降りられる人数は、2~3人なので、2人か3人の組で参加すれば、一緒に滑り降りることが出来て楽しいと思います。ワイヤーの終点は、海岸から少し沖に離れた建物まで繋がっていて、滑り終わったら最初に受付をした海の家の建物まで歩いて戻ります。戻ると、例のごとく写真が販売されているので、気に入ったものがあれば購入できます。買う枚数を増やすなど、スタッフと交渉すると値引きしてもらえる感じでした。1枚だけだと、確か500円ぐらいです。自分は買いませんでしたが、いい記念になりそうです。

f:id:ha107chan:20190126160554j:plain
Mega Zipを滑っている人

Gardens by the Bay

シンガポールのガイドブックにもよく登場する、不思議な形をした木がシンボルの植物園です。

f:id:ha107chan:20190126162657j:plain
不思議な形をした木

ちょっと、建物が近未来的な形をしていて、内部で色々な植物を観ることが出来ます。植物園内はいくつかのエリアに分かれていて、FLOWER DOMEとCLOUD FORESTを見てきました。FLOWER DOMEはガラスで出来た建物で、内部には世界中の植物が展示されています。訪れた時は春節の直前ということもあり、中華風の飾り付けが施されていました。カラフルな色の植物が咲き誇っていて、花が好きな人であればこのドームだけで1時間以上楽しめると思います。

f:id:ha107chan:20190126163640j:plain
春節モード?

また別の建物の中にあるCLOUD FORESTは、ゲームの世界に入ったような空間が広がっていました。普通の植物園では、水平方向にしか歩かないと思うのですが、CLOUD FORESTでは、3次元空間いっぱいに自然が広がっています。

f:id:ha107chan:20190126165848j:plain
立体的な展示

植物の展示方法のスケールが大きくて、雲の上を歩きながら植物を観ている気分にさせる展示がされています。インスタ映えしそうな場所がいたるところにたくさんありました。Gardens by the Bayは、花や植物が好きな人はもちろん、そうでない人にもお勧めできる場所です。

Night Safari

ナイトサファリの場所は、シンガポールの市内から少し離れた郊外の方にあります。Grabを使って、大体20~30分ほどかかりました。道はそんなに混んではいなかったですが、ナイトサファリの場所に着いてみると、土曜日の夜ということもあるのか人で溢れていました。日本人はあまり見かけず、中国人・インド人・マレー人が多いように感じました。日本語で話して案内してくれる、トラムという乗り物が少し前まではあったそうですが、今はもう廃止されてしまったそうです。確かに、日本人はそこまで多いようには感じませんでした。事前にインターネットのサイトから予約していたので、チケットの購入では並ばずに済んだのですが、それでもトラムに乗る列を待つのに約1時間弱ぐらい並びました。

f:id:ha107chan:20190126205155j:plain
トラムの席の前にある機器、暗くてよくわからないけどイヤホンを差し込む穴がある

トラムに乗ると、英語のアナウンスでサファリパーク内の案内が始まります。各座席にはイヤホンを差し込む穴があって、そこにイヤホンを差し込めば各国の言語で解説を聞けるようでした。僕はイヤホンを持っていなかったので聞けませんでしたが、iPhoneのイヤホンなど持ってる人ならば日本語の解説を楽しめると思います。トラムに乗ってからの所要時間は大体40~50分ぐらいです。

f:id:ha107chan:20190126210546j:plain
ライオン、iPhone SEではこれが限界

トラムを降りたあとは、サファリパーク内を歩いて廻ることが出来ます。正直に言うと、トラムで廻るよりも歩いてサファリパーク内を散策するほうが自分のペースで動物をじっくりと観察することが出来て楽しいです。歩行コースには所々に解説が付与されていたり休憩場所があったりと適切に整備されています。歩行コースの方も所要時間は大体40~50分ぐらいです。

Ghuan Grill and Noodle Bar

サファリパークを出た時はもう夜22時を過ぎてしまっていたので、夕食は軽めにしました。ホテルの近くのクラーク・キーという繁華街の、Ghuan Grill and Noodle Barという店に入ってみました。

kavielteo.blogspot.com

この店は色々な国の麺料理を提供しているみたいで、日本の麺料理もメニューにありました。(もしかしたら、実際の日本のものとは味が違うかもしれないけれど。)僕は、牛肉が乗ったラーメンを食べました。食べてみるとラーメンとはちょっと違う味でしたけど美味しかったです。付け合わせに、ホタテと茄子も注文。ホタテはガーリックが効いていて、味付けは日本人好みでした。料金は、2人でビールを1杯ずつ頼んだのも合わせて合計で5500円ぐらいでした。この量だと日本なら4000円ぐらいになりそうなので、クラーク・キーにある店はちょっと高めなのかもしれないです。

f:id:ha107chan:20190126231328j:plain
ホタテと茄子、味付けが結構美味しい

クラーク・キーは夜遅い時間でも人が多くいます。

f:id:ha107chan:20190126233557j:plain
開店したてのドリンクバー、夜でも行列が途切れない

3日目

Maxwell Food Centre

3日目は10時頃にはチャンギ空港に着いていなければいけなかったので、朝ごはんを外で食べて、マーライオン公園を見てから空港に行くことにしました。ホテルから歩いて15分くらいの所に、Maxwell Food Centreという屋台街があるそうなので、朝ごはんはそこにします。

f:id:ha107chan:20190127080906j:plain
シンガポールのスズメ?

シンガポールには、上の写真みたいな鳥が街中にたくさんいました。日本のスズメみたいな立ち位置なんでしょうか?

f:id:ha107chan:20190127075805j:plain
日本にはあまり無いデザインだけど格好いい

Rickshaw Noodles

まだ朝の8時ぐらいということで、Maxwell Food Centreの屋台はまだ1~2割ぐらいしか開いていません。開いているお店の中から、ローカルっぽい人がたくさん並んでいる屋台で食べてみることにしました。

eatbook.sg

f:id:ha107chan:20190127082440j:plain
お店の前に人が並ぶ

列に並んでいる間、どうやって注文をすればいいのか前の人の注文方法を観察していたのですが、注文方法に法則性を見い出すことが出来ません。。。自分の番がやってきたので、不安を抱きながら、まず麺を注文してそれから付け合わせの目玉焼き?を指で差しながら注文。理解してもらえたようで、無事に朝食を手に入れることが出来ました。

f:id:ha107chan:20190127083843j:plain
麺と麺

右側の麺のスープが優しい味で美味しかったです。これで、250円ぐらい。財布にも優しいです。

Merlion Park

マーライオンは世界3大がっかりスポットと言われてますが、そんなことはないんじゃないかなと思います。この日の天気は快晴で、青い空にマーライオンの白、マリーナサンベイズのシルエット、金融街の摩天楼は非常によく映えていました。

f:id:ha107chan:20190127085854j:plain
背中で語るマーさん

f:id:ha107chan:20190127090801j:plain
金融街を守るマーさん

Co+Nut+ink

マーライオンパークはよく整備されていて、晴れた海沿いを散歩するのには非常に気持ちのいい場所です。気分に任せてエスプラネード・ブリッジを渡り、海沿いに歩道を歩くと、アイスクリームの屋台があります。

www.tripadvisor.com

この屋台では、アイスを待っている間、ココナッツジュースをサービスでいただけました。やっぱり南国なだけ?あって、ココナッツジュースは非常に濃厚で日本で飲むものと全然違います。アイスクリームはココナッツの殻を容器として利用したものに入れられています。この辺りは海を臨める非常に開けた場所で、海風にあたりながらアイスクリームを食べるには最高の場所です。

f:id:ha107chan:20190127091353j:plain
アイスクリーム食べるには良い場所

CHANGI airport / KLIA2

AirAsiaはチャンギ空港のターミナル4で受付をしました。ターミナル4は最近出来たターミナルで、お土産を買う店があまりないのかと思っていましたが、手荷物検査を通過した後はお土産店がたくさんありました。ただし、出国手続き前のフロアにはお土産の店はほとんどありません。

f:id:ha107chan:20190127100356j:plain
シンガポールのルンバ?

帰りはチャンギ空港からKLIA2空港に戻り、KLIA2から乗り換えて羽田に帰るというルートで、乗り換え時間は90分あったのですが、飛行機が乗り遅れてしまって乗り換え時間が60分まで短くなってしまいました。それでも、60分あれば乗り換え出来るでしょと思っていたら、出国手続きをして、またチケットを発券して、入国手続きをしないといけないことが判り、時間が全然ありません。空港を走って移動して、入国手続きの時には100人近く並んでいる列の先頭の人に事情を話して先に入れてもらって、それでようやくギリギリ間に合うレベルだったので、子供や高齢者を同伴していたら間に合ってなかったんじゃないかなと思います。乗り換え時間は十分に確保していないと駄目ですね。


今回は、2泊3日の短い行程でしたけど、予定をいっぱいに詰め込んだので、非常に濃い旅行をすることが出来ました。特にマレーシアはこれで訪問2回目ですが、のんびりとした雰囲気で、食べ物も美味しく、長期滞在にはよい国だと思います。仕事を引退した人がマレーシアに移住する理由が、また分かるようになりました。

複数の開発者が共有ユーザでログインして開発しているときに誰がログインしたのか確認する方法

AWSとか使って開発しているスタートアップ企業は、EC2サーバにログインして作業する時にec2-userなどの共有ユーザを使っていると思います。

よくある運用方法は、

  1. 開発者がそれぞれ秘密鍵と公開鍵をローカルマシン上に作成
  2. 全員の公開鍵をサーバのec2-userの~/.ssh/authorized_keysに登録
  3. 秘密鍵を使って各開発者はec2-userでsshログイン

といった感じだと思います。

この運用をしていると、

  • みんなec2-userでログインしているので、誰がいつログインしたかはわからない。
  • だから、それぞれのユーザごとにアカウント作成をしないといけない。

と思うかもしれませんが、一応、誰がいつログインしたのかは追うことが出来ます。(それぞれが自分の秘密鍵でログインしていれば。)

実は、sshログインした時に利用された公開鍵の情報は、以下のような感じで/var/log/secureに保存されています。

Nov  7 15:28:06 web sshd[27042]: Accepted publickey for centos from xx.xx.xx.xx port xxxxx ssh2: RSA SHA256:I893gtaiyg78yeg4aheGIEGIEAIEEUTPIOBKKFKGKAE
Nov  7 15:28:06 web sshd[27042]: pam_unix(sshd:session): session opened for user centos by (uid=0)
SHA256:I893gtaiyg78yeg4aheGIEGIEAIEEUTPIOBKKFKGKAE

の箇所が、SSHログインした時に利用された公開鍵のSHA256情報です。

この情報を控えて、あとは、

ssh-keygen -lf .ssh/authorized_keys

を実行すると、

4096 SHA256:I893gtaiyg78yeg4aheGIEGIEAIEEUTPIOBKKFKGKAE taro@toripiyo.net (RSA)
4096 SHA256:9uteiougsourgEU3GKSJJGSRb784ygnsihiaTEGgsoj tama@toripiyo.net (RSA)
4096 SHA256:63xiOP2ibaGAOPREB87398POiuIIOUOYOUgaeioiu74 pochi@toripiyo.net (RSA)

上記の形式で、各公開鍵のSHA256情報が一覧表示されます。これで、var/log/secureに出力されたものはどの公開鍵か確認すれば、その時間にログインした人が誰か大抵特定出来ます。

東京マラソン2019を走ってきました

今日、13年ぶりぐらいにマラソン大会に参加してきました。おそらく、日本では一番有名な大会になっている東京マラソンです。天候はあいにくの雨。後半は服が雨に濡れてすごい寒かったです。

雨の東京マラソンというと、第一回大会を思い出します。僕は直接は見に行かなかったのですがよく覚えています。なぜなら、この時大学の陸上サークルに入っていて、ペースメーカーが足りないからペースメーカーをやって欲しいと依頼されたからです。でも、その時は断ってしまいました。そして、雨の中の第一回大会を見て、断ってよかったなと心から思ったのでした。でも、その後東京マラソンはどんどん有名になって、抽選倍率も上がっていき、ランニングを趣味にする人も増えていき、やっぱり出ておけばよかったなと後悔の念がどんどん大きくなって今回の大会です笑。今回も雨だったので、ある意味第一回大会の代わりを経験です。

手荷物預けを無しにしたので、自宅から走る格好で新宿都庁まで行きました。こういう時、アップルウォッチは財布を持たなくていいのですごい便利ですね。改札もアップルウォッチで通りました。

f:id:ha107chan:20190303091019j:plain
スタート前は人でいっぱい

Dブロックからのスタートだったので、トップ選手からは600メートルぐらい後方からスタートします。スタートまで40分ぐらいは雨の中で立った状態でスタートの号砲を待たないといけなかったので、体を揺らしながらスタートを待ちました。スタートの号砲がなっても、人が多いのでしばらくはゆっくりと動きます。1キロぐらい進むと隙間が出来るので、その隙間を縫いながら前に進みました。

f:id:ha107chan:20190303102346j:plain
雷門前ではまだ余裕があった

前半の22〜23キロぐらいまでは、キロ4分45秒ペースぐらいで走っていたのですが、後半に大きく失速しました。息は全然苦しくないのですが、雨に濡れてランニング用のタイツが重くなり、足が本当に棒のようになって動きません。キロペースは、5分、5分30秒、6分、6分30秒とどんどん遅くなって、給水所で毎回エネルギーを補給しないと全然前に進めなくなりました。マラソンは30キロを過ぎたぐらいから急に苦しくなるといいますが、今回は20キロ前半ぐらいから足に乳酸が溜まって苦しかったです。前回(といっても13年前だけど)、2時間47分で走った時は、35キロ過ぎから足がちょっと重いかなと感じるぐらいだったので、今回はかなり早い段階から足が重くなってしまいました。やっぱりその頃と練習量が全然違うので、体にも早く負担がきたんですね。

というわけで、ラストの10キロぐらいは本当に辛かったです。前半に追い越したランナーにどんどん抜かれていき、足が全然前に出ません。本当に後半は辛くて、ラスト4キロぐらいはキロ7分ぐらいでしたけど、それでも本当にゴール出来るのか心配でした。残り2キロぐらいでは、左足をつってしまって完走出来るか心配になりましたが、足を伸ばすストレッチをしたらまた走れるようになりました。なんとかゴールした後も、スローでしか歩けなくて、心配したスタッフの人から声をかけられるほどでした笑。ゴールタイムは3時間50分。

今回の東京マラソンは、はっきり言ってある意味拷問みたいな大会でしたが、いまの自分の実力がわかって出場してよかったと思います。沿道の暖かい声援は42.195キロの間、途切れることはなかったし、選手のために食べ物や飲み物を持ってきてくれる人もいて、感動しました。僕も、コーラが飲みたくて、コーラを配っている方から一杯いただきました笑。大会に出て走るのが面白かったので、今度はまた13年後ではなくて、もう少し早い間隔で出たいと思います。


f:id:ha107chan:20190303214542j:plain
完走賞のメダル

親のスマホをAndroidからiPhoneに移行する方法

年末年始に実家の親のスマホAndroidからiPhoneに移行しました。親のITスキルはそんなに高くないのですが、なぜAndroidを使っているのかというと、機種変更するときにドコモの店員からガラケーよりスマホを勧められたからだそうです。スマホは文字が打ちにくくて不便とよく言います。
使いやすくなるように親のAndroid設定をいじろうとしたのですが、僕自身Androidは慣れていなくて設定がいまいちわかりません。また、iPhoneよりも操作が直感的ではないように感じました。そこで、自分の使わなくなったSIMフリーiPhone6を親に譲って、AndroidからiPhoneに移行することにしました。

移行のやり方

move to iOS

AndroidからiPhoneに携帯を移行するときには、Appleから公式の移行ツールが配布されているのでこれが使えます。
play.google.com

ただ、何度か試さないとなかなかデバイス同士が認識されません。どうやら、AndroidiPhoneも同じネットワークのWifiに繋がっていないといけないようで、AndroidDocomoのネットワークに繋いだままにしていたためデバイス同士で互いに認識出来なかったようです。同じWifiに繋ぐと認識されるようになりました。両デバイスとも電源に繋げた状態での移行を推奨しているので、移行するときは両方とも電源に繋いで作業した方が良いです。
バイス同士が認識して、移行を始めてもトラブルがありました。移行が28%ほど進むと失敗したと表示されるのを繰り返すのです。写真の移行に失敗していたのが原因だったようで、移行するもののチェックリストから写真だけ外すと移行が出来るようになりました。もしかしたら、一部古いガラケーからある写真があったのでそのデータが何か悪さをしていたのかもしれません。

画像データの以降

親のAndroid携帯には写真画像が400枚ありました。データサイズは大体1GBです。枚数的には非常に多いというわけではないですが、1枚ずつ作業していては時間がかかるし、間違えて一部のデータの移行をスキップしてしまうかもしれません。
そこで一括で作業できる方法を探してたのですが、なかなか最適な方法が見つからなくて苦労しました。

  • dropbox: 400枚の写真をAndroidのアプリから一括選択してdropboxへの取り込みは出来たが、iPhonedropboxアプリから写真を取り込むのに一括選択して写真アプリに取り込み出来なかったため断念。
  • iCloud: まず、Androidにある400枚の写真をdropboxからmacに落として、macからiCloudにアップロードを試みる。しかし、macからiCloudにアップロードしようとするとき、一括でアップロードしようとすると途中でアップロードが止まるので断念。
  • google drive: Androidgoogle driveアプリから写真を一括でgoogle drive上にアップロードする。しかし、iPhonegoogle driveアプリからiPhoneの写真アプリに写真を取り込む操作が出来ない。

結局、

  • google drive + google photos: google driveに上げた写真をmacに落として、その写真を今度はgoogle photosにアップロードして、iPhoneからgoogle photosの写真を取得する。iPhoneからgoogle photos上にある写真は完全に一括で取り込むことは出来ないけど、撮った写真を日付ごとまとめて選択することは出来るので、全ての日付を選択して一括でiPhoneの写真アプリに取り込む。

という方法を取りました。思ったよりも手順を考えながら作業しないと途中でつまづくようになっていて大変でした。

nano simの付け替え

親の使っていたAndroidiPhone6と同じnano simなので、simの付け替えは簡単でした。

docomo.ne.jpドメインのメールアドレスを使えるようにする

docomo.ne.jpのドメインのキャリアメールをiphoneで受信出来るように、docomoから提供されているiphoneのプロファイルを取得します。docomoのプロファイルをインストールすると、ドコモのアプリがたくさんiPhoneにインストールされます。混乱の元なのでアプリは全て削除しておきました。
www.nttdocomo.co.jp

ここまでやって、AndroidからiPhoneへの移行は完了です。

移行完了後は、親にiPhoneの使い方を説明しました。説明していく中で自分が想像していなかったところではまったり、発見があったので列挙します。

移行していく中でハマったり・気づいたこと

単純なパスワードを設定したがる

パスワードの設定を子供の誕生日とか単純なパスワードで設定しようとします。誕生日だと365パターンに絞り込まれてしまうので、あまり良くないと伝えて複雑なものにしました。こういうルールでパスワードを設定している人は結構多いでしょうね。

アカウント、ログインの概念は難しい

アカウント、ログインって何?といった感じで、概念がわからないようでした。ちゃんと教えるかどうか迷うところですが、おそらく興味がないだろうということで、自分の方でアカウントを作って、自動でログイン出来るように設定しておきました。

指紋認証が使えない

残念ながら、歳を取ると指紋が薄くなってなかなか反応してくれないそうです。そのため、パスコード認証を設定しました。便利な機能でも、人によっては逆に不便になるんですね。こういう時には、顔認証の方が優れているのかもしれません。

電話帳で”あかさたな”検索がやりにくい

ガラケーなどの電話帳ではあかさたなで絞り込んで検索が出来ていたのですが、iPhoneでは確かにあかさたなの検索がやりづらいです。自分はメッセージアプリを使うので、気にしたことなかったですが、よく電話で話す人にとっては確かに必要なインターフェースかもしれません。結局、あかさたなで比較的検索しやすい電話帳アプリがあったのでそれをインストールしました。

messageとmailの使い分け

僕もちゃんと理解してなかったのですが、docomo.ne.jpドメイン宛のメールは、iPhoneの"メッセージ"アプリから見ることが出来ません。"メール"アプリを使ってみることになります。
iphone.f-tools.net

1個のアプリで全てのメールのやり取りを出来ないので、これは非常に紛らわしいです。親もなんでメールを見るのに2個のアプリを使わないといけないのか、感じたようです。docomo.ne.jpドメインのアドレスは仕事上使うので"メール"アプリを使わないというわけにはいきません。しょうがないので、あまり解決にはなっていないですが、"メール"と"メッセージ"のアプリで、通知アイコンが来たら両方見るようにと伝えました。

余計なアカウントはmailのボックスから隠す

"メール"アプリは、iCloud, Gmail, docomo.ne.jpドメインのメールなど、複数のサービスのメールアカウントをまとめて登録出来ます。しかし、複数のアカウントを登録していると、どのサービスのメールを見ればいいのか初心者には紛らわしいようです。親のiPhoneではdocomo.ne.jpドメインのアカウントのみ登録するようにして、Gmailのアカウントは、iPhoneの"メール"アプリからは削除しました。

ウィジェットから余計なものは消す

ウィジェット機能は、使い慣れている人には便利ですが、スマホに慣れていない人にはアプリの入口が複数あることは混乱に繋がります。ウィジェットには、ニュースと天気の情報だけに絞り込むようにしました。

余計なアプリは一箇所にまとめる

iPhoneにはデフォルトで不必要なアプリが比較的インストールされていません。しかし、それでも一部のApple純正アプリはあまり使わなくても消すことが出来ません。そのようなアプリは混乱の元なので、ディレクトリにまとめて、ディレクトリ名に"使わなくていいアプリ"と名前をつけて触らなくてもいいとわかるようにしておきました。

データ通信の料金の仕組みを説明する

親にはインターネットを利用しすぎると、お金がかかるのではないかという懸念がありました。でも具体的にどれぐらい利用すると追加料金が発生するのかは分からないため、なるべくAndroidでもアプリは使わないようにしていたそうです。データ容量を超過しても、新たに追加のデータ容量を申し込まない限り追加料金は発生しないこと、実家にはwifiがあるので、wifiルーターの部屋にいけばデータを消費しないことを伝えたら安心していました。

やり方がわからないとそこで止まる

若い人なら、初めて使うようなアプリでもいじっているうちに使い方を覚えてしまいます。しかし、普段から機械の扱いの苦手な人は、使い方が分からないとそこで止まります。ちょっと何か別の操作を試すということはしません。ということで、わかりやすいインターフェースは大切です。特定のボタンだけ他と異なるジェスチャーが必要というアプリだと、おそらく操作方法に気づいてもらえないでしょう。
ところで、iPhoneはホームボタンを押すと元のスクリーン画面に戻りますが、どこを押せばいいのか分からなくなった時ホームボタンを押せばスクリーン画面に戻るというこの仕様は、ものすごい感動していました。きっとホーム画面に戻るのに今までに苦労していたのでしょう。

スマホを使う一番のモチベーションになるのはコミュニケーション

やっぱり高齢の人がスマホを使うモチベーションはゲームや情報収集ではありません。コミュニケーションです。いくつかアプリを教えましたが、現在も一番使っているアプリはLINEのようです。自分の親にスマホを使ってもらうようにしたい人は、コミュニケーションを取れるアプリの使い方をまず教えて、使い方を忘れないように定期的にアプリで話しかけると良いと思います。

型落ちのiPhoneは全く問題にならない

iPhone6はもう4年前のモデルなので古いです。でも、全く問題ありません。スペックにはなんの不満・文句も言わずに使ってくれます。

やっぱりMVNOは安い

親は仕事柄結構長く電話するので通話し放題は必須です。データ容量は最小の2GBプランを選択していますが、それでもdocomoでは7000円近く毎月携帯代にかかっています。今はMVNOでも10分までなら通話し放題というプランが結構あり、それに2GB以上のデータ容量が付いて3000円ぐらいになっています。本当はMVNOの方が安いのでMVNOにしてあげたいと思うのですが、やっぱりdocomo.ne.jpのドメインが使えなくなるのは仕事上良くないそうで、今回はMVNOは見送りました。キャリアメールをちょっとしか使わないのであればMVNOはぜひ検討した方が良いと思います。


スマホは若い人にとっては簡単に扱えるので、高齢の人がなぜ使うのをためらうのか不思議に感じるかもしれませんが、普段機械をいじらない人にとってはスマホでも覚えることが多くてとっつきにくく感じるみたいです。確かに、天気を知るためには、アンロックのやり方、天気のアプリを見つける、アプリを開く、開いた後天気情報の場所まで移動する、天気の情報を見た後ホーム画面に戻るといった具合に、情報を得るために必要な操作が一つ一つ数えると結構あります。そんなこと、直感的にすぐわかるでしょと思うかもしれませんが、それでも普段からあまりいじらない人には結構な負担です。

もしかしたら、スマートスピーカースマホよりもその負担を軽減してくれるかもしれません。覚えることはAlexaやOK, Googleなどの最初の掛け声。後は知りたい情報を日本語で言えば情報を入手できます。操作に必要な前提知識はスマホより遥かに少ないでしょう。スマートスピーカーが十分賢いかというとまだまだですが、IT苦手な人でも恩恵を受けられるように今後更に進歩していくと良いなと思います。