クモのようにコツコツと

フロントエンドエンジニア イイダリョウの技術ブログ。略称「クモコツ」

AWSを理解するために調べたこと(Webサイトホスティング編)

AWS(アマゾンウェブサービス)について詳しくなりたくいろいろ調べています。当面の目標はステージング環境を作ること。AWSの「いろは」的なスライドがあったのでその中に出てくるわからない単語を調べながら読み進める。今回はWebサイトホスティングの一般的な単語がメイン。それではどうぞ!

【目次】

AWSの概要がよくわかるスライド

AWSって有名だけど一言で説明するのは難しい。漠然と「最近流行りのイケてるサーバ」というイメージを持ってサイトを見てみると…

※参考:クラウドならアマゾン ウェブ サービス 【AWS 公式】

ページタイトルには「クラウドならアマゾンウェブサービス」とある。「クラウド」といえばDropBoxやGoogleドライブのようなストレージサービスが思い浮かぶ。

ページをスクロールすると「製品を調べる」という見出しでAWSのサービス群が並ぶ。

f:id:idr_zz:20190724214204j:plain

「分析、アプリケーション統合、ARとVR…」うーむ。やはり単なる「サーバ」の一言で表せる代物じゃないなこれは。「ウェブサービスの総合デパートや〜」って印象。

AWSの「いろは」が理解できそうなスライドがあった!

※参考:20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング

このスライドをとっかかりに理解していきたい。黒帯(ブラックベルト)になれるかな?

ウェブサイトホスティング(p8)

スライドのタイトルは「AWSで実現するウェブサイトホスティング」。ウェブサイトホスティングについてはスライドのp8に概要がある。

本セミナーでのウェブサイトホスティングとは、LAMPで構成され たウェブサイトを想定しています
サーバレスアーキテクチャ等は取り上げておりません

念の為「ホスティング」を調べとく。

ホスティングとは、一言で表すと「サーバを借りること」です。

※参考:ホスティングとは?意味・種類・違い・サービスを解説 - ホスティングサービス | ボクシルマガジン

ですよねー。

で、LAMPとは以前の記事でも書いたとおりLinux(OS)、Apache(Webサーバ)、MySQL (DB)、PHP(サーバサイド言語)の略。

※参考:Webサービスを公開するためのサーバ仕様比較(VPSとクラウドサービス) - クモのようにコツコツと

サーバレスとはFirebaseとか。今回のスライドでは扱っていないがAWSにも「Lambda(ラムダ)」というのがあるようだ。サーバが無い(レス)ということではなくサーバの管理が不要というニュアンス。

※参考:サーバーレスとは? 簡単な事例をまじえてわかりやすく解説! – キュービストブログ

インフラ要素(p11)

スライドp11にある主なインフラ要素

  • ウェブ/アプリケーションサーバ
  • データベース
  • ロードバランサー
  • その他(バックアップなど)

この中で馴染みが薄いのは「ロードバランサー」。ロードバランサーとはアクセスが集中したときに負荷分散する仕組みのこと。

※参考:【図で理解】ロードバランサーとは?負荷分散の仕組みを解説 | カゴヤのサーバー研究室

スライダー上の解説

ウェブ/アプリケーションサーバへのアクセスを分散してくれる装置(負荷分散装置)
ウェブ/アプリケーションサーバの冗長化にはほぼ必須

「冗長化」とはなんぞ?プログラミングでは冗長表現はよくないとされるが。

冗長化とは、コンピューターやシステムに何らかの障害が発生したケースに備えて、予備装置を普段から配置、運用しておくこと

※参考:冗長性・冗長化とは | IT用語 - システム継続のための仕組みを解説 - サーバー管理ツール | ボクシルマガジン

サーバでは障害対策として良い意味で使われているようだ。

クラウドコンピューティング(p14)

スライドp14「クラウドコンピューティングの特徴」にこうある。

  • 初期投資が 不要
  • 実際の使用分 のみ支払い
  • セルフサービスな インフラ
  • スケールアップダウンが容易
  • 市場投入と 俊敏性の改善
  • 低額な 変動費

クラウドも念のため調べとく。

クラウド(クラウド・コンピューティング)とは、インターネットなどのネットワーク経由でユーザーにサービスを提供する形態のことです。

※参考:【初心者入門編】クラウドとは?まず押さえたいメリット・デメリット

ですよねー。

AWSサイトのタイトルに「クラウドならアマゾンウェブサービス」とあったように、これはAWSの特徴そのものでもある。

この中で馴染みが薄かったのは「スケールアップ、スケールダウン」。

スケールアップ
実利用に対してサーバスペックが不足していると判断できる場合に、仮想サーバのスペックを上げるアプローチ。
スケールダウン
実利用に対してサーバスペックが過剰だと判断できる場合に、仮想サーバのスペックを下げるアプローチ。

※参考:サーバのスケールアップ・スケールダウン・スケールアウト・スケールイン – 「さくらのクラウド入門」(3) | さくらのナレッジ

ふむふむ。サーバの仕様(スペック)を上げたり下げたりするのが容易ってことね。

リージョン、アベイラビリティゾーン(AZ)(p16)

スライドのp16にAWSのサーバの分布がある。

リージョンは複数のアベイラビリティゾーン(AZ)で構成されています
全世界で合計55のAZ

リージョンはサーバ系の記事でよく見るな。「東京リージョン」とか。

大まかに言うと「地域」のことです。
AWS は世界中にサーバーを持っており、リージョンという大きな単位でまとまっています

※参考:AWS におけるリージョンとアベイラビリティゾーンの違いを解説

アベイラビリティゾーン(AZ)の方は普段聞きなれない単語だった。

「アベイラビリティゾーン(AZ)」は、リージョンよりも小さな区分けです。
原則として、1リージョンの中に複数のアベイラビリティゾーンが存在しています。

リージョンの中にAZが別れているわけね。

概ねデータセンター単位で分離されており、電源・ネットワークなども別管理となっています。 1つの AZ で障害が発生した場合でも、他の AZ には響かない設計となっています。

なるほど。分散することで安全性がます。障害や災害に強い。

100を超えるサービス、どうすりゃいいの?(p17〜18)

スライドp17をご覧の通り、AWSのサービスは100を超える。

  • コンピュート
  • ネットワーク
  • アナリティクス
  • 機械学習
  • 開発ツール
  • 管理ツール
  • セキュリティ
  • ストレージ&配信
  • アプリケーションサービス
  • Hubs
  • ゲーム
  • モバイルサービス
  • データベース
  • IoT
  • エンタープライズアプリ

いやーすごい。カテゴリだけでも10を超える。これだけあるとどこから手をつけていいかわからない。

で、次のp18にこうある。

既存の技術知識で使えるサービス をまず使いましょう

ということで、まずはやはりWebサイトホスティングに使えるサービスから手をつける!

最後に

ということで今回は概要編ということで「Webサイトホスティング」の一般的な単語について調べました。なんとなくクラウドやホスティングのイメージはできてきた!次回からはいよいよ「EC2」「RDB」「ELB」「S3」などのAWSの具体的なサービスについて調べていきたく。それではまた!

※続き書きました!

www.i-ryo.com


※参考:Web開発環境の記事まとめ
qiita.com