【AWS入門】Mash式チュートリアル【VPC編 その1~VPC構築とEC2接続確認~】

Mash式AWSチュートリアル VPC編その1 tech

こんにちは、Mashです。


本記事は私自身がAWSをお勉強で触ってみた経験を共有するシリーズ Mash式AWSチュートリアル です。

今回はAmazon VPC編の第1回となります。

多くのAWSサービスはこのVPC上で稼働するため、AWSを利用するうえで根幹となるたいへん重要なサービスです。

ひとつずつポイントをおさえていきましょう。

今回盛りだくさんな内容になっていますが、順を追って進めていただければ以下のような知識を習得できます。

  • Amazon VPCの概要が理解できる
  • Amazon VPCの最低限の作成ができるようになる
  • VPC上にEC2を構築して、接続確認ができるようになる

何度も読み返してバッチリ習得してください!

What is Amazon VPC?

まずはVPCに関する基本的な知識を整理していきましょう。

VPCとは

正式名称は Virtual Private Cloud で、頭文字3文字をとって VPC と略します。

VPCは、各利用者ごとに仮想的に隔離された、プライベートなネットワーク空間を提供するサービスです。要は「AWS」という同じサービスを利用しているにも関わらず、自分で作成したネットワーク領域が別の利用者が作成した領域と干渉することなく使えるという感じです。

VPCはそれぞれ隔離されたネットワーク領域

利用料金

VPCに関する追加サービスで有料のものはありますが、本記事で作成するVPC、サブネット、インターネットゲートウェイは無料サービスとなっています。

EC2は有料ですが、AWSアカウント作成後1年間は無料枠が利用可能ですので、本記事の内容を消化するくらいでは課金されることはありません。

料金 - Amazon EC2 | AWS
Amazon EC2 インスタンスの 4 つの支払い方法について説明します。オンデマンド、リザーブドインスタンス、スポットインスタンスという 3 つの方法のほか、Dedicated Hosts に対して支払うこともできます。

AWSのグローバルインフラストラクチャ

AWSサービスを利用するにあたり、まずは自身のネットワーク領域(VPC)を どこに どのように 構築するか検討するわけなんですが、これらを考える上で切っても切り離せないのが リージョンアベイラビリティゾーンです。

公式ページはこちら

リージョン

AWSでは顧客のシステムを柔軟にグローバル展開できるよう、北米、南米、欧州、中国、アジアパシフィック、南アフリカ、中東など地理的に離れた様々な国でサービス拠点を提供しています。

これらグローバルに点在している拠点のことを リージョン と呼びます。

なお、日本には東京リージョンと大阪リージョンの2拠点がありますが、大阪リージョンの利用には特別な申請/承認が必要なので基本的には東京リージョンを利用することになります。

本ブログではなにか理由がない限り、東京リージョンを利用して検証を進めています。
サービス仕様や料金などがリージョン毎に異なる可能性があるためご注意ください。

アベイラビリティゾーン

各国のリージョンには、論理的なデータセンター(サーバを安全に置いておくためのビルと思ってください)が点在しています。

この論理的なデータセンターのことを アベイラビリティゾーン(AZ) と呼び、各リージョンには複数のAZが存在します。

で、利用者があまり意識することはないのですが、AZは実は複数の物理的なデータセンターから構成されています。そのため「論理的な」という表現になっています。

仮に、ひとつのデータセンターで電源供給が停止!といった障害が発生しても、AZとしてはサービス提供が可能な設計となっているわけですね。

図示してみた

さて、文字だけだとわかりずらいのでリージョンやAZ、そしてVPCの概念を図示しましょう。

リージョンとAZ、VPCの関係

四角い枠がいっぱいあって見づらいかもしれませんが、ポイントは以下です。

  • いちばん大きい枠がAWSというサービスそのものである
  • AWSには、世界各国にサービス拠点(リージョン)がある
  • リージョンは、複数のAZで構成されている
  • AZは、複数のデータセンターで構成されている
  • VPCは、リージョン単位で構成する(複数作成可)
  • VPCは、複数のAZをまたぐことができる
  • VPCは、互いに独立している(VPC同士を接続するサービスもあります)

AWSは Design for Failure 、つまり「故障を前提に設計せよ」の原則を提唱しています。

AWSが提供しているインフラストラクチャをうまく利用することで、AWS利用者は自社サービスに求められるレベル感に応じてマルチAZ / マルチリージョン構成をとることができ、オンデマンドで柔軟に耐障害性を高めることが可能となっています。

ちなみにおまけですが、リージョンやAZがどこにあるかが直感的にわかる超カッコいい公式ページがあるのでURLリンクを貼っておきますね。

Global Infrastructure Regions & AZs

私のPCはこのサイトを開いたとたんCPUクーラがゴーゴー言い出します。笑

VPCを動かしてみる

それでは実際にVPCを構成してみましょう。

といっても、VPC自体はただのネットワーク領域なので、VPC上でAWSの仮想サーバサービスであるEC2を起動するまでを目標に進めていきます。

VPCを作成する

VPCを作成する方法として「VPCウィザード」という、よくあるVPC構成を簡単に作成できるツールもあるのですが、今回はVPCの構成要素を理解することが目的ですのでVPCウィザードは利用せずに進めます。

VPCの作成

VPC作成の前に、AWS管理コンソールへログイン後、画面右上のリージョン選択が [東京] となっていることを確認してください。

リージョン選択

リージョンが東京となっていることが確認できたら、AWS管理コンソールからVPCページへアクセスし、左側メニュー [VPC] を選択、そして [VPCの作成] ボタンをクリックします。

VPCの作成

VPCの作成 画面で必要な定義を入力していきます。今回は以下のようにして進めます。

設定項目設定値
名前タグmash-vpc (好きな値でOK)
IPv4 CIDRブロック 10.0.0.0/16
IPv6 CIDRブロック IPv6CIDRブロックなし
テナンシーデフォルト
タグ追加なし
VPC設定

CIDR については、AWS用語ではないので今回は参考サイトのご紹介だけで進めます。

Error 403 (Forbidden)|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
403エラーページです。用語の意味を「ざっくりと」理解するためのIT用語辞典です。

VPCで定義するCIDRは、/16 以上 /28 以下 という制限があります。これに則していない場合はこのようなエラーとなりVPC作成を進めることはできません。

CIDR定義エラー

設定値に問題なければVPCがさくっと作成されます。

VPC作成

この時点では以下のイメージ図のように、東京リージョンにVPCが作成された状態となっています。

VPC作成完了

サブネット作成

続いて サブネット を作成します。

サブネットは、大きなネットワークを細かく区切った領域のことを意味します。サブネットそのものについてもAWS用語ではないため参考サイトのご紹介とさせていただきます。

AWSでは、VPC(大きなネットワーク領域)をサブネットで区切っていくことになります。

Error 403 (Forbidden)|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
403エラーページです。用語の意味を「ざっくりと」理解するためのIT用語辞典です。

画面左側メニュー [サブネット] を選択し、[サブネットの作成] をクリックします。

サブネットの作成

サブネットの作成 画面で必要な定義を入力していきます。今回は以下の通りにして進めます。

設定項目設定値
名前タグmash-public-subnet01
VPC※さきほど作成したVPCのID
 リストが表示されるためIDを覚えておく必要はありません
アベイラビリティーゾーンap-northeast-1a
IPv4 CIDRブロック10.0.0.0/24
サブネット設定

ap-northeast が東京リージョンを意味するリージョンコードで、東京リージョンにはAZが1a、1c、1dの3つあります。今回は1aを選択しています。

ここでわかるようにサブネットはAZと紐づきますAZをまたいで作成することはできません

またCIDRブロックについては管理のしやすい /24 で指定しています。(このあたりはネットワーク知識になるので詳細割愛。。。)

各パラメータに問題がなければサブネットもサクッと作成されます。

サブネット作成

ここまでの状態を図示するとこのようになります。

AZ 1aにサブネットが作成されています。

サブネット作成完了

ここで一つだけ、サブネットに対して追加設定をします。作成したサブネットを選択した状態で [アクション] から 自動割り当てIP設定の変更 をクリックします。

IPアドレス自動割り当て設定の変更

遷移した画面で IPv4の自動割り当て にチェックを入れて保存しておいてください。

IPアドレス自動割り当て

この設定は、EC2を作成する際に自動的にパブリックIPアドレス(インターネットと通信するためのIPアドレス)を割り当てる設定です。

無効でもかまわないのですが、あとあと面倒なのでここで有効にしておきましょう。

インターネットゲートウェイの作成

さて、サブネットまで作成できたのでEC2を構築、、、

といきたいところですが、この状態で mash-public-subnet01 にEC2を構築してもインターネット経由でアクセスできません

そこで登場するのが インターネットゲートウェイ (IGW)です。

IGWは、インターネットからVPC内 / VPC内からインターネット の通信を介在してくれるコンポーネントです。

ここからはIGWを作成していきます。

AWS管理コンソールでVPCページにアクセスしているかと思いますので、左側メニュー [インターネットゲートウェイ] を選択し、[インターネットゲートウェイの作成] ボタンをクリックします。

インターネットゲートウェイの作成

IGWを作成する際は、特別なパラメータはありません。

お好きな名前をつけて作成しましょう。

IGW設定

IGWが作成されました。まだ「作成しただけ」なので、VPCとの関連付けをする必要があります。

[VPCへアタッチ] をクリックします。

IGW作成

関連付けるVPCをリストから選択して進めればOKです。

VPC選択

IGWがVPCにアタッチできました!

IGWアタッチ完了

サブネットのルーティング設定

あともう一歩です。

VPCとインターネット間の入口/出口が作成できましたので、あとは道路を整備してあげる必要があります。

そう、ルーティングの設定ですね。AWSではサブネット単位でルーティング設定を行います。

AWS管理コンソールの左側メニュー [サブネット] から、さきほど作成したサブネットにチェックを入れた状態で画面下部 [ルートテーブル] タブを選択します。

そして、ルートテーブルと書かれた右側に記載のあるIDがリンクになっていますので、こちらをクリックします。

ルートテーブルタブ

すると、ルートテーブルの画面に遷移します。

画面下部[ルート] タブを選択し、[ルートの編集] をクリックします。

ルートタブ

[ルートの追加] ボタンをクリックすると新しい行が追加されますので、送信先を 0.0.0.0/0ターゲットをIGWとします。

入力が完了したら [ルートの保存] をクリックします。

ルート設定

ここで追加した0.0.0.0/0は、「すべてのIPアドレス」を意味します。
今回の場合は、10.0.0.0/16宛以外の通信はすべてIGW向けに送信される という設定になっています。

VPCを利用する上で最低限必要になる作業は以上になります。おつかれさまでした!

ここまでの作業で構築できた環境を図示しますね。

IGW作成とルーティング設定によって、インターネットとサブネット間で通信できるようになりました。

IGW作成完了

※AWS Cloudの外枠はもう不要なので削除しています

EC2を作成する

ようやくここまできました。笑

それではお待ちかね。作成したVPCネットワーク上に仮想サーバであるEC2を構築してアクセスしてみましょう。

EC2の詳細については別途EC2編でご説明します。
ここでは稼働確認のための手順だけご紹介します。

まずAWS管理コンソールから EC2ページ へアクセスし、[インスタンスを起動] ボタンをクリックします。

インスタンスを起動

AMI選択画面では Amazon Linux 2 を選択します。おそらくいちばん上に表示されているかと思います。

AMIの選択

インスタンスタイプの選択 ではデフォルトのまま t2.micro を選択して [次のステップ] をクリックします。

インスタンスタイプの選択

インスタンスの詳細の設定 では、

  • ネットワーク がDefaultとなっているはずなので、作成したVPCへ変更
  • 自動割り当てパブリックIP有効 となっていることを確認

この2点だけ確認して [次のステップ] をクリックします。

インスタンスの詳細の設定

ストレージの追加 はそのまま [次のステップ] をクリックします。

ストレージの追加

タグの追加 では、EC2の名前だけつけておきましょう。

キーをName、値をお好きな名称にして [次のステップ] をクリックします。

EC2に名前を定義

セキュリティグループの設定 では、新しいセキュリティグループを作成する が選択された状態でOKです。

セキュリティグループ名と説明文は任意のもので構いません。

新しいセキュリティグループを作成

インスタンス生成の確認 画面で警告が表示されます。

「外部に公開されちゃってるけど大丈夫?」という警告です。本来はもっとセキュリティを強固にする必要がありますが、今回はテスト目的ですので問題ありません。 [起動] ボタンをクリックします。

SG警告

EC2へ接続するためのキーペアをどうするか聞かれます。

EC2作成がはじめての場合は、新しいキーペアの作成 を選択して、キーペア名欄にお好みの名前を入力して [キーペアのダウンロード] をクリックします。

ファイルがダウンロードできたら [インスタンスの作成] ボタンをクリックします。

キーペア作成

ダウンロードしたキーペアファイルをなくしてしまうとEC2へ接続できなくなりますのでご注意ください。
また、このファイルを他人に譲渡してはいけません。

以上でEC2の作成が開始します。「次のインスタンスの作成が開始されました」の右側リンクをクリックします。

インスタンス作成中

EC2一覧画面に遷移します。

EC2が稼働するまでに少し時間がかかりますが、インスタンスの状態 が実行中になります。

EC2ステータス

作成したEC2をクリックして選択状態にすると、画面下部にいろいろと情報が表示されます。

  • 意図したサブネットに所属していること
  • プライベートIPv4アドレスが、指定したサブネットの範囲内であること
  • パブリックIPv4アドレスが割り当てられていること

このあたりが確認できればOK。

EC2の詳細情報

EC2の作成は以上です。

ここまでで下記のような環境になりました。

EC2作成完了

インターネット経由で接続してみる

それではEC2へSSH接続してみましょう。私はWindowsを使用しているため、Teratermというソフトをつかって接続します。

手順はクラスメソッドさんのブログをお借りします!(手抜きすんません)

【初心者向け】Amazon EC2にSSH接続する【Windows、Macintosh】 | DevelopersIO
森永です。 色んな情報が飛び交っているここDevelopers.IOですが、基礎中の基礎みたいな内容が抜けていたりします。 EC2へSSH接続するというのは、慣れた人からすれば当たり前かもしれませんが、私が初めてAWSを …
EC2へSSH接続

つながりましたー!バッチリですね。

ここでチュートリアルを終える方はEC2の停止をお忘れなく!
AWSには一定の無料枠がありますが、ムダな請求が来てしまう可能性があります。

まとめ

今回の記事でVPCの基本的なセットアップ手順とEC2への接続確認まで体験できました。

ひとまずリージョン / AZ / VPC / サブネット の関係性がイメージできて、頭の中で構成図が描けるようになっていればうれしいです。

今回ご紹介した内容はほんとうに最低限の状態となっているため、次回以降少しずつ実践的なVPC構成に拡張してきたいと思います。

今回は以上です。

それじゃあまたね。

タイトルとURLをコピーしました