インフラ

ウエディングパーク完全HTTPSプロジェクトを通じた、完全HTTPS化(常時SSL/TLS化)のススメ

こんにちは。エンジニアの西脇です。今年4月ウエディングパークはサイトを一部HTTPSから完全HTTPSに移行致しました。移行したことによって、より安心してユーザにもサイトをご利用頂けるようになっております。

完全HTTPS化(常時SSL/TLS化)プロジェクトを実施した4月よりもますます常時SSL化はwebサービスには必須になってきておりますゆえ、その必要性と必要作業について書きたいと思います。

完全HTTPS化(常時SSL/TLS化)が必要な理由

完全HTTPS化(常時SSL/TLS化)はなぜ必要なのでしょうか、弊社では主に以下のように考えました。

続きを読む

CentOS6でDNSサーバを構築してみた

初めまして。エンジニアの阿久津です。
今回は社内でDNSサーバを構築する機会がありましたのでそれを記事にしたいと思います。

概要

CentOS6にBINDをインストールし、DNSサーバ(内部向け用)を構築します。
自身のクライアントPCからDNSサーバに問い合わせて、名前解決ができるところまでがゴールになります。

環境

  • 物理サーバ
  • CentOS release 6.9 (Final)
  • BIND 9.8.2

BINDインストール

インストール

確認

 以下のように表示されればインストールが完了しています。

続きを読む

【インフラエンジニアの日常】GitLabバックアップ世代数を変更して容量問題を解決!

こんにちは。インフラエンジニアの綿引です。

今までMySQLの記事ばかり書いておりましたが、
今回は運用面の話でも書かせて頂こうと思っております。

結論から申し上げると、
GitLabのバックアップが原因でサーバの容量が切迫したため
バックアップ世代数を変更して問題解決しました。という内容です。
何かの参考にして頂けたら嬉しいです。

1. 事象確認から原因特定まで

弊社では様々なツール類を使用しておりますが、
その中ではGitLabも一部使用しています。

ある時、そのGitLabを搭載しているサーバの
特定のパーティションの使用率が95%になっていることが分かりました。

「あっやべっ、、」

続きを読む

やってみよう!AWSでWEBサーバー環境構築(シリーズ第3回)

こんにちは、岩橋です。

やってみよう!AWSでWEBサーバー環境構築、好評の第2回に続きまして、待望の第3回をやっていきたいと思います。前回までに作成したインフラ構成にKVS(Elasticache)データベース(RDS)さらにCDN(CloudFront)を追加して、Webアプリケーションの動作環境構築の仕上げをしましょう。

続きを読む

【MySQL】肥大化したInnoDBテーブルを圧縮機能で縮小する方法!

こんにちは。インフラエンジニアの綿引です。

早速ですが、今回はMySQLのテーブル圧縮について記載したいと思います。
但し、MySQL 5.7から実装された透過性ページ圧縮でなく、
MySQL 5.1のInnoDB Plugin時代からある圧縮です!

個人で運用しているMySQLが5.6なのですが、
ストレージが逼迫して来たので、旧来の圧縮を試してみました。

MySQL 5.6以前で「ディスク容量が足りない!」という方がいらっしゃれば、
参考にして頂ければと思います。

圧縮の仕組み

続きを読む

やってみよう!AWSでWEBサーバー環境構築(シリーズ第2回)

こんにちは、岩橋です。

やってみよう!AWSでWEBサーバー環境構築、好評の第一回に続きまして、待望の第二回をやっていきたいと思います。今回は前回作成したVPCとEC2を拡張し、少しづつ耐障害性を意識した実用的な構成を作っていきます。まずはAMIを使って前回作ったEC2のコピーを作るところから始めましょう!

AMIを設定する

これから複数の各種サーバーを設定するに先立って、AMI (Amazon Machine Image) の設定を行いましょう。EC2インスタンスをローンチする度に同じような設定を毎回行うのは煩雑ですが、
これを使ってEC2インスタンスの設定状態をスナップショットとして保存しておくことができます。後で同じEC2が必要になった時にすぐに複製が手に入ります。それでは前回作ったEC2のAMIを作成します。

続きを読む

やってみよう!AWSでWEBサーバー環境構築(シリーズ第1回)

こんにちは、岩橋です。最近のAWSは、次から次に新たなサービスを展開し、その勢いは留まることを知リません。今やITと切っても切れない関係と言っても過言ではないでしょう。

そこでこの度、複数回に渡ってAWS上でのWebアプリ向けのサーバー環境構築について記事にしてみたいと思います。

今回構築するサーバー環境は、
◉VPC(Virtual Private Cloud:土地全体)の構築
◉AZ(Availability Zone:建造物エリア)、サブネット(:建造物を設置するための基礎)の構築
◉WEBサーバーの設置(EC2)
◉ロードバランサー(ELB:玄関)の設置
◉ステップサーバー(EC2:裏口玄関)の設置
◉DNSの設定(Route53:住所登録)
◉データベースの設置(RDS)
◉KVSの設置(ElastiCache)
 …etc を想定しており、最終的には以下のようなイメージになります。

続きを読む

初めてRedisを使うための環境構築

初めまして、システムエンジニア新卒1年目の菅原です。

今回は初めてredisを触ってみたので紹介します。

Redisに触れてみた背景

今年の9月半ばに職場の先輩たちとisucon6に参加しました。

残念ながら敗退してしまいましたが、これまでパフォーマンスをここまで意識したことはなく、参加チームの通過者や本戦出場者の中でもMysqlのデータをRedisに移行してパフォーマンスを速くしているチームが多い印象でした。

少し調べてみるとRDBMSのような複雑な処理にはRedisのキーバリューストア(KVS)型は向かないが、すべてのデータセットをメモリ内に読み込むため、とても高速で高いパフォーマンスをすることができることが分かりました。

パフォーマンスに問題があった場合Redisを使えることがパフォーマンスチューニングにおいては大切なことなのでそんなRedisを触らないわけにはいかないということで初めて触ってみました。

続きを読む

MySQL 5.7のマルチソースレプリケーション機能を検証してみました

はじめまして。メディア開発本部の綿引です。

本日は個人的に前から気になっていたMySQL 5.7のマルチソースレプリケーションについて検証したいと思います。

マルチソースレプリケーション

マルチソースレプリケーションとは1台のスレーブが複数のマスタを持つことができる仕組みです。
これまでのMySQLのレプリケーションはマスタとスレーブの関係が1:Nしか出来ませんでしたが、
この新機能を使用すればN:1が可能になります。

今まで『こんなにスレーブいらないんだけど冗長化は必須だよな。。』と思ったことがある方は興味を持たれるかと。

MySQL 5.7で他にも追加された機能はありますが、マルチソースレプリケーションはその中でも一番目を引く機能ではないかと個人的には思っております。

そして今回構築に伴い、MySQLだけでなくスレーブ側を
互換性のある”MariaDB”にしてみるといったことも出来ればと思いますので、
早速構築を開始したいと思います。

続きを読む

Docker(kitematic)でMySQLの開発環境を用意してみる

こんにちは。メディア開発本部の栗山です。

開発環境を手軽に構築したいなーと思ったので、Dockerを使ってみました。
今回はkitematic(カイトマティック)から操作する方法でやっていきます。

Dockerとは?

よく「コンテナ型仮想化技術」と説明されています。
コンテナ型仮想化技術とは、、、難しいですが、とても簡単に言うと
ひとつのPC(OS)上で複数のOS環境を操作できる技術、というかんじでしょうか。

Go言語で開発されているそうです。クジラがかわいくて癒されます。

Linux環境でしか動作しないと思いきや、windows用のToolBoxの中にVirtualBoxが含まれているので、
ダウンロードすればwindowsでも使えます。(mac用もあります)

※VirtualBoxとは 仮想化ソフトウェアの一つ。使用しているPCの中に、仮想的なPCを作成して、他のOSをインストールして操作することができます。

ToolBoxの中に、kitematicという、GUIからDockerを操作できるアプリケーションが一緒に入っていますので、今回はこちらを使っていきます。

続きを読む