WORKS

構築案件

AWS環境 サーバ構築

AWS環境でのサーバ構築支援を行いました。
お客様が依頼された環境構築が、社内の人員では手が足りないということで、構築支援を行いました。
社内取り決めによる「標準的な構成」+「その都度の依頼内容」に合わせて構築しています。
お客様への依頼が「なるはやで」ということが多いようで、まずは使用可能な状態にして納品、細かい設定は後程、となることが多くありました。
そのため、納品後にサーバの再起動などをすることが難しいため、作業手順を効率よくすることが求められ、効率的な作業手順書の作成と、設定内容のチェックスクリプトの開発を行い、お客様へフィードバックすることで、ご好評いただきました。

VMware ESXi 仮想環境構築

VMware ESXiによる仮想環境を構築しました。サーバ機器3台+ストレージ2台という、ESXi環境ではよくある構成です。
設計段階から参画し、機器の選定、ネットワークや仮想マシンのリソース配分など各種設計、構築、運用開始まで一貫して携わりました。
お客様の若手社員の方と共同で作業し、ESXiの操作方法などの基礎知識の教育も同時に行いました。
本案件では、構築完了後も運用支援という形でしばらくの間サポートを行っています。

VMware ESXi シンクライアント仮想環境構築支援

VMware vSphere 6.0 のホストマシンの構築で、お客様の構築担当者様の構築作業を支援しました。
物理サーバのファームウェア更新やBIOSの設定など初期セットアップから、ESXiやvCenterの構築、さらに社内展開用のテンプレートとなるゲストOS(Windows)の構築などを行いました。
社内用ということで、エントリークラスの物理サーバになるべく多くのゲストを詰め込めるようにしたいということで、各ゲストのリソース配分と、Windowsの不要サービスの削除などによる軽量化が大変でした。

リモートアクセス環境構築

社員やパートナー企業のプロジェクトメンバーなどによる、リモートアクセスによる業務を行うための、環境をAWSで構築しました。
VPN、ファイルサーバ、プロジェクト管理ソフトを1つのサーバで構築し、プロジェクトごとに専用の環境を使えるようにしました。
初期設定はある程度のサーバ設定に関する知識が必要ですが、各種アカウントを一気に作成できるシェルスクリプトなども作成することで、運用を簡便にできるように工夫しました。
不要になったらインスタンスを消してしまえば良いだけなので、管理が簡単です。

MySQLマルチマスター&マルチソースレプリケーション構築

AWS環境で、MySQL5.7を使用してマルチマスター構成の環境を構築しました。
複数のMySQLで負荷分散されるので、従来のようなマスタースレーブ構成よりも高い書き込み性能を持っています。
アプリ側は「MySQL Router」を使用して、書き込み先のDBを分散しています。
また、バックアップ用DBとしてマルチソースレプリケーションを使用したバックアップ構成も構築しました。
メインのマスターが落ちていても他のマスターが生きていればバックアップが継続されるので便利です。

S3バックアップシステム構築

Amazon S3を利用した、オンラインバックアップ環境を構築しました。
本案件は、オフィス内の共有ファイルサーバが非常に重たいという相談を受けて、状況調査から始まりました。
この時の環境では社内にNASが1台だけあり、数十名のユーザーが一斉にアクセスするため、ストレージの性能限界で重たくなっていることが判明。
また、ストレージのバックアップもない状態だったため、ストレージが故障した場合は全社的に業務が停滞するリスクを抱えていました。
解決方法としていくつか案をご提案した結果、部署ごとにストレージを分散し、メインストレージへの日時バックアップ、さらに、Amazon S3への遠隔地バックアップを取ることとなりました。
社内での機器の導入とメインストレージへのバックアップはお客様の担当者の方にて実施し、当方ではAWSとのVPN接続およびS3へのバックアップ設定を実施しました。
本案件では、運用支援を行わなかったため、長期的な経過観察はしておりませんが、特に問題なく動いているそうです。

運用案件

BIG-IP ドメイン統合

サービスごとにサブドメインで別れていたサイトで、サブドメインを廃止して統合する案件で、BIG-IPの再設定および、iRule開発に携わりました。
通常運転時の他にも、システムごとのメンテにも対応できるようにするなど、柔軟なリクエスト処理を行えるようにしています。
メンテ時は外からのリクエストはメンテページへ、中からのリクエストは通常通りなどにするため、リクエスト元がどこなのかも考慮しています。

BIG-IP DoS攻撃対策

DoS攻撃を受けていたECサイトで、データセンターでのDoS攻撃対策サービスでは対応しきれないものがあるということで、BIG-IPのiRuleで対策を講じることにしました。
現象としては、しばしば複数のクライアントからのバーストリクエストがあり、その影響でDBサーバの負荷が急上昇、結果としてシステム全体がその影響を受けて連鎖的に重くなってしまうということが発生していました。
データセンターのサービスは、ある程度の時間、連続してバーストリクエストが発生していないと対策処理が発動しないため、LB側で瞬間的なバーストリクエストが発生した場合のアクセス拒否処理を行い、その後ろにあるDBサーバがハングアップする前にリクエストの流入を止める方式を取りました。
対策前は、頻繁にDBサーバのCPUが100%に張り付くなどしてましたが、対策後は同様の現象は起きなくなり、バーストリクエスト発生直後はCPU使用率が上昇しますが、100%になる前にLBが処理を停止するようになっています。
これにより、サービスへの影響と担当者の稼働が多く発生した状況が改善され、お客様にお喜びいただけました。

CentOS7検証環境構築

CentOS7のリリース後、程なくしてお受けした案件です。
CentOS6から7への移行検証のため、Web2台、DB2台、NFS2台、その他兼用1台の構成で、AWS上で構築しました。
AWSにあるCentOS7はミニマム構成なので、このままでは運用上は使いにくいため、運用上必要な構成にカスタマイズしています。
適当な構成にする手順を確立するなど、今後主流になるCentOS7のノウハウを蓄積できる良い経験になりました。

WordPressサイトのベンチマークテスト

オンプレサーバからAWSへ移行するWordpressサイトのベンチマークテストを実施しました。
AWS上にベンチマーク実行側のサーバを構築し、Apache JMeterを使用して、負荷率をじわじわ変えながら、単位時間あたりのリクエスト処理数を計測しました。
ベンチ実行サーバは、Linux機でt2.xlargeぐらいのインスタンスを用意したほうが良いようです。

pgpool-IIオンラインリカバリ検証

VMware環境で動作中のpgpoolレプリケーション構成のシステムのクローン環境を作り、オンラインリカバリの動作検証を行いました。
DB障害が起きるたびに、サービスを全停止してメンテナンスを行っていたシステムで、オンラインリカバリによる無停止復旧を行えるようにしたいということで、動作検証を実施しました。
対象のシステムは月間1000万PVを超えるECサイトシステムなので、入念な動作確認と、リカバリ後の整合性の確認などに労力がかかりました。
実際の運用では、DBダウンにより生き残ったDBが高負荷になり、さらにリカバリ動作による負荷が加わるとますます高負荷になるということが起きるので、いつでもすぐにリカバリというわけにはいかず、動作状況をよく見て、いつ実行するのかといった運用ノウハウの蓄積が必要なようです。

nginxサーバベンチマークテスト

AWS環境で、nginxを使ったWebシステムのベンチマークテストを行いました。
CPUやメモリの負荷、秒間アクセス性能などをインスタンスサイズを変えながらテストし、予測需要に見合った最適なインスタンスを割り出しています。
こういったテストでは、テストベッドとなるアクセス先のページを重いページにするのか軽いページにするのかなど、テスト条件をどうするかが重要です。
あまり軽いページで作ってしまうと、実際の運用が始まったときにまったくスループットが出ないということが起き得ます。

nginxロードバランシング

AWS環境で、nginxを使ってロードバランサーを構築しました。近年良くある、nginxリバースプロキシサーバの応用です。
BIG-IPなどのようなLB製品のような高価高機能は要らないけど、ELBでは機能が足りず、L7でバランシングしたいという場合に使えます。
あまり複雑なバランシングルールにすると、保守が大変になると思いますので、なるべく簡単なルールになるように設計することをお勧めします。