おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-Route53-フェイルオーバー

今回のテーマ:フェイルオーバー

概要

構成図

f:id:In-houseSE:20210620143930p:plain

実際の手順

プライマリー側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成してドメイン名の順に選択し、レコードを作成をクリック

f:id:In-houseSE:20210620143742p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:東京側のEC2パブリックIP
レコードID:任意のID(ユニークにしてください。)
ルーティングポリシー:フェイルオーバー
フェイルオーバーレコードタイプ:プライマリー
ヘルスチェック:東京側のインスタンスヘルスチェック

f:id:In-houseSE:20210620144331p:plain

セカンダリー側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成してドメイン名の順に選択し、レコードを作成をクリック

f:id:In-houseSE:20210620143742p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:大阪側のEC2パブリックIP
レコードID:任意のID(ユニークにしてください。)
ルーティングポリシー:フェイルオーバー
フェイルオーバーレコードタイプ:セカンダリー
ヘルスチェック:大阪側のインスタンスヘルスチェック

f:id:In-houseSE:20210620144542p:plain

動作確認

  • ブラウザよりドメイン名を使用しWEBアクセスをします。

f:id:In-houseSE:20210620145028p:plain

コマンド

systemctl stop httpd.service
  • 状態を確認します。

コマンド

systemctl status httpd.service

結果

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2021-06-20 14:52:42 JST; 7s ago
     Docs: man:httpd.service(8)
  Process: 2857 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS)
 Main PID: 2857 (code=exited, status=0/SUCCESS)
   Status: "Total requests: 339; Idle/Busy workers 100/0;Requests/sec: 0.361; Bytes served/sec: 210 B/sec"

Jun 20 14:36:55 ip-10-0-5-145.ap-northeast-1.compute.internal systemd[1]: Sta...
Jun 20 14:36:56 ip-10-0-5-145.ap-northeast-1.compute.internal systemd[1]: Sta...
Jun 20 14:52:41 ip-10-0-5-145.ap-northeast-1.compute.internal systemd[1]: Sto...
Jun 20 14:52:42 ip-10-0-5-145.ap-northeast-1.compute.internal systemd[1]: Sto...
Hint: Some lines were ellipsized, use -l to show in full.
  • ブラウザよりドメイン指定でアクセスし、DNSのF/O中の状態を確認します。

f:id:In-houseSE:20210620145401p:plain

  • F/O後の結果を確認します。

f:id:In-houseSE:20210620145532p:plain

今回のテーマは以上です。

補足: 今回作成したDNSならびにインスタンスの削除を忘れずに対応しておくと想定外の費用にはならないと思います。

SAA学習-Route53-マルチバリュールーティング

今回のテーマ:マルチバリュールーティング

概要

  • ヘルスチェック機能の設定
  • マルチバリュールーティングの設定
  • ドメイン名でWEBページが表示されることを確認

実際の手順

作成時、Aレコードを削除しておいてください。

ヘルスチェックの設定

  • マネージメントコンソール-Route53-ダッシュボードよりヘルスチェックの作成をクリック

f:id:In-houseSE:20210620093310p:plain

* ヘルスチェックの環境設定は以下の設定を記入し、次へをクリック(サーバー1台単位で作成が必要となります。)

設定:

名前:任意の名前
モニタリングの対象:エンドポイント(サーバー自身を指定する場合)
エンドポイントの指定:IPアドレス
IPアドレス:東京側のEC2のパブリックIP
パス:index.html

f:id:In-houseSE:20210620093804p:plain

  • ヘルスチェックが失敗したい際のアラームを受け取るか選択し、ヘルスチェックの作成をクリック(実務ではアラームを受け取った方がよいですが検証ようなのでいいえにしてます。)

f:id:In-houseSE:20210620094003p:plain

  • 同様に大阪側のEC2インスタンス用のヘルスチェックを作成するため、ヘルスチェックの作成をクリック

f:id:In-houseSE:20210620094146p:plain

  • ヘルスチェックの環境設定は以下の設定を記入し、次へをクリック(サーバー1台単位で作成が必要となります。)

設定:

名前:任意の名前
モニタリングの対象:エンドポイント(サーバー自身を指定する場合)
エンドポイントの指定:IPアドレス
IPアドレス:大阪側のEC2のパブリックIP
パス:index.html

f:id:In-houseSE:20210620094244p:plain

  • ヘルスチェックが失敗したい際のアラームを受け取るか選択し、ヘルスチェックの作成をクリック

f:id:In-houseSE:20210620094328p:plain

  • ヘルスチェックが有効にな状態で確認できるまでしばらく待ちます。

f:id:In-houseSE:20210620094500p:plain

マルチバリュールーティングの設定

東京側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック
値:東京側のEC2パブリックIP
ルーティングポリシー:複数値回答
レコードID:任意のID(ユニークにしてください。)
ヘルスチェック-東京用のヘルスチェック

f:id:In-houseSE:20210620094842p:plain

大阪側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック
値:大阪側のEC2パブリックIP
ルーティングポリシー:複数値回答
レコードID:任意のID(ユニークにしてください。)
ヘルスチェック-大阪用のヘルスチェック

f:id:In-houseSE:20210620094930p:plain

動作確認

f:id:In-houseSE:20210620095053p:plain

  • Route53-ヘルスチェックより該当するインスタンスに対するヘルスチェックが異常と検出されていることを確認します。

f:id:In-houseSE:20210620095511p:plain

  • WEBサイトが切り替わっていることを確認します。

f:id:In-houseSE:20210620095542p:plain

今回のテーマは以上です。

補足事項: ヘルスチェックで異常と検出される前にサイトが切り替わりの動作確認ができる状態となりますが、
機能確認するため動作確認の方法で実施しました。

SAA学習-Route53-位置情報ルーティング

今回のテーマ:レイテンシールーティング

概要

  • 位置情報ルーティングを設定
  • ドメイン名でWEBページが表示されるか確認する

実際の手順

作成時、Aレコードを削除しておいてください。
一つの国に対しAレコードを設定となるため同じ国の指定ができないことを留意する必要があります。

東京側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:東京側のEC2パブリックIP
ルーティングポリシー:位置情報
レコードID:任意のID(ユニークにしてください。)
場所:日本

f:id:In-houseSE:20210620090008p:plain

大阪側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:大阪側のEC2パブリックIP
ルーティングポリシー:位置情報
レコードID:任意のID(ユニークにしてください。)
場所:韓国

f:id:In-houseSE:20210620090154p:plain

今回のテーマは以上です。

SAA学習-Route53-レイテンシールーティング

今回のテーマ:レイテンシールーティング

概要

実際の手順

作成時、Aレコードを削除しておいてください。

東京側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:東京側のEC2パブリックIP
ルーティングポリシー:レイテンシー
レコードID:任意のID(ユニークにしてください。)
リージョン:アジアンパシフィック(東京)

f:id:In-houseSE:20210620083359p:plain

大阪側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620083145p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:大阪側のEC2パブリックIP
ルーティングポリシー:レイテンシー
レコードID:任意のID(ユニークにしてください。)
リージョン:アジアンパシフィック(大阪)

f:id:In-houseSE:20210620083533p:plain

今回のテーマは以上です。

補足事項:
動作確認時び場所によって低レイテンシーになるリージョンを選定されるため、
別のリージョンに切り替わったか確認する場合はVPNなどで接続で別のロケーションからアクセスするようにする必要があります。

SAA学習-Route53-加重ルーティング

今回のテーマ:加重ルーティング

主要サービスの公式資料

加重ルーティング:

docs.aws.amazon.com

概要

  • 加重ルーティングを設定する
  • ドメイン名でWEBページが表示されるか確認する

構成の概略は以下のようにします。

f:id:In-houseSE:20210620080016p:plain

実際の手順

作成時、Aレコードを削除しておいてください。

東京側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック

f:id:In-houseSE:20210620074822p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:東京側のEC2パブリックIP
ルーティングポリシー:加重
重量:75
レコードID:任意のID(ユニークにしてください。)

f:id:In-houseSE:20210620081036p:plain

大阪側の設定

  • マネージメントコンソール-Route53-ホストゾーン-作成しているドメイン名を選択し、レコードを作成をクリック)

f:id:In-houseSE:20210620074822p:plain

  • 以下の値で設定し、レコードを作成をクリック

設定:

値:大阪側のEC2パブリックIP
ルーティングポリシー:加重
重量:25
レコードID:任意のID(ユニークにしてください。)

f:id:In-houseSE:20210620080950p:plain

動作確認

  • ドメイン名をコピーし、ブラウザより検索します。

f:id:In-houseSE:20210620081932p:plain

今回のテーマは以上です。

補足事項: 動作確認時50:50としても片方によるケースがあるため、
レコードの加重の重量の値を更新し確認する方法がよいかと思います。

SAA学習-Route53-無料ドメイン購入/ホストゾーン作成とシンプルルーティング

今回のテーマ:ホストゾーン設定

概要

  • ドメインを購入する
  • Route53にホストゾーンを作成
  • シンプルルーティングを設定

実際の手順(AWSドメインの購入方法)

  • マネージメントコンソール-Route53を検索します。

f:id:In-houseSE:20210619140205p:plain

f:id:In-houseSE:20210619140532p:plain

実際の手順(フリードメインの購入)

  • 下記サイトへアクセスします。

www.freenom.com

f:id:In-houseSE:20210619141633p:plain

  • 取得するドメイン名を確認し、Continueをクリック

f:id:In-houseSE:20210619141745p:plain

実際の手順(ホストゾーンの登録)

  • マネージメントコンソール-Route53-ダッシュボード-ホストゾーンの作成をクリック

f:id:In-houseSE:20210619143454p:plain

f:id:In-houseSE:20210619143628p:plain

  • ホストゾーンが作成されたことを確認します。

f:id:In-houseSE:20210619143719p:plain

実際の手順(インスタンスとの関連付け)

  • Webサーバーでパブリック向けのEC2 インスタンスを1台作成します。

in-housese.hatenablog.com

  • EC2のパブリックIPをコピーします。

f:id:In-houseSE:20210619144607p:plain

  • Route53の作成したドメイン名に戻りAレコードを追加するため、ホストゾーン-作成したドメイン名-レコードの作成をクリック

f:id:In-houseSE:20210619144717p:plain

  • 値にEC2のパブリックIPを張り付けし、レコードの作成をクリック

f:id:In-houseSE:20210619144828p:plain

  • Aレコードが追加されたことを確認する

f:id:In-houseSE:20210619144904p:plain

実際の手順(DNSの関連付け)

AWS外部よりドメインを調達し場合は、取得したドメインのNSレコードをドメイン払い出し側で関連付けをする必要があります。

  • マネージメントコンソール-Route53-ホストゾーン-取得したドメイン名をクリック

f:id:In-houseSE:20210619145220p:plain

  • NSレコードを値を1行ずつコピーし、対向のDNSサーバーと関連付けを行う

  • freenomへログイン後、My Domainsをクリック

f:id:In-houseSE:20210619145454p:plain

  • NameServerを登録したいドメインに対し、Manage Domainをクリック

f:id:In-houseSE:20210619145423p:plain

  • Management Tools-Nameserversを選択

f:id:In-houseSE:20210619145636p:plain

  • AWSのNSレコードにあるnameserversを一行ごとコピーし、Change Nameserversをクリック

f:id:In-houseSE:20210619145751p:plain

  • ブラウザを起動し、ドメイン名を指定し表示できるか確認します。

f:id:In-houseSE:20210619145932p:plain

実施際の手順(別リージョンを跨いだEC2インスタンスの起動)

別のリージョンへEC2インスタンスを立てるため、
起動しているEC2インスタンスのイメージを作成し、
別リージョンへ配置後DNSの設定を更新します。

  • マネージメントコンソール-EC2-インスタンスよりアクション-イメージとテンプレート-イメージを作成をクリック

f:id:In-houseSE:20210619150714p:plain

  • イメージ名は任意で記入し、イメージの作成をクリック

f:id:In-houseSE:20210619150858p:plain

  • イメージ-AMIより作成したイメージが作成されたことを確認します

f:id:In-houseSE:20210619151711p:plain

  • 作成したAMIを選択し、アクション-AMIのコピーをクリック

f:id:In-houseSE:20210619151859p:plain

  • 送信先リージョンを指定し、AMIのコピーをクリック(大阪リージョンにしてます)

f:id:In-houseSE:20210619151953p:plain

  • コピー先のリージョンへ移動しコピーされているか確認します。

f:id:In-houseSE:20210619152043p:plain

  • コピー完了後インスタンスの起動します。

  • 起動した各サーバーへログインし、index.htmlファイルの値を以下のように更新しておきます。

東京の場合:
hellow tokyo!

大阪の場合:
hellow oosaka!

実際の手順(シンプルルーティングの確認)

  • マネージメントコンソール-Route53-ホストゾーン-取得したドメイン名をクリック

f:id:In-houseSE:20210619145220p:plain

  • 東京と大阪に作成したパブリックIPをコピーし、Aレコードを更新します。
    該当するAレコードを選択しレコードを編集をクリック

f:id:In-houseSE:20210619154034p:plain

  • 値は1行ごとに改行して記入し、保存をクリック

f:id:In-houseSE:20210619154211p:plain

  • 動作確認(1つのリージョンのみばかり表示される場合は、片方のインスタンスを停止し確認がよいと思います)

今回のテーマは以上です。

SAA学習-信頼性設計-小テスト

今回のテーマ:信頼性設計-小テスト

設問1: WEBアプリサービスを開発しているC社ではELBを利用して負荷分散を検討してます。アプリの登録ユーザー数は1万人程度で頻繁に利用されます。この時のELBのタイプは何か?

回答:NLB

設問2:ALBの特徴で誤っているもの

回答:HTTP/HTTPSとTCL/SSLプロトコルのL4とL7に対応

正しいもの * URLのパスに基づいてルーティングが可能なパスベースルーティング * ターゲットグループでのヘルスチェック * ポートを利用するコンテナをロードバランシング

設問3:NLBの特徴で誤っているもの

回答:毎秒数千万リクエストに対応できる性能がある

正しいもの * L4ロードバランサー * 毎秒数百万リクエスト対応可能 * フォールトトレランス機能を有したコネクション処理 * コンテナ化されたアプリケーションをサポート

設問4:ロードバランシンしたいサーバーとしていくつか機能別サーバー群を有しています。機能別にバランシングを実施するため正しいものは何か?

回答:ALBを利用したパスルーティングを実施する

設問5:大規模アクセスが予測されるケースについて、次の「ELBタイプと必要な対応」のセットのうち、「適切ではない内容」を選択してください。

回答:NLBを利用しており、Pre-warming申請を実施する

Pre-warming: https://image.slidesharecdn.com/20161012aws-blackbelt-elb-public-161012112406/95/aws-black-belt-online-seminar-2016-elastic-load-balancing-23-638.jpg?cb=1476271548

設問6:次のうちELBの機能と説明が正しい組合せのものを選択してください。

回答:スティッキーセッションはセッション中に、同じユーザーから来たリクエストを全て同じEC2インスタンスに送信する機能である。

設問7:スケーリングタイプと説明で正しいもの

回答:スケールダウンはメモリやCPUを削減すること

設問8:既存のEC2インスタンスに対し後からAuto-Scalingを設定する予定です。既存のインスタンスを活かして利用するためのターミネイションポリシーは何か?

回答:NewestInstance

設問9:Auto-Scalingグループで設定する内容で誤っているもの

回答:インスタンスタイプを指定する

cf)インスタンスタイプは起動設定で設定する項目

設問10:Auto-Scalingの設定において正しいものを選択してください。

回答:ELBのターゲットグループを設定すれば、ELB構成を利用できる

設問11:Auto-Scalingのターミネーションポリシーのデフォルト設定の動作について正しい内容を選択してください。

回答:最も古い起動設定のインスタンスから削除

設問12:RDSで選択できないDBソフトウェア

回答:DB2

設問13:C社では現在PostgreSQLを利用してデータベースを構築しているが、AWSクラウドサービスに移行したいと考えている。次に示す既存データベースの要件を踏まえた場合にどのように移行するべきか検討しなさい。

回答:RDSはファイルシステムとの連携サポートはされてないため、EC2インスタンスを利用する必要がある

設問14:RDSのリードレプリカの構築について間違っている内容を選択してください。

回答:読込を分散させるためリードレプリカは同じAZに構築する必要がある

設問15:RDSのスナップショットについて間違っている内容を選択してください。

回答:同じAZ内にスナップショットを作成する。

cf)スナップショットはS3に作成される

設問16:RDSを利用したスケーリングについて正しい内容を選択してください。

回答:途中でインスタンスタイプを縮小するなど変更することが可能

設問17:RDSの暗号化対象として間違っている対象を選択してください。

回答:オブジェクト

オブジェクトは利用していないため、暗号化対象として不適切

設問18:RDSの暗号化方式として利用できないものを選択してください。

回答:CSE

設問19:RDSを利用したフェイルオーバ構成について正しい内容を選択してください。

回答:フェイルオーバーは手動で実施することができる

設問20:RDSを利用するべき判断ポイントとして間違っているものを選択してください。

回答:パッチ当てなどを社内でコントーロールする必要がある

今回のテーマは以上です。