こんにちは、ディレクターのよーこです。
私は8月にLIGに入社したのですが、せっかくWeb制作会社に入ったので、日々Webサイトの仕組みやプログラミングについて勉強しています。しかし、サーバまわりのことを実務で経験することはなかなかできず、皆さんにご覧いただいているLIGブログがどのように運用されているのかさえよく分かっていません。
そこで今回は、LIGブログのバックエンドエンジニアであるづやさんにサーバの構築や運用について聞いてみました。また、クラウドサーバとは一線を画すサービスとして最近登場した「ベアメタルクラウド」についても、伺っています。
LIGブログが実際に利用しているサーバのサービスもご紹介しているので、ぜひ参考にしてみてくださいね。
LIGブログが利用しているサーバの運用管理について聞いてみた
まずは我らがづやさんにLIGブログのサーバの構築方法、運用管理について聞いてみました。前に聞いた話だと「仮想サーバ」を使っているとは聞いていますが……。
LIGブログはAWSを利用して運用している
— づやさん、LIGブログは仮想サーバを使っていると伺ったのですが……?
そうだね。仮想サーバで「AWS」という米Amazon.comが運営しているクラウドサービスを利用しているよ。このサービスは、クラウド上で仮想サーバを借りて好きに使うことができるんだ。
仮想サーバと言うのは、物理サーバを自前でまるっと使ったり持ったりするのではなく、いくつものサーバをそれぞれ用途にわけてクラウド上でデータを格納するもので、LIGブログはAWSの中でいうと下記のサービスを組み合わせて運用しているよ。
- LIGブログで使っているサービス
-
- EC2(Elastic Compute Cloud)
LIGブログはEC2上でWordPressを運用していて、Webサーバとして複数利用している。 - RDS(Relational Database Service)
データベースを利用できるサービス。LIGブログではMySQLを使っている。 - ELB(Elastic Load Balancing)
ロードバランサーのサービス。適切にEC2に振り分けてくれる。 - S3 (Amazon Simple Storage Service)
ストレージサービス。LIGブログの画像やログを保管している。 - Route53(Amazon Route 53)
DNSのサービス。独自のエイリアス機能を使うために利用している。 - ElastiCache
キャッシュのサービス。LIGブログではMemcachedを利用して、いろいろキャッシュしている。
- EC2(Elastic Compute Cloud)
— 根本的な質問なんですが、なぜ物理サーバじゃなくて仮想サーバを使うんですか?
物理サーバだと「拡張性」に欠けるんだよね。例えば最近だとエディターのさえりがハロウィンに記事をリリースして「バズった」よね。そうなると短期的に急激なトラフィックが集中することになって、自前で持っている物理サーバの容量を超えてしまうことがあるんだよ。極端な話ね。
これがいわゆる「サーバが落ちる」っていうことで、Webサービスを持つ上で一番避けなきゃいけないことなんだ。仮想サーバであればトラフィックの集まる時間帯などに合わせてクラウド上でサーバを使うことができるから、想定外のアクセスがあっても、負荷に応じてサーバのスケール調整が素早く簡単にできるんだよ。LIGブログの特性として、記事のバズがいつ、どんなタイミングで起こるか予想できないとこもあるからね。
ちなみにうちがAWSを使っているのは、AWSが世界的に流行しているからだね。なにかサーバのことで困ったことがあったとき、ネットで調べてすぐに解決できることもあるんだけど、流行しているからこそ情報量が多いんだよね。エンジニアはなんでも知ってるわけじゃなくて、わからないことだらけなの。だから検索して情報がたくさんあるっていうのはとても大事なんだ。
— エンジニアってなんでも知ってるわけじゃないんだ。変な話ですけど、ちょっと安心しました。
AWSの話で言うと、英語のサービスなのと色んなサービスがありすぎるのとで、最初のハードルがちょっと高いかな。日本語化したけれど、ピンとこないところもやっぱり多いし。
細かいことを言うと、時間の表示形式がUTCだから少しわかりづらかったり、料金が日本円じゃないから読みづらかったり、S3内でファイルを探すのが面倒だったりと、いろいろ大変なこともあるんだ。それでもメリットは大きいけどね。
— ふむふむ。あ、あと最近だと「ベアメタルクラウド」っていうサービスもあるみたいなんですが、これも教えてください。
あぁベアメタルね。ベアメタルっていうのは……(あれなんだっけ?)