Amazon VPCとは-ガチ文系でガチ事務系がAWSに触れずにAWS試験に合格するための勉強ブログ
Amazon VPCとは
Amazon VPC(Virtual Private Cloud)はAWS内に仮想ネットワークを構築できるサービス。
VPCは仮想ネットワークを構築できるサービス
サーバやデータベースなどで構成されるクラウドシステムのためのネットワークをオンデマンドで迅速に構築できる
VPCピアリングや仮想プライベートゲートウェイなど、他の VPCやオンプレミス環境のサーバと外部通信するための仕組みが用意されている
ルートテーブル、セキュリティグループ、ネットワークACLの3つの方法でアクセス制限を設定できる
意味不明単語の深追い
仮想ネットワークとは
仮想ネットワークとは、物理的なネットワーク構成にかかわらず、論理的に作成したネットワークのこと
なぜネットワークを仮想化するのか
→従来のネットワーク(物理ネットワーク)は、ネットワークを構成を変えるためにケーブルや機器の接続を変更し、機器設定をやり直す必要があり、変更に手間も時間もかかります。
仮想ネットワークは上記のような制約にとらわれず、新しいネットワーク構築を柔軟に構築することができるため、ニーズが増しています。
仮想ネットワークを実現するための技術
代表的な仮想ネットワークとその技術を4つ。
VLAN
VLAN(Virtual Local Area Network)はスイッチ上でネットワークセグメントを分割できる技術。1台の物理スイッチの中に複数の仮想スイッチを用意できるため、1台の同じスイッチに接続されたサーバー等を複数の独立したネットワークセグメントに分けて配置することが可能になります。
VLANのネットワークは、1つの機器の中だけでなく、複数機器にまたがって設定することも可能です。
VPN
VPN(Virtual Private Network)は仮想的な専用ネットワークを設けて、特定の利用者のみが安全に情報をやり取りできるようにする技術。
VPNの技術が開発される以前は物理的な専用線を用いて、企業のネットワークを構築、特定の企業が占有できるため安全性や信頼性が高いものの、構築が完了するまでコストや時間が大きな課題となっていた。
VPNは上記課題を解決すべき、安全性を保ちながら従来かかる敷設コスト等大幅に抑制できる技術です。
SDN
SDN(Software Define Network)はソフトウェアで設定・制御・管理するネットワークのこと。
SDNは特にデータの転送経路やでデータを制御するためのルーティングテーブルの決定などの機能をネットワーク機器から分離し、ソフトウェアの機能によって他のアプリケーションと連携したり自動化するなど、より柔軟なネットワーク運用を実現することが可能となる。
NFV
NFV(Network Function Virtyalization)はルーター・スイッチ・ファイアウォールなどの機能を専用のハードウェアではなく汎用のサーバー上のソフトウェアで実現すること。
SDNは物理的なネットワーク機器含めてソフトウェア上から制御しますが、NFVではネットワーク機器自体も仮想化します。
SDNとNFVを組み合わせることでネットワークの仮想化をより高いレベルで実現できる。
サーバーとは
サーバーは「サービスを提供する側のコンピューター」を意味します。サーバーは保存や共有などに使われる「ファイルの保管」役割となり、その他の役割としては「情報処理」や「コンテンツとしての提供」がサーバーに求められます。サーバーがあることでレンタルサーバーやファイル共有、クラウドサービスなどの「サービス」が提供できるようになります。
データベースとは
データベースとは、決まった形式(データモデル)で整理されたデータの集まりのこと。例えば顧客情報を「氏名」や「電話番号」の項目ごとに整理したり、複数の商品情報を「商品コード」別に分類したりしたものがあげられます。つまり、データベースは大量にあるデータを検索しやすいようコンピュータ上で整理したデータ群です。
VPCピアリングとは
VPC ピアリング接続は、2 つの VPC 間でプライベートなトラフィックのルーティングを可能にするネットワーキング接続です。異なる VPCを接続することで複数のAWS間で通信が行うことが可能です。
どちらの VPC のインスタンスも、同じネットワーク内に存在しているかのように、相互に通信できます。
注意事項
・CIDRブロックが重複しているVPC間のペアリングは出来ない
・異なるリージョン間でのVPCペアリングはIPv6非対応
仮想プライベートゲートウェイとは
仮想プライベートゲートウェイは、1つのVPCとオンプレミス環境をVPN経由で接続する時にVPCに設置する通信の出入口です。 仮想プライベートゲートウェイとVPCの対応は1対1です。 トランジットゲートウェイとは、複数のVPCとオンプレミス環境をVPN経由で接続する時にVPCに設置する通信の出入口です。
ルートテーブルとは
VPCを利用する場合は一連のルールに従い、ルートと呼ばれるネットワーク経路を選択します。そのルールの記載されたテーブルを、ルートテーブルと言います。ルートテーブルには、ゲートウェイからのネットワークトラフィックをトラフィックに応じて経路設定します。そのため、VPCのルートテーブルは通常のルーティングテーブルと同じ仕組みと考えて良いでしょう。
セキュリティグループとは
セキュリティグループは、VPC(AWSネットワーク)上で通信制御をするファイアウォール機能です。 サーバやロードバランサー毎に立ちはだかる壁であり、IPや通信プロトコル単位、もしくは、VPC内同士での通信であれば通信元セキュリティグループのIDを指定して制御できます。
ロードバランサーとは
インターネットからWEBサーバーへ入ってくるリクエストを負荷分散する。そのほか、L4スイッチ相当の通信制御やサーバーのヘルスチェックといった死活監視、およびファイアウォール、SSLターミネーションなどの機能を持つ場合もある。
プロトコルとは
プロトコルとは コンピューター同士の通信をする際の手順や規格のこと。 情報を送り出す端末の選定、データの形式、パケットの構成、エラーの対処などを取り決めた通信の約束事である。
L4スイッチとは
L4スイッチとは、ネットワーク上でやり取りされるデータを中継する機器である「スイッチ」の一種です。スイッチは、どのプロトコル レイヤで動作するかによって、複数の種類に別れます。L4スイッチは、TCP等のトランスポート レイヤであるレイヤ4で動作します。
レイヤ4スイッチはデータ(パケット)を中継する際に、トランスポート レイヤに含まれているポート番号やセッション シーケンス番号等の情報の解析や書き換えを行うことができます。これによってネットワーク トラフィックの分散処理(ロードバランシング)や、帯域制御、セッションの最適化、WANアクセラレーション等の処理が実現可能になります。
スイッチにはこの他にも、イーサネット等のデータリンク レイヤで動作する「L2スイッチ(レイヤ2スイッチ)」や、IP等のネットワーク レイヤで動作する「L3スイッチ(レイヤ3スイッチ)」、HTTP等のアプリケーション レイヤまでカバーする「L7スイッチ(レイヤ7スイッチ)」があります。単に「スイッチ」といった場合には、L2スイッチやL3スイッチを指すケースが一般的です。L4スイッチとL7スイッチは単に通信データ(パケット)を中継するだけではなく、アプリケーション配信に関する多様な機能を提供できることから「ADC(Application Delivery Controller)」と総称されます。
死活監視とは
死活監視とは、サーバーやその上で実行されているソフトウェアの稼働状況を継続的にチェックすることを指します。 これらの機能を提供するソフトウェアは、死活監視ソフト、あるいは監視ソフトなどと呼ばれます。
ファイアウォールとは
ファイアウォールは、企業などの社内ネットワークにインターネットを通して外部から侵入してくる不正アクセスや、社内ネットワークから外部への許可されていない通信から守るための“防火壁”です。WANの発展により、企業内のネットワークをWebに接続することが当たり前になった結果、Web経由で社内ネットワークに侵入できるようになり、内部データの盗聴、改ざん、攻撃などが行われる可能性が大きくなりました。そのため、高度なセキュリティシステムの構築が必要となり、ファイアウォールが誕生しました。
ファイアウォールは、送られてくる通信のパケット(データのかたまり)情報から接続を許可するか判断し、不正アクセスであると判断した際には、管理者に通報できるよう設計されています。またより高いセキュリティを保てるよう々な付加機能を持っているものが多く、様々なネットワークに柔軟に対応できるようになっています。
WANとは
WANは「Wide Area Network(ワイドエリアネットワーク)」の頭文字をとったものです。 日本語に訳すと「広域情報通信網」となり、広い範囲のネットワークのことを指します。 いわゆるインターネットがWANにあたります。 複数のLANの集合体というイメージをするとよいかもしれません。
SSLとは
SSL(Secure Socket Layer)とは、インターネット上でデータを暗号化して送受信する仕組みのひとつです。クレジットカード番号や、一般に秘匿すべきとされる個人に関する情報を取り扱うWebサイトで、これらの情報が盗み取られるのを防止するため、広く利用されています。また、SSLは暗号化に加え、電子証明書により通信相手の本人性を証明し、なりすましを防止するなど、今日のインターネットの安心・安全を支えています。
SSLは、WebサーバとWebブラウザとの通信においてやりとりされるデータの暗号化を実現する技術です。たとえば、インターネットバンキングで利用者登録する場合などは、このSSLを使ったホームページが使われます。ここで入力された情報は暗号化され、金融機関のWebサーバに送られるのです。これにより、通信の途中で情報が盗み見られることを防いでいます。
TLSとは
Transport Layer Securityは、インターネットなどのコンピュータネットワークにおいてセキュリティを要求される通信を行うためのプロトコルであり、TLSとSSLは両方、インターネット上のデータ転送を認証かつ暗号化するプロトコルです。 2つは紐づけされていますが、TLSはSSLの最新版でより安全なバージョンです。主な機能として、通信相手の認証、通信内容の暗号化、改竄の検出を提供します。
SSLターミネーションとは
現在、Webページの約90%がSSL(Secure Sockets Layer)プロトコルと、これに代わるより新しく安全性の高いTLS(Transport Layer Security)で暗号化されています。これは、攻撃者がWebブラウザとWebサーバまたはアプリケーション サーバ間でやり取りされるデータを盗んだり、改ざんしたりするのを防ぐためのもので、安全性の面では好ましい進展と言えます。しかし、暗号化されたトラフィックをすべて復号するには、多くの計算能力を必要とし、サーバが復号する必要がある暗号化ページが多いほど、その負担は大きくなります。
SSLターミネーションとは、この暗号化されたトラフィックを復号するプロセスで、SSLオフロードとも呼ばれます。この計算負荷の高い作業をWebサーバに任せる代わりに、SSLターミネーションを使用することで、サーバの負荷を軽減し、プロセスを高速化することができます。またこれにより、WebサーバがWebコンテンツの配信という中核的な役割に集中できるようになります。
ネットワークACLとは
ACL(Access Control List)とは、システムやファイル、ネットワーク上のリソースなどへのアクセス可否の設定をリストとして列挙したものです。 特にネットワークの場合、宛先と送信元のIPアドレスおよびポート番号を条件とした上で、その条件に合致した通信の可否をACLとして設定します。
トラフィックとは
通信の分野におけるトラフィックとは、インターネットやLANなどのコンピュータなどの通信回線において、一定時間内にネットワーク上で転送されるデータ量のことを意味します。
ルーティングとは
ネットワーク上でデータを転送する際、その経路を導き出すことをルーティングと呼びます。特に複数のネットワークがルーターに代表される中継機器で接続されているインターネットでは、相手にパケットを届けるためにさまざまなネットワークを経由する可能性があります。この経路を判断する処理がルーティングであり、そこで使われるのがルーティングテーブルです。
インスタンスとは
インスタンスとは、あらかじめ定義されたコンピュータプログラムやデータ構造などを、メインメモリ上に展開して処理・実行できる状態にしたもの。
CIDRとは
CIDRは「Classless Inter-Domain Routing」の略。サイダーと読みます。
CIDRは、クラスを使わないIPアドレスの割り当てと、経路情報の集成を行う技術です。
クラスとは、IPアドレスのネットワーク部とホスト部を決められたブロック単位で区切る方法で、簡単ですがアドレス空間の利用に無駄が生じてしまいます。
これに対しクラスを使わないCIDRでは、任意のブロック単位で区切ることができるため、IPアドレス空間を効率的に利用することができます。
CIDRブロックとは
CIDRブロックとは、CIDRのプレフィックスに基づいてIPアドレスを解釈するアドレスのグループを指します。 つまり、CIDRプレフィックスで記載したIPアドレスの範囲をCIDRブロックとしてネットワーク割当や設定の対象アドレスとして指定することができます。
プレフィックスとは
サブネットを含めたときのIPアドレスの表記方法でよく使われるのは、プレフィックスを使った表記方法です。プレフィックスとは、ネットワークアドレス部分の長さのことで、IPアドレスに続いて“/”と“ネットワークアドレスのビット数”を表記します。例えば、
“IP Address. . . . . . . . . . . . : 192.168.10.1”
“Subnet Mask . . . . . . . . . . . : 255.255.255.0”
の場合は、192.168.10.0/24と表記します。
サブネットとは
サブネット (サブネットワーク) は、ネットワーク内のネットワークです。サブネットは、ネットワークをより効率的にします。サブネット化により、ネットワークトラフィックは不要な ルーターを通過せずとも、短い距離を移動して宛先に到達できます。
IPv6とは
「IPv6」とは「Internet Protocol Version 6」の略称で、インターネットプロトコル(IP)の1つです。IPとは「インターネット通信を行うためのルール」であり、このルールに則って通信が行われています。
IPが定めるルールの1つに、インターネット接続に必要な「IPアドレス」の管理があります。IPアドレスとは、デバイス(PCやスマホ)を識別する番号のことです。「郵便物(情報)を家(デバイス)に届けるには、住所(IPアドレス)が必要である」と考えるとイメージしやすいかもしれません。
元々は「IPv4」が主流でしたが、インターネットが急速に普及したことでIPアドレスが枯渇する恐れがあるとして、新しく「IPv6」が誕生しました。
IPv4との違い
IPv4とIPv6では「使用できるIPアドレスの数」が異なります。
IPv4で使用できるIPアドレスは全世界で約43億個です。
43億個と聞くと、かなり多く感じるかもしれませんが、インターネットの急速な普及によって現在ではそのほとんどが割り振られており、IPアドレスが不足する事態となっています。
そこで新しく誕生したIPv6では、約340澗(かん)個(340兆の1兆倍の1兆倍)のIPアドレスが使用可能です。
オンプレミス環境とは
オンプレミスは、サーバーやソフトウェアなどの情報システムを、使用者が管理している施設の構内に機器を設置して運用することを指す。 「オンプレ」と略されることもあるほか、「自社運用」とも呼ばれる。 オンプレミスは自社で構築するため、システムを柔軟にカスタマイズしやすく、自社システムと連携しやすいというメリットがある。
ロードバランサーとは
ロードバランサーは負荷分散装置とも呼ばれ、外部からの通信(トラフィック)を複数のサーバーに分散する仕組みを提供する装置です。たとえば1つのサーバーでWebサイトを運営すると、そのサーバーが持つ処理能力以上のアクセスがあった場合にレスポンスが低下してしまう恐れがあるほか、最悪の場合はサーバーがダウンしてしまうことも考えられます。その対策として、サーバーの数を増やすことで処理能力を増強させる方法がありますが、各サーバーが持つ処理能力を有効に利用するためには、いずれかのサーバーにアクセスが集中しないようにアクセスを振り分ける必要があります。
その役割を担うのがロードバランサーです。ロードバランサーはサーバーへのアクセスを集約し、リソースに余裕があるサーバーを接続先として選択するなど、事前に設定されたルールに従って各サーバーへアクセスを振り分けます。またロードバランサーには、サーバーの死活状態を監視し、いずれかのサーバーに障害が発生した場合にはそのサーバーへの振り分けを停止するといった機能があり、これにより可用性の向上も実現します。
ポート番号とは
ポート番号とは、TCP/IP通信において、 コンピュータが通信に使用するプログラムを識別するための番号です。 ポート番号は16ビットの整数であり、 0番~65535番まであります。
TCP/IP通信においては、 IPアドレスがあればネットワーク上のコンピュータを一意に識別することができますが、 該当コンピュータのどのプログラムに通信パケットを届けるかは、 IPアドレスだけでは決定できません。 どのプログラムに通信パケットを渡すのかを決定するために、 ポート番号を使用します。
例えば、クライアントがHTTPを使って通信する際は、 該当サーバのIPアドレスとポート番号80番を指定してパケットを送ります。 ここで、ポート番号80番を指定するのは、HTTPのサーバは、 80番ポートでパケットを待っていることが多いためです。 サーバ側では、80番ポートが宛先となっているパケットが届くと、 事前に指定しておいたそのポート宛のパケットを処理するプログラム(ApacheやIISなど)が動き、 パケットの中身を処理します。
上記のような仕組みにより、 クライアントからのパケットを受け取ったサーバは、 宛先のポート番号が80番であることからWebサービスを提供すれば良いことがわかり、 適切なプログラムで処理を行うことができます。 また、サーバがクライアント端末にパケットを返す時にも、 そのクライアント端末のIPアドレスとポート番号を指定して通信を行います。
このように、 TCP/IPネットワーク上でコンピュータ同士が通信を行う際には、 IPアドレスとポート番号をセットで用いて通信を行います。
ポート番号には、下記のような三つの種別があります。
WELL KNOWN PORT NUMBERS(ウェルノウンポート番号)0番~1023番REGISTERED PORT NUMBERS(登録ポート番号)1024番~49151番DYNAMIC AND/OR PRIVATE PORTS(ダイナミック/プライベートポート番号)49152番~65535番
上記のうち、WELL KNOWN PORT NUMBERSは、 使用目的が定められたポート番号であり、 Internet Assigned Numbers Authority (IANA)が管理しています。 先ほど例に挙げたポート番号80番も、 このWELL KNOWN PORT NUMBERSに該当します。 REGISTERED PORT NUMBERSに関しては、IANAが登録を受け付け、 公開しています。 DYNAMIC AND/OR PRIVATE PORTSについては、 誰でも自由に使用できるポートとして開放されています。 なお、 ポート番号の一覧はIANAのWebサイトで見ることができます*。
実際に通信を行う際には、上記の種別を踏まえた上で、 通信プログラムの性質に応じて柔軟にポート番号を使用します。