本文へジャンプします。

Follow me on Twitter―ニフティクラウド オフィシャルアカウント

現在位置: ホーム >[ライター別] 石田 健亮

ライター別

記事一覧

2011年9月 6日

MySQLバックアップ頂上決戦! - ニフティクラウドのサーバーで最適なバックアップ手法はどれだ? -

  • Clip to Evernote
  • このエントリーをはてなブックマークに追加

こんにちは。どうも最近本番環境のMySQLでバックアップを取得している最中のDBサーバーの性能の低下に悩まされている株式会社ドリーム・アーツの石田です。

皆さん、MySQLデータベースのバックアップはどのように取得してますでしょうか?

私のチームで運用している多店舗運営企業向けのコミュニケーションサービス「Shopらん」では、LVMを利用して週に一度データディレクトリのスナップショットを作成し、ディレクトリ全体をバックアップ用のサーバーに転送してフルバックアップを取得しています。

また、残りの6日はMySQLが生成するバイナリログをファイルとして転送することでフルバックアップからの差分を保存しています。

このLVMスナップショット方式を採用する以前は、mysqldumpコマンドを利用してSQLベースでバックアップしていました。mysqldump方式の難点はとにかくレストアに時間がかかることです。データベースをレストアしないといけないような悲惨な状況に追い込まれた時、レストアに時間がかかるのは致命的です。

LVMスナップショット方式だと、データディレクトリそのままですからファイルのコピーだけでレストアが完了します。移行当時はそれは魅力的に見えたものです。

ところが、LVMスナップショット方式も万能ではありません。

この方式の最大の弱点は、スナップショットを取得している間、元のファイルシステムに対する書き込み性能がガタ落ちになってしまう点です。

現在は、トラフィックが少ない深夜にフルバックアップを取得しているので、性能が落ちてもあまり問題はないのですが、そろそろフルバックアップが朝までに完了しない時のことを考えなくてはいけない時期になりました。

今回は、MySQLバックアップ頂上決戦と称して、ニフティクラウドのLinuxサーバーにMySQLをインストールして、mysqldumpとLVMのスナップショットというMySQLのフルバックアップのツートップで、それぞれバックアップにかかる時間、そしてバックアップ中のオンライン性能の低下具合について調査して、バックアップを取るならコレだ!というベストプラクティスを研究していきたいと思います。

続きを読む "MySQLバックアップ頂上決戦! - ニフティクラウドのサーバーで最適なバックアップ手法はどれだ? -"

|

2011年7月27日

fail2banでサービスを死守せよ

  • Clip to Evernote
  • このエントリーをはてなブックマークに追加

こんにちは。株式会社ドリーム・アーツの石田です。

ニフティクラウドなどのパブリッククラウドを利用するときにとにかく不安なのはセキュリティですね。

最近、ニフティクラウドではファイヤウォール機能が追加されたり、PFUからはVPN接続でニフティクラウドのサーバーにアクセスできるサービスが提供されたりと、自社でサーバーを構築する場合は当たり前だったセキュリティレベルがようやくパブリッククラウドでも実現できるようになりました。

企業内で利用するようなパターンだとこれでも十分かもしれません。

ところが、インターネットから利用可能なサービスを作るにはこれではまだ不安です。

なぜなら、インターネットに対してサービスを公開するということは、当然サービスを提供するためのhttpなどのポートを開けておかないといけないわけで、ファイヤウォールだけではこれらのポートに対する悪意のあるアクセスを拒絶することはできないからです。

今日はインターネットに公開するポートをブルートフォース攻撃やDoS攻撃から守るための賢いファイヤウォールである fail2ban をご紹介します。

続きを読む "fail2banでサービスを死守せよ"

|

2011年6月23日

Joomla!をインストールしてみよう ~LAMP環境でCMSを構築~

  • Clip to Evernote
  • このエントリーをはてなブックマークに追加

こんにちは、株式会社ドリーム・アーツの石田です。

今回は企業のウェブページなどを簡単に作成することができるCMS(コンテンツマネージメントシステム)のうち、オープンソースで無料で使えて機能も豊富なJoomla!(http://www.joomla.org)をニフティクラウド上にインストールしてみたいと思います。

さて、皆様の会社のウェブページはどのように管理されているでしょうか?
多くの会社のホームページは、今でもHTMLを直接編集してFTPでアップしたものが多い様です。
実は、弊社のコーポレートサイトもそんな風に作られています。

HTMLを直接編集して、FTPでアップすると自由度が高く凝ったデザインのページを作れる一方、新しいページを掲載したいときにも必ずデザイナーさんの協力を仰がないとできないので、情報のタイムリーな更新は難しくなってしまいます。

こんなときにはCMSです。CMSを使うと一度デザインのテンプレートを設定したらあとはブログを書くようにページを追加していくことが可能になります。CMSには商用製品やオープンソースで無料で使えるもの等いろいろあります。今回インストールするJoomla!はXOOPSやWordPressなどと並び有名どころの一つです。

弊社でも、Shopらんのサポートサイト(https://support.shoprun.jp)をJoomla!で作って運用しています。

Joomla!は、PHPで作られていてデータベースとしてMySQLを利用します。WebサーバーはApache httpdを使います。LinuxとあわせていわゆるLAMP(Linux + Apache + MySQL + PHP)の構成です。ニフティクラウドでもLinuxサーバーを使って簡単にインストールすることができます。

それでは早速インストールを始めていきましょう。

続きを読む "Joomla!をインストールしてみよう ~LAMP環境でCMSを構築~"

|

2011年5月30日

CapistranoとChefでサーバー管理を自動化~インスタンス作成から15分で実戦投入~

  • Clip to Evernote
  • このエントリーをはてなブックマークに追加

こんにちは。株式会社ドリーム・アーツの石田です。

さて、みなさんはLinuxサーバーの管理をどのように実施していますか。

普通はsshでログインしてシェルからコマンドをつかってパッケージをインストールしたり、設定ファイルを編集したりしていると思います。

サーバーの台数が少ないうちはこれでも十分なんですが、Web系のサービスなどを運用していると結構サーバーの台数が増えてきてしまい、手作業でやっていると面倒だし作業ミスは発生させるしロクなことがありません。

また、ニフティクラウドだとサーバーインスタンスはせっかく5分でできるのに、OSの設定やミドルウェアのセットアップ、アプリのインストールを手作業でやってたら今ほしいサーバーが間に合わないのです。

そこで登場するのはこうしたサーバーのインフラ管理をまとめて自動で実行するツールです。

弊社で開発・運用している「Shopらん」では、ニフティクラウド上に作成した各サーバーのインスタンスを管理するために、CapistranoとChefというツールを利用しています。

Capistrano (https://github.com/capistrano/capistrano/wiki)は並行sshととでもいいましょうか。複数のサーバーに並行でssh接続を行い定義したとおりのタスクを実行してくれるツールです。

Chef (http://wiki.opscode.com/display/chef/Home)は、サーバーの構成管理を自動化するツールです。各サーバーにどのようなパッケージをインストールしてどう設定すべきかといった情報を一元管理し、新しいサーバーを立ち上げるときのインストール作業(プロビジョニングといいます)や、すべてのサーバーの設定を一括で変更したいような場合に威力を発揮します。

Chefの使い方的な話題は、以前に株式会社エクストーンの仲山さんが記事にしているので「できる!ソーシャルアプリ(2) 「開発環境の充実はとっても嬉しいなって」の記事を参照してください。

今回は、サーバーの運用管理をお気軽に実行するために、ニフティクラウド上のサーバーに、CapistranoとChefをセットアップしてみます。

実は、Capistranoのセットアップは簡単なんですが、Chefをサーバーとしてセットアップするのは、RubyやらRubyGemsやらJavaやらCouchDBやらSolrやら諸々インストールする必要がありかなり面倒です。

そこでまずCapistranoをインストールして、Chefのインストール作業自体をCapistranoタスクにしてそれを自動実行するという手順でセットアップしてみたいと思います。

弊社ではまりにはまったCentOSへのChefサーバーのインストールがワンタッチでできますよ。

続きを読む "CapistranoとChefでサーバー管理を自動化~インスタンス作成から15分で実戦投入~"

|

2011年4月 1日

セキュアなサーバーメンテナンス -社内のLDAPサーバーによるユーザー認証の実現-

  • Clip to Evernote
  • このエントリーをはてなブックマークに追加

こんにちは、ドリーム・アーツの石田です。弊社ではニフティクラウドを使って小売業向けの多店舗コミュニケーションを支援する「Shopらん」をSaaSとして提供しています。 今回は、ニフティクラウドで企業としてSaaSを運用するときに、きっと大問題となるサーバーのメンテナンス時の認証について弊社のケースに書いてみます。

なぜ認証が問題になるのか

ニフティクラウドでCentOSなどLinuxのサーバーを利用しているとき、通常は電子証明書の秘密鍵をつかってsshでログインしてメンテナンスすることになります。

電子証明書なので一見セキュアに見えますが、この方法では以下のようにいろいろ問題があり、商用サービスを運用する基盤にするにはセキュリティ的に脆弱であるといえます。

(1) 運用担当者が複数になったとき、誰がログインしたのかの証跡を保存できない
(2) サーバー台数が複数になったとき、各サーバーでインターネット経由でのログインを許可しなければならない
(3) 運用担当者が異動で交代したときに、証明書などが流出したりといったリスクがある

    さて、弊社ではこれらの課題を以下のように解決しています。

    続きを読む "セキュアなサーバーメンテナンス -社内のLDAPサーバーによるユーザー認証の実現-"

    |

    バックナンバー:石田 健亮