vagrantとロードバランサーについて簡単に学習したのでその記録


用語

  • オンプレミス:自社で物理サーバや通信回路、その他サービスを保有し運用すること
  • クラウド:インターネット経由でサーバを利用することができるサービス。物理的にサーバを設置する必要がなく、定額な初期コストから開始が可能。
  • DNSサーバ:ドメインとIPアドレスとを紐づけるもの。紐付け+変換の処理を「名前解決」という。
  • HTTPS:SSL暗号化通信を行うため、HTTPよりセキュアに通信をすることが可能。
  • ロードバランサー(負荷分散装置):サーバにかかる負荷を、平等に振り分けるための装置のこと。ロード(負荷)+バランサー(平衡を保つためのもの)

ロードバランサーについて

速度低下を防ぐ

ロードバランサー(負荷分散装置)とは、サーバにかかる負荷を、平等に振り分けるための装置のこと。ロード(負荷)+バランサー(平衡を保つためのもの)。

これを利用することで、処理件数が増加してサーバのリソース(CPUやメモリなど)を奪い合うことが軽減される。つまり、サーバに負荷がかかることを防ぐことができる。

実際のサーバの台数を増やすことをスケールアウト、サーバの性能を上げることをスケールアップという。

ダウンしたサーバを回避できる

ロードバランサーの仕組みは、サーバを複数台で構成しているため、1台故障しても他のサーバに自動切り替えすることで、継続的にサービスを提供できる。

サーバのメンテナンスも停止せずに可能

サービスを停止せずに、サーバのメンテナンスを行うことができる。これは、ロードバランサーの設定を、メンテナンス中のサーバに振り分けないようにすることで実現可能。

特定のユーザのアクセスを同一サーバに集約する

これによって、Webアプリケーションのトランザクション(決済など)の整合性を維持することができる。これをパーシステンスという。

AWSのサービス

  • Route53:DNSにあたる。ドメインの取得やDNSレコードの設定を行う。
  • EC2:アプリケーションを動かすWebサーバにあたる。ストレージやスペックを自由に選択可能。
  • RDS:データベース。ストレージやスペックを自由に選択可能。
  • ELB/ALB:ロードバランサーにあたる。

Vagrantの基本操作

vagrantのバージョン確認

% vagrant -v
Vagrant 2.2.7

boxファイルのインストール

% vagrant box add [Boxファイルの名前(任意の文字列)] [インストールしたいBoxのURL]

インストールしたBoxファイルの確認

% vagrant box list
[Boxファイルの名前(任意の文字列)が表示される]

Vagrantの初期化(Vagrantファイルが作成される)

% vagrant init [Boxファイルの名前(任意の文字列)]

vagrantの実行

% vagrant up

vagrantへのログイン

% vagrant ssh

参考