カテゴリー
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を学ぶ(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件)

カテゴリー
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にすることもでき、それをバックアップとすることも可能となります。

画像に alt 属性が指定されていません。ファイル名: image-35.png

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) が基礎となります。

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

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

画像に alt 属性が指定されていません。ファイル名: image-7.png

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

VPC: Virtual Private Cloudとは

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

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

画像に alt 属性が指定されていません。ファイル名: image-8.png

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

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

画像に alt 属性が指定されていません。ファイル名: image-9.png

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

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

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

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

画像に alt 属性が指定されていません。ファイル名: image-10.png

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

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

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

AWS関連の記事:

関連する記事:

最近の記事: