Blog
ブログ
【アプリエンジニア向けAWS基礎知識】AWSと冗長化における基本の基
現場でAWSを使っていてリージョンやサブネットといった用語は聞くけど意味はよくわかっていない、そんな方向けの解説です。
仕組みを理解してAWS環境を構築するための基本の基を解説します。
リージョンとアベイラビリティーゾーン
アベイラビリティーゾーン
まずアベイラビリティーゾーンから説明します。よくAZと略されています。
アベイラビリティーゾーン=データセンターのグループ です。
つまりサーバ機器などを設置している施設がある場所のことをこう呼んでいます。
ちなみに私は以前さいたま市郊外にあるデータセンター(AWS関連ではない)に仕事で入ったことがあります。
広大な敷地に建てられ厳重なセキュリティで守られていたのを覚えています。
このようにデータセンターは人気のない広く安全なところに建てられているのが一般的です。
AWSのデータセンターの場所はネット情報を見ると特定されてしまっているようですが、公式には非公開です。これもセキュリティを考慮してのことだと思います。
リージョン
リージョンは文字通り地域を意味しており、リージョンの中にアベイラビリティーゾーンがある、という関係です。
例えば日本の東京リージョンとアメリカのオハイオリージョンは以下のようにそれぞれ複数のアベイラビリティーゾーンを持っています(2021年10月時点)。
ちなみに東京リージョンと名づけられていますがすべてのアベイラビリティーゾーンが東京都にあるというわけではなく、近郊も含んだ呼称になっています。
※千葉と神奈川にもあると言われています
また長らく日本国内で独立したリージョンは東京だけでしたが、2021年3月に大阪リージョンが開設されました。
元々は大阪ローカルリージョンとして2018年に開設され、災害対策用に東京リージョンとセットでのみ使用できるリージョンでしたが、単独でも使用できるようになりました。
このように、リージョンとアベイラビリティーゾーンは増えたり構成が変わったりということがあるので、システム運用に当たってはAWSから公表されるニュースをチェックしておくと役立つことがあるかもしれません。
どのリージョンを利用すればいいか?
では仮にAWSを使って日本国内にいる人向けのWebサイトを構築するとしましょう。まず決めなければいけないのがリージョンです。
リージョンは日本以外の世界各地にもありますが、この場合は東京リージョンを使うのが一般的です。なぜならば、Webサイトを見る人とデータセンターの物理距離が近ければ通信距離が短く済み、Webサイト表示にかかる時間もその分早くなるためです。
このように対象ユーザーがいる地域に近いリージョンを選ぶのが基本です。ただし、速度よりもコストを重視する場合は別のリージョンを使うという手もあります。リージョンによってランニングコストに違いがあるためです。
例えばt3.mediumというタイプのEC2インスタンス(一言でいうと仮想サーバーです)を使用する場合、以下のようにアメリカにあるオハイオリージョンの方が安くなっています。
東京リージョン:0.0544 USD/時間 ※1か月で約39USD
オハイオリージョン:0.0416 USD/時間 ※1か月で約29USD
VPCとサブネット
リージョンを決めたら、次に作るVPCとサブネットについて見ていきます。
まず以下のイメージ図を見てください。
VPCとは、AWS利用者専用の論理的に閉じたネットワークです。
図で描いているように複数のアベイラビリティーゾーンをまたいで作るのがAWS運用におけるセオリーになっています。
VPCの中に作られているサブネットは、AWS内の最小ネットワーク単位です。
サブネットはアベイラビリティーゾーンをまたぐことはできません。
このサブネットの中にWebサイトを構成するEC2(Webサーバ)やRDS(データベース)を作成します。
図ではアベイラビリティーゾーンaの中にサブネットaを、アベイラビリティーゾーンbの中にサブネットbを作っています。
そしてサブネットaとbそれぞれにEC2(Webサーバ)などの資源を配置することで、2つのアベイラビリティーゾーンにまたがってWebサイトを稼働させることができます。
なぜこのような構成にするか?というと、可用性を高めるためです。
先に述べた通りアベイラビリティーゾーン=データセンターのグループだということを思い出してください。
例えばアベイラビリティーゾーンaの地域が停電して、サブネットaにあるEC2などもすべて停止してしまったとします。
しかし、別の場所にあるアベイラビリティーゾーンbのデータセンターが稼働していればWebサイトを動かし続けることができるというわけです。
これがアベイラビリティーゾーンの冗長化であり、AWSにおける冗長化の基本となっています。
終わりに
今回はAWSを使う前に抑えておくべき基本について解説しました。
今後はAWSが持つ様々なサービスについても紹介していきたいと思います。
結びのメッセージ
Switch with us!
採用エントリー
ご応募はこちら