らくがきちょう

なんとなく

Cisco ACI で Contract 設定用 XML を出力する Python スクリプトサンプル

Cisco ACI 上で普段の運用は Web GUI が使えれば十分です。しかし、「大量に設定を行いたい」といった場合は CLIREST API を使いこなせると効率が上がります。今回は Python スクリプトを使って大量の Contract を設定するサンプルを示します。

続きを読む

Cisco ACI 機器群に(パスワード認証では無く)鍵交換方式でログインする

Cisco ACI の機器群、具体的には APIC や Spine、Leaf への SSH アクセスはデフォルトでパスワード認証方式になっています。これを鍵交換方式でもログイン出来るように変更し、パスワードを入力せずに SSH アクセス出来るようにするには以下のように設定します (※ パスワード認証方式を無効化するわけではありません。パスワード認証方式と鍵交換方式の両方でログイン出来るように設定します)

続きを読む

Cisco UCS CIMC で「SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH」エラーが出た場合の対処方法

各社のサーバには専用の管理ポートを用いて Remote KVM 機能を提供するものが多くあります。KVM とは「Keyboard Video Mouse」の略で、要は「離れた場所にいても、あたかも直接キーボードやモニタ、マウスを接続しているようにサーバを扱える機能」です。各社の Remote KVM 機能はキーボード、モニタ、マウスだけでなく、仮想メディア(ネットワーク越しに DVD メディアを利用出来る機能)も使えますので、障害時のトラブルシューティング/リカバリーや OS の初期インストール作業で便利に使えます。有名メーカー各社の管理ポートには以下のようなものがあります。

続きを読む

AWS でリダイレクトを Metadata で実現する

AWS の S3 を Static website hosting で公開している場合、リダイレクトを実現するには Redirection rules を使うのが一般的かも知れません。Redirection rules 設定には「アクセスされたプロトコル(HTTP or HTTPS)を見分けて、リダイレクト先のプロトコルを変更する」ということは出来ないように思います。そもそも現状の S3 単体の静的ホスティングには「HTTP のみ」という制限があるので、S3 単体で使っている場合には不便が無いかも知れません。しかし、CloudFront の Origin に S3 を指定している場合は「HTTP でアクセスされた場合は HTTP へリダイレクト」「HTTPS でアクセスされた場合は HTTPS へリダイレクト」と、アクセスされたプロトコルを見分けてリダイレクト先を変更したいかも知れません。こういった場合は(Redirection rules では無く)S3 Object の Meatadata を使ってリダイレクトを実現することが可能です。

続きを読む

AWS CloudFront でキャッシュにヒットしているか?を確認する

AWS の CloudFront を利用すると、手軽に/短時間で CDN サービスを利用することが出来ます。CloudFront へのアクセス時に「キャッシュにヒットしているか?否か?」は X-CacheAge というヘッダを見ると分かります。

X-Cache ヘッダの意味

X-Cache は以下のような値を返すようです。

X-Cache 意味
Miss from cloudfront キャッシュが存在しなかった(=キャッシュする)
Hit from cloudfront キャッシュにヒットしている
RefreshHit from cloudfront キャッシュの有効時間を超えているが、コンテンツに更新が無いのでキャッシュを再利用する

検証してみる

CloudFront のキャッシュ時間を 1 分にして動作を検証してみます。検証用に以下のようなスクリプトを書きました。

#!/bin/sh

URL='http://CLOUD-FRONT/'
SECONDS='180'

for i in `seq 0 ${SECONDS}`
do
  NOW=`date +"%M:%S"`
  echo $NOW `curl --head ${URL} 2> /dev/null | grep X-Cache`
  sleep 1
done

このスクリプトを実行すると以下のような結果になりました。結果を見ると X-Cache の値が…

  1. 初回は Miss from cloudfront
  2. 次回からは Hit from cloudfront
  3. キャッシュの有効期限を迎える度に RefreshHit from cloudfront

…を返しているのが分かります。

./test-croud-front-cache.sh
00:01 X-Cache: Miss from cloudfront
00:02 X-Cache: Hit from cloudfront
00:03 X-Cache: Hit from cloudfront
    ・
    ・
    ・
00:58 X-Cache: Hit from cloudfront
00:59 X-Cache: Hit from cloudfront
01:00 X-Cache: Hit from cloudfront
01:01 X-Cache: RefreshHit from cloudfront
01:02 X-Cache: Hit from cloudfront
01:03 X-Cache: Hit from cloudfront
01:04 X-Cache: Hit from cloudfront
    ・
    ・
    ・
01:58 X-Cache: Hit from cloudfront
01:59 X-Cache: Hit from cloudfront
02:00 X-Cache: Hit from cloudfront
02:01 X-Cache: RefreshHit from cloudfront
02:02 X-Cache: Hit from cloudfront
02:03 X-Cache: Hit from cloudfront
02:04 X-Cache: Hit from cloudfront

Ubuntu 16.x に Docker & Docker Compose をインストールする

Ubuntu 16.x に Docker をインストールする手順をメモしておきます。Docker は Community Edition をインストールします。

続きを読む

高機能 Wiki「Crowi」を Docker で手軽に試す

Crowi はデフォルトで Markdown のリアルタイムプレビューが使える、非常に完成度の高い Wiki です。

ローカルにインストールする場合は Node.js や MongoDB をインストールする必要があります。Docker イメージを利用すれば手軽に Crowi を試すことが出来ます。

続きを読む