カゴヤ・クラウド インスタンス停止でも課金発生するので注意

いろいろなクラウドを触っていると時折勘違いして課金停止のつもりが発生させてしまう事態がある。

Azureの場合は管理ポータルから停止しないと課金されるのだが、カゴヤ・クラウドの場合は管理画面からインスタンス停止しても課金が発生してしまう。
課金を止めるにはインスタンス削除しかないのだが、内容を保持したい場合はスナップショットと取得しておく(最低一日4円)

カゴヤ・クラウドは知名度はいまひとつのようだが、インスタンスの初期化などを行ってもIPが変わらないので繰り返しAnsibleの実験をしたい時などに非常に使いやすい。

カテゴリー: 未分類 | タグ: | コメントする

AWS S3のデータパージにはライフサイクルの設定をつかえ!

S3にたまった大量ログをパージしなければならないが、AWS CLIとシェルの組み合わせでcronログを作ろうと思ったら、S3にライフサイクルという仕組みが用意されていた。

これはバケットごとに特定のパス(全部でも良いが)に対してルールを作成できる。
コンソールから設定でもできるし、AWSのCLIからも設定ができる。

というわけで試しに2日経過したら消すように設定を入れてみた。

カテゴリー: AWS | タグ: , , | コメントする

Ansible 文法チェックとdryrun

Ansibleで最低限の文法チェックをしてくれるオプションは–syntax-check

ansible-playbook -i hosts simple-playbook.yml --syntax-check

さらに実際には実行しないけど、各タスクをdry-runするには-Cオプションを使う。

ansible-playbook -i hosts simple-playbook.yml -C

前の処理結果で受け取った変数を次のタスクで利用するなどの書き方をしているとdry-runでもこけてしまうが、基本的なものであればdry-run可能。

カテゴリー: Ansible | タグ: , , | コメントする

SSH セキュリティ対策 ポート変更が効果てきめん

SSHのデフォルトポートは22である。
この22番を狙って海外から無差別ログイン攻撃が絶えない。

もちろん公開鍵認証かつ/etc/hosts.allowでログインできる認証元を絞っているため、ログイン成功することはないのだが、ログを汚すので何とかしたい。

そんな時はsshのポートを変えてしまうとめっきり攻撃が来なくなる。
Port 22をコメントアウトして好きなポートに変えてsshdを再起動する。
Portは複数行指定することで複数ポート開放することができるので、新しいポートで接続が確認できるまでは22番も開けておくといきなりつなげなくなる事態を防げるので安全だろう。

カテゴリー: サーバ管理 | コメントする

nexus6p 指紋認証は冬の手荒れに弱い

冬は手荒れの季節である。
スキーの後は特に人差し指がぼろぼろになってしまうが、その人差し指を登録してしまったわがnexus6p

当然のように手荒れた人差し指だと、指紋認証に失敗すること多数。数回失敗するとキーボードでパスコードを打たないと復帰できないモードになってしまう。

というわけで手荒れがひどい人は冬場は指紋認証をはずしておくか荒れにくい指に変更するとよいでしょう!
iPhone6は親指だったので比較的安定している。

カテゴリー: Android, nexus6p | コメントする

Fluentd(td-agent) ファイルとS3にログを送信

matchで複数のアウトプットソースに保存したい時がある。

その場合はcopyプラグインを利用すると複数のアウトプットを指定できる。
今回の例ではファイルに書き出しつつ、1時間ごとにS3にApacheログファイルを送信している。
time_slice_format %Y%m%d_%H_apache.logがその設定であり、サイズがあふれない限り、このファイル名単位でS3に送信される。下記例では、年月日_時間_apache.logとなっていて、一時間単位でファイルをまとめてS3に送信する。time_slace_waitがその時間が終わったときに何分待つかという設定値だが、デフォルトは10分なので毎時10分過ぎにS3に送信される。
S3に送信される内容はfluentdのjson形式のファイルのようだ。

# Apache log
<source>
  type tail
  format apache
  path /var/log/httpd/blog_access_log
  tag apache.access
  pos_file /tmp/fluentd-apache.pos
</source>
<match apache.access>
  type copy
  <store>
    type file
    path /var/tmp/apache.log
  </store>
  <store>
        type s3
        buffer_path /var/tmp/fluentd_s3
        buffer_chunk_limit 100m    #1chunkに保存できるデータサイズ上限
        buffer_queue_limit 3      #1queueに保存できるchunk数の上限
        retry_wait 30s   #再送を実行するまでの待ち時間
        retry_limit 5    #再送実施回数
        aws_key_id "PUT YOUR AWS_KEY_ID"
        aws_sec_key "PUT YOUR AWS KEY"
        s3_region ap-northeast-1
        s3_bucket バケット名
        path logs/
        #時間単位でログファイルを生成
        time_slice_format %Y%m%d_%H_apache.log
        # デフォルトは10分待ってからアップする。
#        time_slice_wait 1m
  </store>
</match>
カテゴリー: Bigdata | タグ: , | コメントする

Jenkins ワークスペースクリアのやり方

Jenkinsを使っているとビルドで利用されているワークスペースの内容をクリアしたいときがある。

今まではサーバーにログインしてコマンドで消していたのだが、同じことは画面上からできた。

該当ジョブをクリックして、ワークスペースメニューを開くと「ワークスペースのクリア」があるのでそれをクリックするだけ!

実に簡単。

カテゴリー: 未分類 | タグ: | コメントする

fluentd(td-agent) Aapcheアクセスログのフィルタリング

Apacheログの取り込みで全部取り込むと膨大になる場合、Filterを使うと絞り込みができる。

たとえば特定のhttpステータスを除外したり、大量アクセスするクローラーを除外したい場合などは以下のように設定ファイルを記載する。

CentOS系であればデフォルトログファイルの場所は/var/log/httpd/access_logである。

# Apache log
<source>
  type tail
  format apache
  path /var/log/httpd/blog_access_log
  tag apache.access
  pos_file /tmp/fluentd-apache.pos
</source>
<filter apache.access>
  type grep
  # HTTP statusコードで除外
  exclude1 code (200|301|302|304)
  # User-Agent文字列で除外
  exclude2 agent (Mozilla|Safari)
</filter>
<match apache.access>
  type file
  path /var/tmp/apache.log
</match>
カテゴリー: Apache, Bigdata | タグ: , , | コメントする

MySQL mysqldumpでSkipping the data of table mysql.event. Specify the –events option explicitly.

MySQLの日時データーベースバックアップが取得できていたためあまり気にしていなかったが、毎日以下のワーニングが出力されていた。

Skipping the data of table mysql.event. Specify the –events option explicitly.

どうもeventテーブルなるものが追加されたらしく、これをダンプするオプションを追加せねばならない。

# before
mysqldump -u root -x --all-databases --password=xxxx | gzip > ${BACKUP_BASE}/mysqldump.sql.gz
# after
mysqldump -u root -x --all-databases --events --password=xxxx | gzip > ${BACKUP_BASE}/mysqldump.sql.gz

実行してワーニングが出力されないことが確認できた!

カテゴリー: Database, MySQL | タグ: | コメントする

Azure MSDNの無料枠を使い切ったら面倒なことに!

AzureでMSDNの無料枠をあえて使い切ってみたが、クレジット復活の一日前に残高0円となり、仮想マシン停止。

しかしこれを復活させるのが大変めんどくさかった。

まず、クレジットが5500円に復活しているにもかかわらず、使用制限の解除をするのにクレジットカードの登録が必要となる。
さらに復帰させて15分ぐらいは仮想マシンを立ち上げようとしても、反映が遅いらしく起動に失敗した。

というわけで一回使用制限状態にはいると復活させるのがめんどくさいので、0円になる前に対応すべしという教訓を得たのであった。

カテゴリー: Azure | コメントする