Amazon EC2 自分の好きなプライベートアドレスサブネットに作成

この設定でできる事

Amazon EC2内にインスタンスを稼働させ、そのプライベートアドレスを、こちらで指定したサブネット、IPアドレスを利用させることができます。

現在、オンプレ環境で利用しているサーバ類をそのまま、クラウドにあげ、そのネットワーク構造体のままクライアントにアクセスさせたい時に利用します。

  • DMZで利用中のIPアドレス体系をそのままサブネットに反映
  • サーバも指定のIPアドレスを利用するように設定

VPC

Amazon Virtual Private Cloud (VPC) は、定義した論理的に分離された仮想ネットワークで AWS リソースを起動できるようにするサービスです。

ネットワークの塊というより、クラウドサーバ(ネットワークを含む)類の塊を作るイメージといったら伝わりますでしょうか?

VPCの作成

VPCを作成ボタンを押します。

VPCのみ作成する事や、VPCに合わせてサブネットも一緒に作成してくれる機能もあります。サブネットも一緒に作成すると、合わせてルートテーブルや、ゲートウェイもできるので、あまりネットワークの事を気にしなくても外部から接続できるVPCを作成する事ができます。

ここで、VPCのみを選択すると、サブネットなど自分で作成する自由度は上がりますが、AWSのネットワーク構成構築の基本的なところが分かってないと、EC2で作成した、インスタンスにもインターネットからアクセスできないなどになります。

サブネットの数も自動で2つずつできます。

DNSオプションもここで有効にできるので、一つ一つ入って設定するより楽に作成可能です。

配置図ができるので、ここを見ると何となくわかった気になります。

VPCの中に、サブネットがリージョンごとにパブリックと、プライベートに作成されます。ルート的にインターネット出口は同一セグメントに作成され、プライベートはそれぞれ別々に構成されます。パブリック側は、インターネットゲートウェイから外部にアクセスできるようになります。

ここでは、VPCのみ作成してみます。

ルートテーブルに違いが出る

サブネットまで一緒に作成した場合と、VPCのみ作成したときの違いはルートに出てきます。この辺が理解できていないと、インスタンスができてもインターネットからのアクセス不可で何も操作できない感じになります。

作成したメインルートテーブルをクリック

サブネットまで作成した場合、送信先は0.0.0.0/0どこへでもOKという形でインターネットゲートウェイが作成されます。

VPCのみ作成した場合は、ゲートウェイは作成されていません。

ゲートウェイを作成

インターネットゲートウェイを作成し、

指定したVPCにアタッチしておきます

設定したいVPCにアタッチ

自分が作成したサブネットに所属させると、インターネットゲートウエイが作成されずグローバルIPアドレスを取得していても、インターネットに出る事ができません。

VPC → ルートテーブル → [ルートを指定して] → ルートを編集

にて、ターゲット:インターネットゲートウェイを選択すると、先ほど作成したインターネットゲートウェイが出てきます。

これをやっておかないと、VPCにゲートウエイがない状態です。

インスタンスのパブリックIPv4アドレスが割り当てられているのに、いざ接続しようとしても、接続できない状態になります。上記のゲートウェイを追加したら接続できるようになりました。

サブネットの作成

VPCの中で、横のメニュー→サブネットをクリックし「サブネットを作成」ボタンをクリックします。

作成したVPCに紐づけます

IPv4 CIDR ブロック 192.168.1.0/24を作成します。

EC2でインスタンスを起動

インスタンスを起動というのが、インスタンスを作成するという意味になります。

EC2ダッシュボードから

無料利用枠で利用できるWindows Server 2019 Baseを稼働させます。

ここで作成するキーペアは重要で、後にリモートデスクトップ接続する時のパスワードを取得するために利用します。

ネットワーク設定で、作成したVPCを指定します。

セキュリティグループはファイヤーウォールの設定みたいなもんです。どこから接続ができ、どこへ接続ができるかを設定できます。

3389ポートに対して、インターネットのどこからでもアクセス可能というセキュリティグループを作成します。

高度なネットワーク設定を開くと、ネットワークインターフェース作成画面にてIPアドレスを指定する事が可能です。

インスタンスを起動すると、正常に起動しました。

WindowsServerにRDP接続します

インスタンスに接続します。

この時に、作成したキーペアを利用し、パスワードを取得します。

ローカルIPアドレス

192.168.1.50

をもったサーバが構築できました。

パブリックIPv4DNSを有効にしたい

上記の方法でサーバを構築すると、パブリックIPv4 DNSは有効になっておりません。これを有効にするためには、

VPCの設定を変更する必要があります。

DNSホスト名を編集をクリックし、DNSホスト名を有効化します。

すると、パブリックIPアドレスを持つインスタンスと対応するパブリックDNSホスト名を取得できるようになります。

RDSには2つのAZが必要

ご指定になった DB インスタンス testdb01 の作成リクエストは実行されませんでした。

The DB subnet group doesn’t meet Availability Zone (AZ) coverage requirement. Current AZ coverage: us-west-1a. Add subnets to cover at least 2 AZs. (Service: AmazonRDS; Status Code: 400; Error Code: DBSubnetGroupDoesNotCoverEnoughAZs; Request ID: 664248d6-994b-4ac0-8636-00d81503ee47; Proxy: null)

azとは

アベイラビリティゾーン (AZ) とは、1 つの AWS リージョン内でそれぞれ切り離され、冗長的な電力源、ネットワーク、そして接続機能を備えている 1 つ以上のデータセンターのことです。

これが必要になるのは

Amazon RDS マルチ AZ 配置では、Amazon RDS はプライマリデータベース (DB) インスタンスを自動的に作成し、データを別の AZ のインスタンスに同期的にレプリケートします。障害を検出すると、Amazon RDS は手動の介入なしにスタンバイインスタンスに自動的にフェイルオーバーします。

Amazon RDS マルチ AZ

この機能があるためではないかと考えられます。

このため、少なくとも2つのAZがあるVPCでなければ、作成できないと言っているかと。