インフラ

MySQLからRDSへの移行手順と暗号化の注意点

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

既存のシステムを刷新する際やリニューアルなどを行う時など
インフラ構成をいろいろ考えるかと思いますが、
DB のクラウド化を検討された方も中にはいらっしゃるのではないでしょうか。

メリット・デメリットはあるかとは思いますが、まずは現状のシステムから
移行可能かという点が気になるかと思います。

そこで本日はオンプレや EC2 インスタンスにインストールした MySQL から、
AWS の RDS の MySQL に移行する方法を試してみたので書いていきたいと思います。
またせっかくなのでRDSの暗号化も一緒にやってみたいと思います。

手順

今回は EC2 にインストールした MySQL から RDS に移行したいと思います。
実施した手順としては以下です。

1. RDS パラメータグループ作成
2. RDS インスタンス作成
3. EC2 レプリケーション事前準備
4. EC2 mysqldump エクスポート
5. RDS mysqldump インポート
6. EC2 → RDS レプリケーション構築
7. アプリケーション向き先変更
8. EC2 → RDS レプリケーション解除

では早速構築していきます。

続きを読む

Apacheで403 Forbiddenが表示された時のチェックポイント5選

エンジニアの阿久津です。
今回はApacheの403 Forbiddenが表示された時のチェックポイントについて記事にしたいと思います。

環境

  • Vagrant 1.9.5
  • CentOS Linux release 7.1.1503 (Core)
  • Apache 2.4.6

前提

  • 設定ファイル
     /etc/httpd/conf/httpd.conf

  • DocumentRoot
     /var/hoge

  • テストページ
     /var/hoge/index.html

事象

テストページを表示しようとすると403 Forbiddenが表示される。

Forbidden

続きを読む

AWS Route53の「マルチバリュー応答」試してみました

はじめに

こんにちは。エンジニアの西脇です。
2016年6月より AWS Route53にてマルチバリュー応答ができるようになりました。

Amazon Route 53 announces support for multivalue answers in response to DNS queries

できるようになってからかなり日が経ってしまいましたが、少し試してみたのでその記録となります。

このニュースの何が驚きだったかというと、

  • これまでも、Route53ではバリュー(Aレコード)に複数登録することで、DNSラウンドロビンは利用可能であった。
      ※ここでは、「DNSラウンドロビン」という言葉に集約しますが、「Routing Policy」次第で色々な機能があります。

  • マルチバリュー応答の機能により、バリュー(Aレコード)の登録IPの一つ一つに対して、「Routing Policy」を設定できるようになった。

この設定の組み合わせにより、ELBなどの導入がコスト面や設計の面でできない場合にでも、Route53を利用してある程度柔軟に負荷分散(限定的な)ができるようになりました。

では、マルチバリュー応答を試していきましょう。

続きを読む

goofys インストールと s3fs との速度検証について

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

本日は goofys という AWS S3 マウント用ソリューションの
インストールについて記載しようと思います。

goofysとは

goofys とはサーバから S3 バケットをファイルシステムのようにマウントして、
OS上からディレクトリの様に使用できるソリューションです。

スクリーンショット-2017-11-15-19.52.53

S3 の使用方法としては、
1. 静的ウェブサイトホスティング機能を有効にして S3 側でホスティングを行う
2. ログなどを格納する (aws cli などを用いて)
といったものが一般的だと思います。

ただ今回の goofys を用いると OS側からマウントができるので、
Linux の「cp」 コマンドや 「ls」 コマンドが使用可能となり、使い方の幅が広がります。

同様の機能を持つソリューションの一つに s3fs というものもあり、
私も今までこちらを使っていたのですがいかんせん遅い。。

最後に goofys と s3fs での簡単な速度検証も行ったので、
是非参考にして頂けたらと思います。

続きを読む

ウエディングパーク完全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を作成します。

続きを読む