カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(13)VPC、EC2、ELB、Route 53 を使ってみる

VPC、EC2、ELB、Route 53 と学んできましたので、これらを組み合わせて使って、動作確認をしてみます。

ドメイン名の取得

今回はドメイン名の取得に、「お名前.com」を使います。期間限定で無料のドメインが取得できたり、1円のドメインが取得できたりします。

以下のリンクから、ドメイン名の取得ができます。

ドメイン名取得の手順

お名前.comの管理画面にログインします。

「ドメインを登録する」をクリックします。

使いたいドメイン名を入力し、「検索」をクリックします。入力したドメイン名が実際に使用可能かのチェックを行います。

私の使おうとしているドメインですと、「.work」なら1円で使えますね。期間限定で0円というのもやっています。その時期を狙うのも手です。

今回は1円で進めます。「.work」をクリックして選択します。

「お申し込みへ進む」をクリックします。

内容を確認し、「次へ」をクリックします。

「申し込む」をクリックします。事前にクレジットカード等の登録が必要です。

処理が開始されます。

ドメインの取得は完了です。

ネームサーバーの登録

AWSの管理コンソールに移動し、検索テキストボックスに「Route 53」と入力します。Route 53 が表示されるので、それをクリックします。

Route 53 の管理コンソールが表示されます。

「DNS 管理」をクリックします。

ホストゾーンを作成していきます。

ドメイン名に、先ほど取得したドメイン名を入力します。

タイプは「パブリックホストゾーン」を選択します。

「ホストゾーンの作成」をクリックして、ホストゾーンを作成します。

ホストゾーンが作成されました。

NS(Name Server)のところに表示されているのが、AWSで使用できるネームサーバーです。これをメモします。

お名前.com管理画面のトップに戻り、「ネームサーバーを登録する」をクリックします。

先ほど取得したドメイン名が表示されますので、その名前のチェックボックスにチェックを入れます。

「ネームサーバーの選択」のところで、「その他」タブをクリックします。

「その他のネームサーバーを使う」のネームサーバーのテキストボックスに、先ほどのAWSのネームサーバーを入力していきます。

4つのネームサーバーの入力が完了し、「その他のネームサーバーを使う」が選択されていることを確認し、「確認」をクリックします。

再度、登録内容を確認し、「OK」をクリックします。

画面上部に「完了しました」が表示されれば、ネームサーバーの登録は完了です。これで、AWS側のネームサーバーを使用することになりなります。

レコードの作成

Route 53 の管理コンソールに戻ります。

「レコードの作成」をクリックします。

ルーティングポリシーの画面が表示されます。

今回は「シンプルルーティング」を使用します。「次へ」を押して進みます。

「シンプルなレコードを作成」をクリックします。

レコード名は空白のままにします。

今回はELBを使いますので、「値/トラフィックのルーティング先」で、ELBのインスタンス名を選択します。

「レコードタイプ」はAを選択します。

「シンプルなレコードを作成」をクリックします。

内容を確認し、「レコードを作成」をクリックします。

レコード一覧に、ELBにトラフィックを向けたAレコードが作成されました。これで、kk-test.work 向けに流れてくるトラフィックは、ELBに向かいます。

実際に確認してみましょう。

kk-test.work 向けにPingを打ってみます。返ってくるIPアドレスを確認してみて下さい。ELBのものになっています。

NSLOOKUPでも確認してみましょう。ドメイン名とIPアドレスが表示されますね。

DIGでも確認してみましょう。ドメイン名とIPアドレスが表示されますね。

ウェブサーバーの設定変更

ウェブサーバーにSSHでリモートログインし、HTMLディレクトリーに移動します。

cd /var/www/html

このディレクトリーに、「index.html」というファイルを作成します。

sudo vim index.html

ブラウジングした時に表示させる内容を記入します。

<html>
<body>
Hello World. This is Web-01.<br>
<?php echo 'hoge'; ?>
</body>
</html>

早速、ブラウザーで確認してみましょう。”http://kk-test.wok” にアクセスしてみます。

先ほど、index.html に記入した内容が見えますね。

Route 53 の管理コンソールに戻ります。

「レコードを作成」をクリックします。

シンプルルーティングを選択し、「次へ」をクリックします。

「シンプルなレコードを定義」をクリックします。

レコード名は「www」にします。

「値/トラフィックのルーティング先」は「レコードタイプに応じたIPアドレスまたは別の値」を選択し、テキストボックスにELBのDNS名を入力します。

「レコードタイプ」は「CNAME」を選択します。

「シンプルなレコードを定義」をクリックし、レコードを作成します。

CNAME レコードが作成されました。

レコード一覧にも追加されています。

またブラウザーで確認してみましょう。今度は、「http://www.kk-test.work/index.html」にアクセスします。

index.html の内容が表示されました。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(9)ELB を使ってみよう

最初に、東京リージョンの EC2 に、ウェブサーバーを2台起動させておきます。

今回はWindows2019 サーバーを 2台起動し、手っ取り早くウェブサーバーにしたいので、04 Web Server というフリーソフトを使ってウェブサーバーにしています。

まずは、ELB (Elastic Load Balancer) がどんなものか使ってみたいので、基本的な設定で動かしてみます。

ELB の種類

ELB (Elastic Load Balancer) には3種類あります。選択するときに気をつけるべき点は、以下の通りです。

  • Application Load Balancer (ALB)

バランシング の対象プロトコルがHTTP(S)の時はこれ

  • Network Load Balancer (NLB)

バランシング の対象プロトコルがHTTP(S)以外のTCPまたはUDPの時はこれ

  • Classic Load Balancer (CLB)

EC2-Classicの環境でバランサーを使いたい時はこれ

実際に使われるのはALBかNLBで、CLBは今は使われることはないです。

ELB (Elastic Load Balancer) の作成

東京リージョンの EC2 の管理コンソールにログインします。

左側のメニューの中の「ロードバランシング」から「ロードバランサー」をクリックします。

ELB の管理コンソールが表示されます。

画面上部にある「ロードバランサーの作成」をクリックします。

ロードバランサーの種類を選ぶ画面が表示されます。

今回は NLB(Network Load Balancer)を使ってみましょう。真ん中のロードバランサーの「作成」をクリックします。

ロードバランサーの設定画面が表示されます。

ロードバランサーの名前を入力します。

VPCを選択します。今回は東京リージョンのデフォルトVPCを使います。

次に、ウェイブサーバーが存在するサブネットを選択します。

タグも付けておきます。

セキュリティーのエラーメッセージが表示されますが、今回はHTTPでの基本的な動作確認ですので無視します。画面右下の「次の手順」をクリックします。

ルーティングの設定画面が表示されます。

ターゲットグループの名前を付けます。このターゲットグループというのは、EC2に起動させたウェブサーバー2台をグループ化した名前です。

今回は、ヘルスチェックはそのままで使います。「次の手順」をクリックします。

ターゲットの設定画面が表示されます。

画面下部にインスタンスが見えます。これがEC2に起動したウェブサーバー2台です。両方のチェックボックスにチェックを入れ、その上にある「登録済みに追加」をクリックします。ポートは80のまま利用します。

登録済みターゲットの方に、2つのインスタンスが表示されます。これでターゲットの設定はOKです。「次の手順」をクリックします。

最終ステップです。設定内容を確認します。設定内容に問題がなければ、「作成」をクリックします。

ELBの作成が開始されます。「閉じる」をクリックします。

EC2の管理画面に戻り、ロードバランサーをクリックし、ELBの管理コンソールに戻ります。

状態がProvisioningになっているのが見えますので、状態が完了になるまで待ちます。

ELBの動作確認

通信の宛先の確認をします。

ELBのインスタンスの「基本的な設定」の中に「DNS名」が見えます。これがELBの宛先アドレスのホスト名となります。

このELBのDNS名をブラウザーで指定します。

http://dns-name

MacBookからアクセスすると、ウェブサーバー2号機に接続しています。

次に、Windowsからアクセスすると、ウェブサーバー1号機に接続しています。ロードバランシング成功ですね。送信元IPアドレス毎に、接続先のウェイブサーバーを使い分けています。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(7)Route 53 について

Amazon Route 53 とは

Amazon Route 53 (以下 Route 53) は、AWS が提供する DNS サービスのことです。Web コンソールや API から簡単にドメイン情報やゾーン情報を設定したり管理したり可能となります。

Route 53 は、以下の機能を持つ DNS です。

  • ドメイン管理機能
  • 権威 DNS 機能

権威 DNS なので、自分が保持しているドメイン名以外の名前解決は行いません。また、こういった情報を保持していない DNS を区別して、キャッシュ DNS と呼びます。

また、Route 53 は単にドメイン情報や DNS 情報を管理するだけでなく、ネットワークトラフィックのルーティングや接続先のシステムの状況に応じた接続先の変更も行えます。

Route 53 では、こういったオプションを使って、可用性やレスポンスを高めることができます。

Route 53 の特徴

信頼性

  • 高い SLA(100%と言われている)

この高い信頼性の部分ですが、4つのネームサーバーで構成されているため、4台のサーバが同時に障害になることはないということから、100% としているようです。

コスト

  • 使った分のみのコストで非常に安価

柔軟性

  • 7つのトラフィックルーティングポリシー

ドメインの管理

Route 53 を使って、新規のドメインを取得したり、更新したりの手続きができるため、ドメインの取得からゾーン情報の設定まで、一貫した管理が可能になります。

ドメインの年間利用料は、通常の AWS 利用料の請求に含めることができるため、自動更新機能を使って更新漏れも避けられます。

ホストゾーン

レコード情報の管理単位です。通常はドメイン名となります。

DNS では IP アドレスとドメイン名やホスト名を変換する「アドレス帳」を持っていますが、AWS ではこれをホストゾーンと呼んでいます。

例えば「kkinternal.com」のレコード情報を DNS で管理する場合、「kkinternal.com」がホストゾーンということになる。

レコード情報

「www.kkinternal.com」は「192.168.1.100」という IP アドレスを持つといったような、ドメイン名又はサブドメイン名と IP アドレスを変換するための情報のことです。

一般的な DNS のレコード:

DNS の基本レコードについては、以下のようなものがあります。

  • A レコード:ホスト名に対する IPv4 アドレスを定義(Address)
  • AAAA レコード:ホスト名に対する IPv6 アドレスを定義
  • CAA レコード:ドメインまたはサブドメインの証明書の発行を許可する認証機関 (CA) を定義(Certification Authority Authorization)
  • CNAME レコード:ホスト名やドメイン名の別名を定義(Canonical Name)
  • MX レコード:ドメイン宛てのメールサーバーのホスト名を定義(Mail Exchange)
  • NAPTR レコード: 動的委任発見システム (DDDS: Dynamic Delegation Discovery System) アプリケーションで、1つの値を別の値に変換または置き換えるために使用(The Naming Authority Pointer)
  • NS レコード:ゾーンを管理するネームサーバー名を定義(Name Server) 
  • PTR レコード:アドレスに対するホスト名(逆引き)を定義(Pointer Resource)
  • SOA レコード:DNS サーバの動作を決める基本情報を定義(Start Of Authority)
  • SPF レコード:送信ドメイン認証を定義(Sender Policy Framework)
  • SRV レコード:負荷分散サービスの提供や冗長性の確保、サービスポート番号(Service Location)
  • TXT レコード:ホスト名に関連づけるテキスト情報(文字列)を定義 (Text)

Route 53 が使える DNS レコード:

Route 53 で使用できるレコードは、上記の一般的なレコードの他に、Aliasレコードというものがあります。

  • Alias レコード:CloudFront(AWS が提供する CDN サービス)や ELB,、S3(AWS が提供するオブジェクトストレージの1つ)などといった AWS のリソースを FQDN 指定できる。
CNAME レコードでも同じようなことが可能であるが、Zone Apex にも登録できるという点が CNAME と異なる。

これ、正直なところ、私にはあまりピンときません。DNS に関する深い知識がありませんので。とりあえず、「CNAME レコードでは制限(Zone Apex には登録ができない)があるが、Alias レコードの方にを使うとその制限がない」くらいで理解しておきます(何事も学ぶことを進めていけば、後から分かるようになります!)。

DNS を深く理解している方は、こちらのサイトに違いについていろいろと記述がありますので、読んでみると理解が深まるかもしれません。

Zone Apex とは

ドメインそのものを指します。つまり、「kkinternational.com」が Zone Apex になります(「www.kkinternal.com」などがサブドメイン)。

「kkinternal.com」を S3 のウェブホスティングサービスにアクセスする独自ドメインとして利用したい場合、Route 53 以外の DNS では CNAME の仕様上、登録ができない。

トラフィックルーティングポリシー

DNS の名前解決の問い合わせに対して、どの様に応答するかを決めるルーティングポリシーが 7つあります。

このポリシーについては、トラフィックルーティングポリシーのAWS のサイトをしっかり読むことをお勧めします。

1. シンプルルーティング

  • 標準 DNS のレコードを使用
  • 標準的な 1対1 のルーティング(1つのリソースに対してトラフィックをルーティンング)

2. フェールオーバールーティング

  • アクティブ/スダンバイ方式
  • アクティブ側のシステムへのヘルスチェックが失敗した場合、スダンバイ側システムへルーティング
  • Sorry サーバーを登録しておけば、本番機の障害時に Sorry コンテンツを表示させることができる

3. 位置情報ルーティング

  • ユーザーの位置情報(DNS リクエストの位置情報)に基づき、トラフィックをルーティング
  • 日本からのアクセスは日本語のコンテンツの Web サーバーに接続させることができる

4. 地理的近接性ルーティング

  • リソースの場所に基づき、トラフィックをルーティング
  • トラフィックの発信元の地理的リージョンのサイズをバイアスという値で定義
  • トラフィックをある場所のリソースから別の場所のリソースに移動する際に使用

5. レイテンシールーティング

  • 複数箇所にサーバーが分散されて設置されている場合、遅延が最も小さいサーバーにリクエストをルーティング
  • 特定サーバーだけ高負荷になった場合にリクエストを分散

6. 複数値回答ルーティング

  • 1つのレコードに異なる IP アドレスを複数登録し、ランダムに接続させる
  • 複数のリソースへルーティングするため、ヘルスチェックで NGとなったサーバーにはアクセスをさせない
  • 正常に稼働しているサーバーに対してのみの負荷分散が可能

7. 加重ルーティング

  • 指定した比率で複数のリソースにトラフィックをルーティング(重みを使ってトラフィック負荷を分散)
  • 拠点をまたがってリソースの異なるサーバーが設置されている場合、リクエスト比率を調整することが可能
  • テストのために新しいサービスをリリースしたサーバーに、一定割合のユーザーを誘導するといった使い方もできる

その他の機能

トラフィックフロー

トラフィックルーティングポリシーを組み合わせると、どうしても複雑になってしまいます。

  • ルーティングポリシーを組み合わせることで、さまざまなルーティング環境を構築できる。
  • しかし、各レコード間の設定が複雑になる。

これを管理しやすくするためのツールがトラフィックフローになります。ビジュアル的に分かりやすく組み合わせるためのツールで、複雑なルーティングをビジュアルエディターで構成することが可能になります。

  • 複雑なルーティングをビジュアルエディターで構成することが可能
  • ルールのバージョン管理やロールバックも可能
  • 少々価格が高い(ポリシーあたり 50 USD/月)

DNS フェールオーバー

Route 53 が持つフォールトトレランスアーキテクチャーになります。システムに異常が発生した場合でも、被害を最小限に抑える仕組みを提供します。

稼働中のシステムに障害が発生しウェブサイトの閲覧ができなくなった場合、一時的に接続先を Sorry サーバーに切り替えるといった感じで動作させられます。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)