1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSでネットワークを構築してみた。

Last updated at Posted at 2024-02-04

内容
・目標
・使用できるサービス
・参考サイト
・作業アカウント
・VPC作成とインターネット接続環境の作成
・ルートテーブルによる経路設定を理解
・プライベートサブネットからインターネットへのアクセス方法
・VPC外サービスへの接続方法(説明)
・VPC外サービスへの接続方法1(インターフェイス型)
・VPC外サービスへの接続方法2(ゲートウェイ型)
・後片付け
・結果

目標

AWS SAA合格と実務でしっかりやっていけるように学習!前回の学習のなかで、マルチAZ、サブネット、プライベート、パブリックといった環境に慣れるため必要性を感じたため、本題材を選択。

使用できるサービス

VPC,Internet gateway,NAT gateway,Endpoint,EIP,EC2,S3,IAM Role

参考サイト

作業アカウント

IAMユーザー(全権限付与済み)「み」だけひらがなw

VPC作成とインターネット接続環境の作成

最終目標
image.png

VPC作成
image.png

image.png

image.png

サブネットの作成
image.png

先程作成したVPCを選択してあげる。
image.png

次の要領を例に構成に従いサブネット作成
(構成)
image.png

(例)Publicサブネット
image.png

(例2)Privateサブネット
image.png
image.png

インターネットゲートウェイ(IGW)作成とアタッチ
image.png

image.png

まだデタッチ
image.png

アタッチ!!!
image.png
image.png

ルートテーブルによる経路設定を理解

現状、サブネットはネーミングだけで分かれている。
ルーティングでPub、Priを分けていく。
サブネットが分かれている時点で、サブネットの役割はできているが、内向き、外向きの概念も併せて考える。
image.png

image.png

image.png

Public完成図
image.png

最初にPublicサブネットからインターネットゲートウェイ(IGW)を介してVPC外に接続するので、デフォルトルートに向けておく。
image.png

Privateルートはデフォルトルートを設定しない。そして名前を変えてあげる。
image.png

image.png

VPCのメインルートにセットされている状態から、各ルートに、サブネットをセットしていく。
image.png

こんな感じ
image.png

今こんな感じ
image.png

IAMロールの作成
image.png

image.png

image.png

image.png

image.png

ロール名はお好きに。(本来は構成図に従う。)
image.png

image.png

EC2を作成する。
image.png

image.png
image.png
image.png
image.png

構成図に従いPub-aをセットする。
image.png
画質悪いのごめんなさい(泣)

image.png

外に繋げるのでパブリックIPを付与します。
image.png

ここではデフォルトのセキュリティグループを作成
image.png

後でHTTPで繋ぐので次のとおり設定
image.png

ストレージ設定についてハンズオンで学べることは、 EC2のデフォルトはgp3であって、問題なく使用できる優れものということ。
概要としては、
gp3は、gp2に比べてスループット性能が良い。料金も比較すると多少高い。
image.png

IAMロールは作成したものを設定
image.png

EC2を起動した時点でwebと接続できる設定となるようユーザーデータ欄に設定

#!/bin/bash

yum -y update
yum -y install httpd
systemctl enable httpd.service
systemctl start httpd.service

パブリックIPアドレスをコピーしてブラウザから確認
image.png

image.png
稼働しています!

image.png

プライベートサブネットからインターネットへのアクセス方法

以降は下の図のように、プライベートサブネット内から外部に接続する。
具体例としては各ソフトのアップデートは外部と接続して取得したいけど、インバウンドは許しません。という設定を行っていく。
image.png

NATゲートウェイで実現します。
image.png

EC2を作成する。
image.png
image.png
image.png

セキュリティグループは作成したものを設定します。
image.png
image.png

作成したロールを設定しましょう。
image.png

NATゲートウェイを作成する。
image.png
image.png

構成に従い、Pub-cにNATゲートウェイを作成します。
image.png

EIPを設定します。
image.png
NATゲートウェイ作成完了!
image.png

再度、構成確認
PriにNATゲートウェイへのルートを設定します。
image.png

ルート編集
image.png
image.png
編集完了!
image.png

疎通確認
EC2に移動し、SSMに直接接続することで、疎通を確認します。
この画面にエラーが表示されていない時点で、問題なく接続できる状態!!
接続をクリックした場合、SSMのbashを入力できる画面に遷移する。
つまり、疎通完了です。
image.png
外に繋がっていないPriから、Pubに設置したNATゲートウェイを経由し、VPC外にあるSSM(AWS Systems Manager)に接続できたということ。

ちなみに、SSMってVPC外に設置しているし(インターネット上)、SSHの設定をせずともサーバーに繋ぐこともできるし、不安要素が多い気がしたのですが、「暗号化通信に加え、トンネル接続、ログも収集可能」ということで安心しました。あまりに簡単に接続できたため調べちゃいましたw

VPC外サービスへの接続方法(説明)

次は、NATではなく、インターフェイス型という方式で、VPC内のサブネットとSSMを接続していきます。器用な接続方法によってVPC外と接続するよりレイテンシー良く接続可能。
なお。S3、dynamoDBはゲートウェイ型というルーティングを行う接続方式を無料で利用することができる。
image.png

VPC外サービスへの接続方法1(インターフェイス型)

Priに設定しているNATゲートウェイ向きのルートのみ削除する。
NATゲートウェイ自体の削除ではない。
image.png
image.png

インターフェイス型で外に出るということでDNS設定を有効にする。
image.png
image.png

外に出るのでセキュリティグループを設定する。
image.png
既存のVPCを設定し、グループ名を任意で設定
image.png
HTTPSで接続するため、これに合わせてアウトバウンド設定
現在作成している構成を再確認。VPCのネットワークを指定する。
image.png
image.png

エンドポイント(接続口)の設定
3種類の設定を行う必要がある。
image.png
1種類目
任意の名前を付ける。
image.png
image.png
VPCは既存のVPCを指定
image.png
構成図を再確認し、Pub-cから外に接続することを確認する。
image.png
image.png
先程作成したセキュリティグループを選択する。
見づらい(笑)
image.png
image.png
image.png

2種類目
名前は、1種類目とは違う名前を付与する。
image.png
image.png
既存VPCを指定
image.png
image.png
image.png
image.png

3種類目
image.png

EC2で検索
image.png
image.png
image.png
image.png
image.png
必要な3種類の設定ができましたー
image.png

蛇足:
VPCエンドポイントを作成する際のコンソールに「サービス」とだけ書かれていてもわからんです(泣)
なので調べた結果はというと、外と接続する上で必要な「サービス」を受ける必要があるのです。amazonが提供してくれている「ssm(接続許可)」や「ssmmessages(セッションの設定・削除)」、「ec2messages(Systems Managerの呼出)」といったサービスを受けることで、接続できるので、設定するのです。
公式サイト:
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html

またまた、ここでふと、今の設定であるとPubにはデフォルトルートが設定されているので、IGWからとPrivateLink(今設定しているエンドポイント。)からの2つのルートで外に繋がる手段があるのではと考えたため、Pubのデフォルトルートを消し去ります。
そうすることで、PrivateLinkがちゃんと機能しているか正確に確認できるという考えです(p_-)
image.png
ここでデフォルトルートを消した後に、SSMに接続して疎通確認を致します。
EC2に移動します。
image.png
いけたー!
image.png

VPC外サービスへの接続方法2(ゲートウェイ型)

次はゲートウェイ型、つまりルーティングで外に繋ぎます。料金も無料!S3とDynamoDBで使用可能!
image.png

準備1 S3を作成
準備2 既にあるIAMロールにポリシーを追加する。

S3作成開始!
image.png
image.png
バケット名はお好みで。一意である必要がある。
image.png
image.png
image.png
image.png
image.png

既に存在するIAMロールにポリシーを追加する。
image.png
image.png
image.png

エンドポイントを追加していきます。
インターフェイス型ではサブネットに直接接続していましたが、ゲートウェイ型はルーティングで外と繋がります。
image.png
image.png
既存VPCを選択
image.png
image.png
image.png
これでEC2に移動し、SSMで接続することができれば、接続できています。
スクショ残していませんが(大泣)本記事のとおりすれば繋がりますw

後片付け

VPCの画面からエンドポイントを削除していきます。
image.png

S3削除
image.png

EC2削除
消えるまで多少時間がかかります。
image.png
image.png

セキュリティグループの削除
デフォルト以外消します。
image.png

IAMロールもssmで検索をかけて削除
image.png

VPC画面に移動し、NATゲートウェイを削除
image.png

EIPを削除
image.png

デフォルトを残しVPCを削除
image.png
後片付け完了!

結果

勉強になりました。コンソールの使い方や、一部ではありますが、サービスに触れて理解が深まりました。継続して学習します!

では!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?