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

AWS を学ぶ(18)CloudFront を使ってみる

この記事は、日本語で作成し、機械翻訳で外国語に訳しています。

AWS を学んでみる(8)CloudFront ってなんだろうで、CloudFront について調べてみましたが、今回は、CloudFront を実際に使ってみました。

今回の動作確認では、以下のようなイメージで、構成を作ってみます。

(1) の部分が、Web サーバーと ELB、(2) の部分が CloudFront です。

CloudFront を使ってみる

事前準備

まず、(1) の部分を作っていきます。

VPC やサブネットについては、AWS を学ぶ(1)VPC を理解するAWS を学ぶ(2)VPC を作ってみようで説明しています。

EC2 でのインスタンスの起動については、AWS を学ぶ(4)EC2 を理解するAWS を学ぶ(6)EC2 を使ってみようで説明しています。

EC2 上に、Web サーバーを起動させます。インターネットからアクセスできるように、パブリックサブネットに起動させて下さい。

Web サーバーのグローバルアドレスを確認し、ブラウザーに入力して下さい。

Web サーバーのコンテンツが表示されましたね。

次に、ELB を起動させます。

ELB の起動と設定については、AWS を学んでみる(9)ELB を使ってみようで説明しています。

今回は ALB を使ってみます。ターゲットを、ES2 上の Web サーバーで指定しておきます。

ターゲットのステータスが Healthy になりました。

ELB のDNS 名を確認し、それをブラウザーに入力してアクセスします。

Web サーバーのコンテンツが表示されましたね。ELB 経由で Web サーバーへのアクセスも成功です。

CloudFront の起動と設定

AWS 管理コンソールの検索テキストボックスに CloudFront と入力し、CloudFront を選択します。

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

「Create Distribution」をクリックします。

今回試したいのは、Web サーバーのコンテンツキャッシュです。上の「Web」の方の「Get Started」をクリックします。

Create Distribution の画面が表示されます。

Origin Settings の中の「Origin Distribution Name」のテキストボックスをクリックし、プルダウンメニューを表示させます。

その中に、先ほどの事前準備で作成した ELB が表示されていますので、それを選択します。

これ以外の設定は、今回は特に変更しません。

画面下部の「Create Distribution」をクリックします。

CloudFront Distributions の画面に戻ります。

Statusのところが、「In Progress」になっているはずです。導入が完了するまでに、10 分くらいかかります。

Status が「Deployed」になりました。これで CloudFront の導入が完了です。

導入が完了した Distribution の「ID」をクリックして、詳細を表示させます。

「Domain Name」の箇所に表示されているのが、CloudFront を使う時のアクセス先になります。

CloudFront のドメイン名を、ブラウザーに入力してアクセスしてみます。

Web サーバーやELB経由の時と同じコンテンツが表示されましたね。

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

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

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]価格:2,618円
(2020/8/30 16:09時点)
感想(0件)

カテゴリー
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を学ぶ(6)EC2 を使ってみよう

EC2 にインスタンスを起動

私は AWS を英語表示で使用していますので、日本語表示の時と表示が異なるかもしれませんが読み替えてください。

AWS のマネジメントコンソールにログインします。

検索のテキストボックスに、EC2 と入力します。EC2 の名前が表示されるので、それをクリックします。

EC2 の管理コンソールが表示れます。(画面が新しくなりましたね)

画面上部にあるリージョンの名前をクリックすると、使用できるリージョンの一覧が表示されます。

今回は東京リージョンを使用します。

EC2 の東京リージョンの管理コンソールが表示されます。

左側にあるメニューの中の「Instances」の中の「Instances」をクリックします。

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

「Launch Instance」をクリックします。

利用可能なインスタンスの一覧が表示されます。

今回は、Windows サーバーを起動させてみましょう。上部の検索テキストボックスに「Windows」と入力して、エンターキーを押します。

利用可能な WIndows サーバーの一覧が表示されます。

今回は、一番上の Microsoft Windows Server 2019 Base を使います。

その名前の右側にある「Select」ボタンを押します。

インスタンスタイプです。今回は起動確認のテストですので、無償で使える小さいタイプを選択します。

画面右下の「Next」ボタンを押して進みます。

よく使う項目は、以下の3つでしょう。入力したり、プルダウンメニューから選択します。

  • インスタンスの数
  • ネットワーク
  • サブネット

今回は、以下のように設定します。

  • インスタンスの数 = 1
  • ネットワーク = VPC-TKY(私が東京リージョンに作成したVPC)
  • サブネット = ap-northeast-1a

上記以外にも、ドメインに参加させるかとか、ストップボタンを押した時にどうさせるかとかなど、いろいろ設定ができます。今回は起動確認テストですので、全てそのままにします。

画面右下の「Next」を押して進みます。

ストレージの設定画面が表示されます。

これから起動させる Windows サーバー 2019 が使用するストレージの設定です。Windows だとCドライブになります。

Cドライブ以外にもドライブが欲しい場合は、「Add New Volume」を押して追加が可能です。

今回は起動確認テストですので、30GB のまま進めます。

画面右下の「Next」ボタンを押して進みます。

ちなみに、「Volume Type」のところで、SSD なのか、HDD なのかといったストレージのタイプも選択が可能です。

タグの画面が表示されます。

タグは付箋のようなもので、後からみた時にどのインスタンスなのか分かりやすいようにするためのものです。

タグはオプションですので、なしでも問題ありませんが、インスタンス数が増えてくると管理が困難になってきますので、何らかの値を入れておくことがお勧めです。

「Add Tag」をクリックします。

タグは以下のように入力してみました。

  • Key = Win2K19-20200811
  • Value=test

「Next」を押して進みます。

セキュリティーグループの設定です。

Windows インスタンスの場合、初期状態で RDP を許可するルールが入っています。

「Add Rule」ボタンを押して、ルールを追加できます。

ルールには、以下の項目があります。

  • タイプ: TCP、UDP、ICMP、HTTP、HTTPS、SSH など、何を対象にするのかをいろいろと選べます。
  • プロトコル:TCP、UDP、ICMP で、タイプを選択すると、ここも選択されます。
  • ポートの範囲:CUstom TCP や Custom UDP などをタイプで選んだ場合、ポート番号を指定できます。
  • 送信元:通信の送信元を指定できます。どこからアクセスでもOKやこのIPアドレスのみなどです。
  • ディスクリプション:後から見て分かるように、このルールの説明を記述します。

以下は、カスタムTCPを選択して、ポート番号として 8088 から 9099 を許可した例です。

送信元は「全て」「特定の IP アドレスや範囲」が指定できますが、セキュリティーグループも指定できるところが特徴です。

今回は起動確認テストなので、RDP のみを許可して起動させます。

画面右下の「Review and Launch」ボタンを押して進みます。

さあ、最終ステップです。今まで自分が設定した内容を確認しましょう。

起動させるインスタンスのサイズは正しいですか?起動させるリージョン、VPC、サブネットは正しいですか?

インスタンスの詳細も確認してください。

インスタンスにアタッチするストレージの内容やタグの内容も確認します。

全ての内容が自分の設計通りであることが確認できたあ、画面右下の「Launch」ボタンを押して進みます。

最後にキーペアを設定します。

これは、インスタンスにログインする際に使用します。既存でキーペアがある場合は、それを使用することもできますが、今回は新規で作成します。

「Create a new key pair」を選択し、「Key pair name」にキーペアの名前を入力します。

「Download Key Pair」ボタンを押して、キーペアのファイルをダウンロードします。

キーペアのファイルのダウンロードが完了したら、「Launch Instances」ボタンを押して、インスタンを起動させます。

インスタンスの起動が始まります。

画面上部に見えるインスタンス ID をクリックします。

EC2 の管理画面に自動的に移動し、起動中のインスタンスが見えます。

ステータスが「Initializing」になっているのが見えると思います。「起動中」の意味です。インスタンスの起動までには、少し時間がかかります。このステータスの部分を見ておいてください。

ステータスが「2/2 Checks Passed」になれば、起動完了です。

起動させたインスタンスのグローバル IP アドレスも確認できますね。

インスタンスのログインパスワードの入手

画面上部のメニューの「Action」から、「Get Windows Password」を選択します。

以下のようなパスワード取り出し画面が表示されますので、Key Pair Path のところで「Choose File」ボタンを押し、先ほどダンロードしたパスワードファイルを指定します。

パスワードファイルを正常に読み込むと、以下のように証明書の内容が表示されます。

画面右下の「Decrypt Password」ボタンを押して、パスワードを表示させます。

パスワードが表示されました。パスワードをメモしたら「Close」ボタンを押して、画面を閉じてください。

インスタンスへのログイン

パスワードが入手できたので、今度はインスタンスにログインしましょう。

画面上部メニューの中の「Connect」ボタンを押します。

Windowsの場合、RDP のファイルをダウンロードすると簡単です。「Download Remote Desktop File」をクリックして、デスクトップに保存します。

RDP ファイルをダブルクリックして、RDP 接続を開始します。

私は Macbook を使用していますので、Windows とは画面が異なりますが、以下のようなパスワードを求める画面が表示されます。先ほどメモしたパスワードを入力してください。

AWS 東京リージョンの自分のVPC 内に起動させた Windows のデスクトップが表示されます。

インスタンスの削除

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

画面上部のメニューの中から、「Action」→「Instance State」→「Terminate」を選択します。

インスタンスを削除して良いかの確認画面が表示されます。

画面右下の「Yes, Terminate」ボタンを押して削除します。

インスタンスのシャットダウンが開始されます。

シャットダウンが完了するまで、しばらく時間がかかります。「Instance State」の部分を見ておいてください。

Terminated の表示になったら、インスタンスの削除は完了です。

インスタンスが完了したら、必ず EBS のストレージも削除されているかも確認することをお勧めします。

残っていたら、削除しておきましょう。インスタンスを削除しても EBS が残っているとお金がかかります。

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

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

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

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

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

AWSを学ぶ(5)EC2の性能とコストの考え方

EC2の性能をどう考えるか

EC2ではインスタンスタイプというものがあり、インスタンスのスペックを選択することができます。

オンデマンドタイプですと、例えば、m5.largeとかp2.8xlargeなどがあります。AWSのサイトに、スペックと価格の記載があります。

この「m」とか「p」は、インスタンスファミリーと呼ばれ、「何に対して最適化しているのか」を示しています。

インスタンスファミリー何に対して最適化なのか
 t, m汎用
 cコンピューティング
 p, gGPU
 x, r, zメモリー
 i, dストレージ
https://aws.amazon.com/jp/ec2/pricing/on-demand

インスタンスファミリーの後ろの数字は世代を表します。つまり、数字の大きいものがより最新ということになります。

一般的には、世代の新しいもののほうがスペックが良く、価格も安いです。

「xlarge」や「4xlarge」の部分が、インスタンスサイズを表し、数字の大きいものの方がスペックが高いということになります。

以下のものが、2020年8月11日時点でのm5インスタンスファミリーの性能と価格です。性能と価格は変更されることがありますので、必ずAWSのサイトを参照してください。

汎用-現行世代

EC2のコスト

EC2では、インスタンスを使ったら使った分だけ課金される「従量課金型」です。

この「使った分だけ」ですが、以下の様な考え方になります。

  • インスタンスが「Running」状態であった時間
  • 「Running」状態であったインスタンスのインスタンスタイプやリージョン

インスタンスを稼動させるリージョンによっても価格が変わるので注意です。

インスタンスの状態は3つあります。

  1. Running: 起動中
  2. Stopped : 停止中
  3. Terminated:  削除済み

EC2では、起動しているインスタンスのみが課金対象になり、停止中や削除されたインスタンスに対しては課金されません

インスタンスの削除に関して、注意点としては以下の点があります。

  • 停止中のインスタンスでも、、EBS(EC2インスタンスにアタッチして使うブロックストレージ)の費用はかかる
  • インスタンスを削除してもEBSは残るものもあるので注意(インスタンスを削除した時は必ずEBSも確認する)

私も過去に、インスタンスを削除したにも関わらず、EBSのストレージが消えていなかったために、コストがかかってしまっていたという経験があります。

スポットインスタンスとリザーブドインスタンス

オンデマンド

  • インスタンスの利用時間によって、料金が発生するタイプです。
  • 短期間や限られたタイミングでのみ利用したいという時に合います。

スポットインスタンス

  • AWSが余らせているEC2リソースを、入札形式で安く利用できるタイプです。
  • ただし、他のユーザーから利用リクエストが増え、リソースの余がなくなると、インスタンスが自動的に中断されます。
  • 一時的にテストや開発で高いスペックのインスタンスを利用したいというケースには良いです。

リザーブドインスタンス

  • 長期利用を約束することで、割引が得られるタイプです(料金先払い)。
  • 例えば、1年間で購入すると40%程度も費用を削減できるケースもあります。
  • 最初はまずオンデマンドで利用し、これでもう大丈夫となったら、リザーブドインスタンスで本番稼動という形が良いのではと思います

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

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

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

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

AWS関連の記事:

関連する記事:

最近の記事:

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

AWSを学ぶ(4)EC2を理解しよう

EC2とは

Amazon Elastic Compute Cloud の略で、AWSで提供されるコンピューティングサービスの1つです。

簡単に言えば、仮想マシンを起動させられるサービスです。

EC2では仮想サーバはインスタンスという単位で管理され、数回クリックすれば起動してくるため、サーバの調達までのリードタイムは大幅に短縮が可能となります。

EC2の便利さを考えるために、オンプレとの比較をしてみましょう。

オンプレ環境では、物理サーバを手配し、そこにOSをインストールし、ラックを増設し、ネットワークや電源の管理をするといった様々な作業が必要となり、新しいサービスをリリースするまでに、1ヶ月くらいはかかるでしょう。

そして、こんなに時間をかけて準備したにも関わらず、予想を超えるトラフィックやリクエストを処理できず、ビジネスチャンスの逃してしまったり、逆にリソースを余らせてしまい、結果として赤字になるなんてこともあり得えます。

EC2を使えばサービスの提供までのリードタイムを大幅に短縮させられます。

ビジネスにとって重要なところはどこなのでしょうか。サービスを用意するところではないですよね。サービスを如何に効率よく提供し続けビジネスを行うことです。つまり、ビジネス価値を生む行為に集中できる様になります。

AWSが提供するコンピューティングサービスには、以下のものがあります。

  • Amazon Elastic Compute Cloud (EC2)
  • AWS Lambda
  • Amazon Elastic Container Service (ECS)
  • Amazon Elastic Container Service for Kubernetes (EKS)
  • Amazon Fargate
  • Amazon Lightsail

EC2の仕組み

EC2では、使用したいイメージを選択しインスタンスを実行します。このイメージのことを、Amazon Machine Image(AMI)と呼びます。AMIは、 エイエムアイ、又はアミと呼ばれます。

EC2で使えるAMIには2種類あります。

  1. Amazon Linux、 Red Hat Enterprise Linux、Microsoft WindowsといったAWS が標準で提供しているのも
  2. 各ベンダーがサービスをプリインストールしたもの

ユーザーはインスタンスの断面をAMIにすることもでき、それをバックアップとすることも可能となります。

EC2のメリット

EC2には以下のメリットがあります。

  • 簡単にスペック変更
  • 従量課金でのコスト
  • サービス提供までの時間短縮
  • 簡単に冗長化

EC2の最大の魅力は、仮想インスタンスのスペックを簡単に変更が可能であることにあります。つまり、サービスのキャパシティーを柔軟に拡大や縮小が可能となります。

例えば、あなたのビジネスが夏によく売れる商品だとして考えてみましょう。

夏によく売れるのですから、夏時期にリクエスト数が増えるはずです。

この傾向が分かっている場合、どこを目安にサーバーのスペックを考えるべきでしょうか。

以下の様に、最低でも緑色のラインのリスエストをさばくことができるスペックが必要です。大抵の場合、それに1.2とか1.5とか掛けて、少し大きめのスペックでサーバーを用意すると思います。

それにより、ピーク時のリスエストには対応できる様にな離ますが、夏以外がそれほどリスエスト数がありません。無駄がありますよね。以下の黄色の部分は全て無駄になります。

EC2を利用すれば、必要な時に必要となるスペックと台数のサーバーを簡単に用意することができます。クラウドなので、使用したら使用した分だけの料金しかかかりません。コストも抑えられます。

EC2での冗長化

ビジネスを止めないためには、冗長化は非常に重要なポイントとなります。

ECCでの冗長化では、Auto Scalingを使用することができます。

Auto Scalingを使用すると、リクエストやトラフィックの増加に合わせて、EC2のインスタンス数を増加させたり減少させたりすることができます。

例えば、

  • CPU負荷が80%を超えたら、インスタンスを2台追加する
  • CPU負荷が60%を下回ったら、インスタンスを2台減らす

Auto Scalingの機能ですが、ELBと呼ばれるロードバランサーと一緒に使用されます。

ELB: Elastic Load Balancerはレイヤー4(L4)やレイヤー7(L7)で動作するロードバランサーです。EC2上で動作し、EC2のインスタンスに対してトラフィックを負荷分散するだけでなく、インスタンス自体の負荷を監視し、負荷がしきい値を超えたらインスタンスう数を増やしたり、しきい値を下回ったらシンスタンス数を減らしたりする機能を持ちます。

ELBには、以下の3つの種類があります。

Classic Load Balancer (CLB)Network Load Balancer (NLB)Application Load Balancer (ALB)
HTTP, HTTPS, TCP TCPHTTP, HTTPS
古いタイプのLB
リクエストレベル(L7)と接続レベル(L4)の両方に対応
接続レベル(L4)で動作
TCPトラフィックのロードバランシング
リクエストレベル(L7)で動作
HTTPとHTTPSトラフィックの高度なロードバランシング

EC2が分かってきたのではないでしょうか。EC2では、仮想インスタンスというサーバーを起動させられるのですね。これでプライベートサブネットとパブリックサブネットの2つの役割が分かったと思います。

アプリケーションは一般的に3ティアー構成を取っています。

フロントエンドのノードはエンドユーザーからのリクエストを受けますが、バックエンドのノードはエンドユーザーからのアクセスは不要であり、ノード間の通信のみとなります。

思い出してみてください。パブリックサブネットはIGWを経由してインターネットと通信ができましたよね。それに対して、プライベートサブネットは、IGWとは通信をさせませんので、インターネットとの通信はできません。

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

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

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

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

AWS関連の記事:

関連する記事:

最近の記事:

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

AWSを学ぶ(3)ゲートウェイとセキュリティーについて

AWS上に作成される各サブネットには、それぞれ仮想ルータが用意されます。

この仮想ルータでは、ルートテーブルを管理する他に、ネットワークACLを使った通信制御も行います。

また、この仮想ルータは、サブネット内に稼働させられる仮想マシンのデフォルトゲートウェイにもなります。

AWSのルートテーブル

AWSのルートテーブルは、以下の特徴があります。

  • 個々のサブネットに1つずつ設定する
  • 1つのルートテーブルを複数のサブネットで共有はできるが、1つのサブネットに複数のルートテーブルを適用することはできない
  • VPCにはメインルートテーブルがあり、サブネット作成時に指定しない場合は、このVPCのメインルートテーブルが、デフォルトのルートテーブルになる

セキュリティーグループとネットワークACL

セキュリテーグループ

AWS上に稼働させる仮想マシン(インスタンス)自体に適用させる通信制御のルールです。

インスタンスには、必ず1つ以上のセキュリティーグループを適用する必要があります。通信の制御としては、2種類あります。

TCP/UDPなどのプロトコルやアドレス範囲、ポート番号などをルールに使えます。特徴的なのは、セキュリティーグループ自体をルールの中で指定できる(このセキュリティーグループからこのセキュリティーグループへの通信みたいな)ことです。

ステートフルであり、行きの通信を許可すれば、その通信の戻りも許可されます。

インバウンド:外部からVPC内への方向
アウトバウンド:VPN内から外部への方向

ネットワークACL(NACL)

サブネット毎の通信制御を行うルールです。

NACLでは、セキュリティーグループの様に、セキュリティーグループをルールで指定はできません。

またデフォルトでは、全ての通信を許可しています。

ステートレスであり、行きと戻りの通信を明示的に許可しなければ通信ができません。

ゲートウェイ

ゲートウェイは、VPNの内部と外部を通信させる出入り口です。

ゲートウェイは大きく3種類あります。

  1. IGW:インターネットを接続するインターネットゲートウェイ
  2. VGW:VPNやDirect Connectを使ったオンプレとの接続を行う仮想プライベートゲートウェイ
  3. NAT GW:グローバルIPアドレスを持たないインスタンスをインターネットと通信可能にさせるゲートウェイ
  4. 実はその他にもあったりする

GWは各VPCに1つだけ設定されます。

サブネットのルートテーブルで通信をIGWに向ける(一般的には0.0.0.0/0を向ける)と、その通信はインターネットと通信ができる様になります。

第2回で少し出てきたパブリックサブネットとは、これを行っているサブネットのことで、インターネットとの通信が可能となります。プライベートサブネットは、これを行いませんので、インターネットとの通信はできません。

その場合にも何らかの理由でインターネットとの通信が必要となった場合は、NAT GWを使うことになります。

VGWも各VPCに1つだけ設定できます。VPNやDirect Connectでの接続が複数あっても、1台のVGWで複数接続可能です。

さあ、これでサブネットやゲートウェイなどの仕組みが分かってきました。次はいよいよEC2を学んで行きましょう。

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

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

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

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

AWS関連の記事:

関連する記事:

最近の記事:

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

AWSを学ぶ(2)VPCを作ってみよう

VPCの作り方

AWSはパブリッククラウドなので、比較的気軽に使えます。実際に手を動かして試してみるのが一番です。

ちなみに、私はAWSコンソールを英語表示で使用しています。日本語表示で使っている場合と少しだけ表示が異なりますが、そこは読み替えてください。

AWSの管理コンソールにログインすると、AWSで利用できるサービスの一覧が表示されます。非常にたくさんのサービスがあります。検索テキストボックスに「VPC」と入力してみると、VPCの名前が見えますので、それをクリックします。

VPCは何も設定をしなくても、AWSが用意してくれています。VPC画面では、自分のアカウント向けに提供されているVPCの一覧が表示されます。

例えば、シドニーリージョンをクリックします。VPC画面が表示され、シドニーリージョンにどのようなVPCが用意されているのかが見られます。

これをそのまま使っても良いのですが、アドレス範囲が自分の設計に合わないなどもあると思います。その場合は、手動でVPCを作成できます。「Create VPC」を押します。

VPC作成画面が表示されるので、「Name tag」にVPCの名前、「IPv4 CIDR block」にVPCで使用可能なアドレスの範囲を入力します。ここでポイントは、VPCで使用可能なサブネットの大きさはなるべく大きくすべきという点です。

なぜ大きくしておくべきなのかですが、サブネット内の最初の4つと最後の1つのIPアドレスはAWSで予約されていて、ユーザーは使うことができません。このたた、例えば28ビットでサブネット作った場合、ビット的には16個のIPアドレスがあるのですが、実際には11個しか使えません。

またAWSのサービスの中にはこの範囲内からのIPアドレスを必要とする物もあります。例えば、ELBと呼ばれるロードバランサーを使用する場合、IPアドレスを8個も使用します。

最大で16ビット、最小で28ビットを指定できますが、実際にサブネットを作成した際にそのサブネットないのアドレスをすべて使用できる訳ではありません。後から拡張する方法もあるのですが、めんどくさいみたいです。基本的には16ビットがお勧めです。

Createボタンを押すと作成できます。正常に作成できたら、Closeボタンを押して、VPC作成画面を閉じます。

VPCができましたね。一番上のものが、今作成したVPCです。

次に、VPCの中にサブネットを作って行きましょう。左側にあるメニューの中に「Subnets」が用意されていますのでクリックします。

AWSが用意しているサブネットがあるのですが、自分の設計で必要なサブネットを作りましょう。「Create subnet」を押します。

サブネット作成画面が表示されます。

「Name tag」にサブネットの名前を入力します。次に、そのサブネットを先ほど作ったVPC内に作成するのですが、VPCのところをクリックすると、今利用可能なVPCの一覧が表示されます。先ほど作成した「test-vpc-01」も見えますね。それを選択します。

次に設定するのがAvailable Zoneです。これって何でしたっけ?

第1回目でもお話しましたが、AZ: Availability Zoneとは、各リージョン内にあるデータセンターです。データセンター全体、が何らかの理由で使えなくなってもサービスを継続できる様に、リージョン内には2つ以上のAZが用意されているんでしたよね。

AWSを使う際のコツですが、VPCを複数のAZにまたがる様に設計することを推奨しています。サブネットを複数作成し、それぞれを別のAZ上に設置する様に指定します。AWSではこれをマルチAZと呼びます。

ここでは、test-subnet-01というサブネットを、ap-southeast-02というAZに作成します。

そして作成するサブネットの範囲を24ビットとします。Createボタンを押して、サブネットを作成します。

正常にサブネットが作成されたことを確認したら、Closeボタンを押して、サブネット作成画面を閉じます。

自分の設計通りのサブネットが作成されましたね。

この作業を繰り返して、自分の設計で必要となる数のサブネットを作って行きましょう。

ちなみに、サブネットには2種類あります。これは機能的に分けたものです。

パブリックサブネット

インターネットとの通信が許可されているサブネットで、もちろんVPC内も通信可能

プライベートサブネット

インターネットとの通信は許可されておらず、VPC内しか通信が許可されていないサブネット

なぜこんな2つのサブネットを使い分ける必要があるのか。EC2を学んで行けば、謎が解けるかも知れません。

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

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

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

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

ASW関連の記事:

関連する記事:

最近の記事:

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

AWSを学ぶ(1)VPCを理解しよう

私の仕事柄、パブリッククラウドは使うことが多いので、AWSのことも一応のことは理解しているつもりなのですが、実際に業務で使用するサービスは限られています。ですが、パブリッククラウドには、私が使ったこともない様々なサービスが用意されています。

そこで、AWS認定ソリューションアーキテクトアソシエイトという資格の勉強をしてみようと思いました。今までの独学ではなく基礎からちゃんと学び、今まで使っていなかったAWSの機能についても理解してみようと思ってます。このブログは、その勉強の際の私のメモ書きです。

VPCを理解しよう

AWSを理解する上で、リージョン、VPC、サブネット、Availability Zone (以下AZ) が基礎となります。

リージョンが一番大きな枠です。東京なのか、シンガポールなのか、シドニーなのか(もちろんその他にも多数のリージョンがあります)。リージョンは、データを置いたり仮想サーバーを稼働させる「地理的な場所」になります。

イメージとしては、こんな感じです。

そして、そのリージョンの中にVPCを作成します。

VPC: Virtual Private Cloudとは

ユーザー専用のプライベートなクラウド環境を指します。またはそれを提供するサービス自体を言います。これはサブネットではありません。サブネットは、VPCの中に作成します。VPCはあくまでも、AWS上の特定のリージョン内に持つ、ユーザー専用の空間です。

イメージとしては、こんな感じです。

VPCを作成したら、次にその中にサブネットを作成して行きます。このサブネットが、実際に稼働する仮想マシンにアサインされるIPアドレスの範囲です。1つのVPCの中には、最大で200個までのサブネットが作成可能です。

イメージとしては、こんな感じです。

サブネットですが、AZ: Availability Zoneを指定して作成します。このAZって何でしょうか?

AZというのは、ある地域のある場所にあるデータセンターのことです。AWSは被災などでデータセンター全体が使用不可になることを想定して、1つのリージョンの中に複数のAZを設けています。このAZの集まりをリージョンと呼びます。ちなみに、AWSでは2つ以上のAZがないとリージョンとは呼ばないそうです。

また、AZ同士は高速なネットワークで接続されており、基本的には10ミリ秒以下の遅延で通信ができるそうです。

イメージとしては、こんな感じです。

どうでしょうか。AWSのリージョン、VPC、サブネット、AZのイメージが何となくでも理解できたのではないでしょうか。次は実際に、VPCを作成してみたいと思います。

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

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

AWS関連の記事:

関連する記事:

最近の記事: