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

AWSを学ぶ(25)VPCエンドポイントを理解しよう

PVアクセスランキング にほんブログ村 にほんブログ村 ブログブログへ
にほんブログ村

例えば、S3 や DynamoDB などといったサービスは、インターネットから直接利用できる、VPC 外の AWS サービスとなります。

これらへのアクセスは、VPC 内の AWS リソースからインターネットゲートウェイを経由して通信します。つまり、通信がインターネットに一度出ます。

セキュリティーを考えると、インターネットには出したくないというケースもあるでしょう。そこで VPC エンドポイントです。

VPC エンドポイントとは

VPC エンドポイントは、セキュリティ上の制約でインターネットとの通信が制限されているプライベートサブネット内の AWS リソースから、インターネットゲートウェイを経由せずに、VPC 外の AWS サービスへアクセス可能にする機能です。

VPC エンドポイントの種類と特徴

VPC エンドポイントには 3種類があり、それぞれ利用できるAWS サービスが異なります。

1. ゲートウェイエンドポイント(ゲートウェイ型)

ゲートウェイエンドポイントは、Amazon S3 または DynamoDB のみ対応しています。

S3 や DynamoDB へ接続したいリソースが配置されている VPC に VPC エンドポイントを割り当て、ルートテーブルにターゲットが VPC エンドポイントのルーティングを設定します。

ゲートウェイエンドポイントを使って S3 や DynamoDB にアクセスする時のイメージ

DynamoDB はゲートウェイ型のみ利用できますが、S3 はゲートウェイ型と PrivateLink の両方で利用可能です。

ゲートウェイエンドポイントは料金なしで使用できます。

2. インターフェイスエンドポイントAWS PrivateLink(インターフェイス型))

インターフェイスエンドポイントは AWS PrivateLink を使用し、サービスを送信先とするトラフィックのためのポイントとして Elastic Network Interface (ENI) を使用します。

サービスへ接続したいリソースが配置されているサブネットにプライベートIPアドレスを持つENIを作成し、ENIとサービスをリンクさせます。

AWS PrivateLink を使って CloudWatch や S3 にアクセスする時のイメージ

数多くの AWS サービスに対応しています。

AWS PrivateLinkと統合できる AWS のサービス

プライベート IP アドレスを使用して、VPC 内、オンプレミス、または VPC ピアリングや AWS リージョン を使用する別の AWS Transit Gateway にある VPC から Amazon S3 にリクエストをルーティングすることにより、ゲートウェイエンドポイントの機能を拡張します。

時間単位の使用料金とデータ処理料金が課金されます。

ゲートウェイ型とインターフェース型の比較

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3

3. Gateway Load Balancer エンドポイント

ゲートウェイロードバランサーのエンドポイントは AWS PrivateLink を使用し、サービスを送信先とするトラフィックのためのポイントとして Elastic Network Interface (ENI) を使用します。

時間単位の使用料金とデータ処理料金が課金されます。

VPC エンドポイントポリシー

エンドポイントの作成時、または変更時にエンドポイントにアタッチする IAM リソースポリシーのことです。

注意点は、以下の通りです

  • エンドポイントの作成時にポリシーを適用しない場合、サービスへのフルアクセスを許可するデフォルトのポリシーが適用
  • サービスがエンドポイントポリシーをサポートしていない場合、エンドポイントはサービスへのフルアクセスを許可

エンドポイントポリシーは、IAM ユーザーポリシーやサービス固有のポリシー (S3 バケットポリシーなど) を上書き、または置き換えません。これは、エンドポイントから、指定されたサービスへのアクセスを制御するための別のポリシーであるためです。

また、1つのエンドポイントに複数のポリシーを関連付けることはできません。

ポリシーはいつでも変更可能です。

おもしろかったら、フォローしてください!

世の中には楽しいことがいっぱい - にほんブログ村

最近の人気ブログ TOP 10:

関連する記事:

最近の記事:

カテゴリー
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 を学ぶ(17)CloudWatch を使ってみる

このページは、日本語で作成し、機械翻訳で外国語に変換しています。

今回は、CloudWatch について学んでみます。

例えば、何らかのしきい値を超えたらアラートを出し、Eメールで通知するということは、運用上必要だと思います。

この機能を、CloudWatch は、簡単に提供してくれます。

実際に使ってみることが早いですので使ってみました。

CloudWatch を使ってみる

AWS 管理コンソールにログインします。

検索テキストボックスで、CloudWatch と入力すると、CloudWatch が見つかるので、それをクリックします。

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

画面右側のメニューから、「アラーム」をクリックします。

アラーム設定画面が表示されます。

画面右上の「アラームの作成」をクリックします。

メトリクスの設定画面が表示されます。

「メトリクスの選択」をクリックします。

EBS、EC2、S3 などの項目が表示されます。表示される項目は、実際に使っている環境で異なります。

今回は、EC2 インスタンスに対して、アラームを設定したいと思います。EC2 をクリックします。

「インスタンス別メトリクス」をクリックします。

さまざまなメトリクスが表示されます。

とりあえず、分かりやすく、CPU 使用率でアラートを設定してみましょう。

一覧の中から、「CPU Utilization」をクリックします。

対象となるインスタンス ID が表示されています。これは EC2 の仮想インスタンスのインスタンスIDです。EC2 の管理コンソールも同時に開いて確認しましょう。

私の場合、テスト向けのインスタンスである、TEST-amz-linux があります。これのインスタンス名とインスタンス ID が同じであるかを確認します。

「CPU Utilization」を選択すると、現在の対象インスタンスの CPU 使用率が表示されます。

メトリクスの条件と指定の画面が表示されます。

今回は、CPU 使用率をメトリクスとして使用します。そのメトリクスは、AWS が用意しているので、メトリクス名は、そのまま使います。

今回は、CPU 使用率が 70% を超えたらアラートメールを出すようにしようと思います。「しきい値の種類」は、静的にします。

「より大きい」を選択し、「よりも」の項目で「70」を入力します。

まだトピックがありませんので、「新しいトピック」を選択し、「通知を受け取るEメールエンドポイント」に、メールの送信先になるEメールアドレスを入力します。このEメールアドレスが、アラートメールの受け取り先です。

名前と説明の画面が表示されます。

アラームの名前とその説明を入力します。

「次へ」を押すと、設定が完了します。

アクションのところを見ると、まだ「保留中の確認」になってますね。

先ほどメールの送信先に設定したメールを確認してみましょう。AWS からメールが届いているはずです。

メールの本文中にある「Confirm Subscription」をクリックします。

以下のような画面が表示されるはずです。これで、サブスクリプションは完了です。これからアラートメールが飛んできます。

CloudWatch の管理画面に戻ると、先ほど保留中だったステータス項目が、「確認済み」に変わります。

設定は、これで完了です。

CloudWatch のアラートを確認してみる

では、実際にアラートを発生させてみましょう。

今回設定しているのは、「CPU の使用率が 70% を超えたら、Eメールでアラートを出す」です。

Linux の top コマンドで、現在の CPU 使用率を確認してみます。テスト機を使ってますので、現在の CPU 使用率は 0% です。

top

次に、Linux の yes コマンドを使って、CPU 使用率を上げてみたいと思います。

これは不思議なコマンドです。Null にリダイレクトし続けると、CPU 使用率がどんどん上がっていきます。

yes > /dev/null

これを 4つ か 5つ 繰り返すと、すぐに CPU 使用率が上がります。今回は、5つ 繰り返してみましょう。

yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &
yes > /dev/null &

すぐに CPU 使用率が 99% まで上昇しました。

しかし、CloudWatch の方は、5分間の平均値で表示しています。すぐには結果が反映されませんので、5分から10分くらい待ってみましょう。

CloudWatch 側でも、CPU 使用率の上昇がみられるようになりました。

アラートメールが飛んでいるはずです。

メールボックスを確認してみると、70% のアラートのメールが届いてますね。動作確認は成功です。

今回は、CPU 使用率でアラートメールを飛ばすように設定してみましたが、CloudWatchは、いろいろなメトリクスが用意されています。いろんなアラートを飛ばして、試してみて下さい。

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

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

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

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

AWSを学ぶ(15)Glacier とは何か?どの様に使うのか?

AWS Glacier

Amazon Glacier (以下、Glacier)は、99.999999999の耐久性を持ちながら、容量あたりの費用を抑えたアーカイブストレージサービスです。価格は安いのですが、データの取り出しの際には時間がかかってしまうという特徴があります。

ちなみに、Glacier というのは、グレイシアと読み、日本語で「氷河」という意味です。

オンプレミスの環境ですと、磁気テープを使って長期のデータ保存を行いますが、磁気テープでのバックアップには、「長期保存」、「取り出しに時間がかかる」、「アクセス頻度は低い」といった特徴があります。Glacierは、このイメージで使用されます。

S3の様に、保存するデータに対して名前を付ける事はできず、自動採番された「アーカイブID」で管理されます。

Glacierへのデータの保存は、APIによる操作、またはS3のライフサイクル管理により行われます。

余談ですが、私は以前、クラウドバックアップ関連の製品を取り扱っていたのですが、その製品がS3 やGlacier にデータを保存することができました。Glacier を保存先とする時に、設定にちょっと困ったのですが、ここがポイントでした。Glacier はS3 のバケットを経由しないと、データの保存ができないです(API を使えば別ですが)。

Glacier の価格

Glacier は非常に低コストと言われますが、具体的に価格を見てみましょう。S3と比較してみます。AWSの公式サイトに価格が掲載されています。

S3 標準GlacierS3 Glacier Deep Archive
条件最初の50TB/月      1分から12時間の取り出し     年に1、2回のアクセスで、12時間以内でのデータ取り出し
GBあたりのコスト(USD)0.0250.0050.002
S3 と Glacier のコスト比較

ちなみに私の自宅のNASには、約2TBのデータが保存されています。これをAWSのクラウドストレージ にバックアップして保存すると想定してみます。

S3 と Glacier のコストシミュレーション

1ドル120円換算で計算していますが、S3 Glacier Seep Archive だと月にして4ドル(日本円で480円)です。確かにすごく安いですね。これなら個人でも可能な金額です。

Glacier の構成要素

Glacierは、以下の4つの要素から構成されます。基本的にはS3と同じ(ただし呼び方は異なる)です。

ボールト(S3: バケット)

アーカイブを保存するための領域です。ボールトで使われる名前は、リージョン、及びアカウント内で一意であれば良いため、たのアカウントで使用されている名前も利用できます

アーカイブ(S3: オブジェクト)

Glaceirに保存されるデータのことです。各アーカイブには一意のアーカイブIDとオプションの説明が割り当てられます。アーカイブIDには、138バイトのランダムな文字列が自動的に割り当てられ、ユーザーが指定する事はできません。

インベントリ

各ボールトに保存されているアーカイブの情報(サイズ、作成日、アップロード時に指定された説明など)を収集します。1日に1回の頻度で更新されるため、最新の情報が反映されるまでに時間がかかります。マネージメントコンソールから確認する事で、リアルタイムで状況が見られます。また、ListVaults API を使用することもできます。

ジョブ

アーカイブやイベントリに対して検索をしたり、データをダウンロードするといった要求に対して処理を実施し、それらの処理状況を管理します。

Glacier を使ってみよう

ボールトの作成

AWS 管理コンソールの検索から、「Glacier」を入力し、Glacierの管理コンソールにアクセスします。

「ボールトの作成」をクリックします。

ボールトを作成するリージョンを選択し、ボールトの名前を付けます。

イベント通知の画面が表示されます。

今回は「通知を有効にしない」を選択します。

確認画面が表示されます。

設定内容を確認し、「送信」をクリックします。

ボールトが作成されました。

ボールト名をクリックしてみると、ボールトの中が見られます。まだデータ(アーカイブ)は何も保存していませんので、アーカイブ数は 0 のままです。

アーカイブデータの保存

Glacier のボールトには、上述の通り、直接アクセスができません。API または、S3 のライフサイクルを使用します。

S3 の使い方については、AWSを学んでみる14で調べてみましたので、そちらをご参照下さい。

S3 上の指定したバケツにデータを保存します。

ストレージクラスで、「Glacier」を選択します。

設定内容の確認をし、「アップロード」をクリックして、データを転送します。

転送したデータの名前の「ストレージクラス」を見てみると、Glacier になっています。これでデータがアーカイブとして、Glacier 上に保存されました。

データの取り出しオプション

Glacierにアーカイブしたデータを閲覧するためには、「データの取り出しリクエスト」を行う必要があります。取り出しリクエストを行ってから実際に取り出しができる様になるまでの待ち時間に応じて、高速、標準、バルクの3種類のリクエストオプションがあります。

高速

1−5分程度後でのデータ取得

標準

3−5時間程度後でのデータ取得

バルク

5−12時間後でのデータ取得。次の日に見られれば十分というケースに使用

データの取り出し設定オプション

データ取り出し時の設定オプションは3つあります。Glacier 上のボールトを指定し、「設定」をクリックして設定ができます。

  • 無料利用枠のみ: 無料枠の範囲でデータの取り出しができます。それを超えるデータ量になると、取得リクエストは拒否されます。
  • 最大取得率: 1時間あたりの最大取得率で価格が変わります。
  • 取得制限なし: 制限をかけません。

Glacier Select

Glacier Select は、アーカイブデータに対してSQL を実施し、条件にあったデータを抽出する機能です。つまり、Glacier に保存されているデータを直接検索することができ、アーカイブ全体を取得する必要がありません。

特定のデータだけをアーカイブから取り出せる便利な機能なのですが、使用には、対象のアーカイブデータは非圧縮のSCV形式出なければならばならないなどの条件があります。

Glacier Select は、まもなく Amazon Athena と Amazon Redshift Spectrum と統合される予定とのことです。

データの暗号化

Glacier にデータ保存する時は、SSLを使ったデータ転送が行われます。またGlacier に保存されるデータは、標準で暗号化されます。

もし独自の暗号化方式を使用したい場合は、Glacierに保存する前にその暗号化方式で暗号化を行い、そのデータをGlacierに転送します。

データのセキュリティーに関して、AWSの公式サイトでは、以下の様に記載されています。

AWS では、お客様のプライバシーに絶えず注意を払っています。弊社のお客様はデータのセキュリティを重視しています。そのため、弊社にはシステムを 24 時間体制でモニタリングしている世界トップクラスのセキュリティ専門家チームがおり、お客様のコンテンツを保護しています。AWS により、暗号化、移動、保管管理機能を含め、常にデータを保有しているという認識を持って、最も安全なグローバルインフラストラクチャを構築できます。データセンターとリージョンを相互接続する AWS グローバルネットワークを流れるすべてのデータは、安全性が保証された施設を離れる前に物理レイヤーで自動的に暗号化されます。すべての VPC クロスリージョンピアリングトラフィックや、カスタマーまたはサービス間の TLS 接続などといった追加の暗号化レイヤーもあります。AWS Key Management System (KMS) が管理するキーを使用する、あるいは FIPS 140-2 レベル 3 検証済み HSM を使って CloudHSM で独自の暗号化キーを管理することにより、転送中および保存中のデータを簡単に暗号化して、許可されたユーザーのみがアクセスできるようにするツールを提供しています。AWS では、地域および地方のデータプライバシー法や規制を順守していることを示すために必要な管理と可視性も提供しています。グローバルインフラストラクチャの設計により、データが物理的に配置されている地域を完全に制御し、データ常駐要件を満たします。

AWS 公式ウェブサイト

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

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

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]価格:2,618円
(2020/8/30 16:09時点)
感想(0件)
カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(14)S3とは

AWS Simple Storage Service (以下、S3)は、AWS が提供する、安価で耐久性の高いオブジェクトストレージサービスです。容量は無制限(ただし、1つのオブジェクトの最大サイズは 5TB)です。

オブジェクトストレージとは?

ストレージとして一番メジャーなファイルストレージと比較すると、分かりやすいと思います。ファイルストレージはディレクトリ構造をもち、フォルダやファイルを管理しますが、オブジェクトストレージはディレクトリ構造を持ちません。フラットな構成で、ユーザーが独自にデータに対して情報(メタデータ)を付与することができます。このページが参考になります。

利用料とSLA

  • 1ヶ月あたり、0.025 USD/GB(月に 10GB 使っても30円程度。cf. EBS は、1ヶ月あたり 0.12 USD/GB)
  • データは複数のAZに保存され、その耐久性は、99.999999999%(イレブンナイン)

S3 の構成要素

バケット

オブジェクト( データ)を保存するための領域です。バケットは名前を付けて管理しますが、その名前は、AWS内でユニークである必要があります。

キー名

各オブジェクトに付けられる名前です。

オブジェクト

S3 上に保存あれるデータそのものです。各オブジェクトにはキーが付与され、「バケット名+キー名+バージョンID」で、必ずユニークになるURLが作成されます。

メタデータ

オブジェクトデータを管理するための情報です。オブジェクトの作成日時やサーズと言ったシステム定義情報以外にも、アプリケーションで必要となるユーザーが定義する情報をメタデータに保存することもできます。

S3 の使い方

REST や SOAP と言った HTTP ベースの Web API を使用して、S3 上のオブジェクトにアクセスします。

S3 はウェブの管理コンソールから、シンプルなオペレーションで使用することができます。やることは、バケット(フォルダ)を作り、その中にファイル(オブジェクト)やフォルダを保存していきます。

S3 上のバケットとその配下のフォルダ

S3 の機能

アクセス管理
  • ユーザーポリシー・アクセスポリシーなどでアクセスを管理
  • IAMで利用できるユーザーを管理
  • バケット単位で、ユーザーや送信元IPアドレスなどを制限
Webホスティング機能
  • 静的サイトであれば、S3だけで公開することが可能
  • ウェブサイトのラインディングページを保存したり、ウェイブサーバの障害時のSorry ページを置いておくなど
他のAWSサービスとの連携が豊富
  • Redshiftを使ってS3のデータを利用するSpectrum機能
  • S3にデータが保存されたらLumbdaを起動するFunction機能(起動トリガー)

S3 がよく使われるシーンの例

S3 は柔軟性に優れたサービスであるため、アイデア次第では使い方は無限大です。代表的な使われ方として、以下のものがあります。

  • バックアップデータの保存
  • ビッグデータ解析用のデータ一時保存
  • ETL (Extranc/Transform/ Load)の中間ファイルの保存
  • EC2インスタンスやコンテナからのログの転送
  • 静的コンテンツのホスティング

具体例:

1. 静的コンテンツの配置
  • 今、ご覧になっているこのブログのページで使っているイメージファイルも、S3 上に保存してあり、そこから配信しています。
2. ログなどのエクスポート先
3. バッチ連携用ファイルの保存先
4. 静的ウェブホスティング

静的ウェブホスティング機能を行う場合、注意点があります。

  • 静的コンテンツに限る
  • サーバサードの動的なコンテンツをホスティングすることはできない
  • 使用する独自ドメインとバケット名を一致させておく必要がある

ストレージクラス

S3 では、用途に応じて7つのランクを設けています。これをストレージクラスと呼びます。ストレージクラスにより、SLAが設定されます。

STANDARD(スタンダード)

これがデフォルトのストレージクラスです、低遅延と高スループットを兼ね備え、S3 の性能が最も発揮されるクラスとなります。

  • 耐久性:99.999999999%
  • 可用性:99.99%
STANDARD-IA(標準 IA)

STANDARDよりは保存にかかるコストが安価になるストレージクラスです。参照頻度の低いデータ向けとなるため、アクセスが必要のないデータ、それほど頻繁にアクセスしないデータ、といったデータを保存する時に向いています。

  • 耐久性:99.999999999%
  • 可用性:99.99%
ONEZONE-IA(1ゾーン IA)

単一AZ内のみでデータを複製するストレージクラスです。1つのAZ内でのみ複製を行うため、AZ単位で障害が発生した場合、データの復元ができない可能性が高いです。この点以外は、STANDARD-IAと同等のサービスレベルが提供されます。

  • 耐久性:99.999999999%
  • 可用性:99.5%
INTELLIGENT-TIERING(インテリジェントな階層型)

参照頻度の高低を明確に決めることができないデータ向けのストレージクラスです。STANDARDとSTANDARD-IAの2層構成となっており、30日以上参照されなかったデータは、自動的にSTANDARD-IAに移動されます。データの移動が発生するため、頻繁に移動は発生するとコストが高くなります。

  • 耐久性:99.999999999%
  • 可用性:99.9%
Glacier

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。このクラスに保存されたデータにアクセスする場合、事前にアクセスリクエストする必要があります。またアクセスできるようになるまでに、数分から数時間かかるという特徴があります。

  • 耐久性:99.999999999%
  • 可用性:99.99%

上記5つのストレージクラス以外に、更に2つのストレージクラスが追加されているようです(2020年8月30日時点)。

Glacier Deep Archive

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。アクセスできるようになるまでに、数時間かかるという特徴があります。1 年のうち 1 回か 2 回しかアクセスされないようなデータを対象とした、長期保存やデジタル保存をサポートします。特に、金融サービス、ヘルスケア、パブリックセクターなどの規制が厳しい業界を対象としており、コンプライアンス要件を満たすために 7ー10 年以上データを保管するように設計されています。

低冗長化

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。推奨はされていないみたいです。

ライフサイクルの管理

S3 に保存されたオブジェクトは、その利用頻度に応じてライフサイクルを定義することができます。

移行アクション

データの利用頻度に応じて、ストレージクラスを変更します。最初はアクセス頻度が高いが、一定期間過ぎると低くなり、最後にはアーカイブさせると言った移行ができます。

有効期限アクション

指定された期限を越えたオブジェクトを、S3 から削除します。S3 は容量無制限のストレージサービスですが、保存容量が増えればコストも上がります。不要なデータは定期的に削除することが望ましいです。

バージョン管理

1つのオブジェクトに対して、複数のバージョンを管理(バージョニング)することができます。バージョニングは、バケット単位で有効・無効が指定できます。真・旧の両方のオブジェクトが保存されるため、保存容量が増えます。

アクセス管理

S3 のアクセス管理には、バケットポリシー、ACL、IAMが使用できます。

バケットポリシーは、バケット単位でのアクセス制御を行います。

オブジェクト単位での制御には、ACLやIAMを使用します。

データの暗号化

暗号化は、サーバ側での暗号化とクライアント側での暗号化の2種類があります。

サーバ側での暗号化は、データがS3 に書き込まれる時に暗号化され、読み取る時に復号化されます。

クライアント側での暗号化は、AWS SDK を使って、S3 に送信される前にデータの暗号化が行われます。復号化は、クライアント側で暗号化されたデータのメタデータから、どのキーで復号化するのかが判断されます。

サーバ側での復号化は、バケットに対してとオブジェクトに対して行えます。

バケットに対しての暗号化
オブジェクトに対しての暗号化

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

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

カテゴリー
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を学ぶ(12)EC2のイメージ取得と起動

EC2のイメージの取得は2種類あります。

  • AMI: EC2の仮想インスタンスのある時点の断面
  • Snapshot: EBSのある時点の断面

Snapshot/AMIのどちらを取得する場合も、EC2の対象となる仮想インスタンスは停止をさせてから行う必要があります。停止をしないと、データの生合成が取れない可能性があります。

「イメージの取得」オペレーションを行うと、スナップショットとAMIの両方が作成されます。

それでは、実際にイメージの取得をしていきたいと思います。

ちなみに、事前にAmazon LinuxをEC2で作成し、Apacheをインストールしてあります。

EC2イメージの取得

インスタンスの停止

対象となる仮想インスタンスを選択します。今回は、事前にEC2上に起動させているAmazon Linuxです。

「アクション」から「インスタンスの状態」→「停止」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-1-1024x532.png

「停止する」をクリックして、インスタンスを停止させます。

画像に alt 属性が指定されていません。ファイル名: 停止2Pasted-Graphic-2-1024x493.png

インスタンスの停止が開始されるので、「インスタンスの状態」のステータスを確認します。

しばらくすると、ステータスが「Stopped」に変わります。インスタンスの停止が完了です。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-4-1024x493.png

イメージの作成

「アクション」→「イメージ」→「イメージの作成」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-5-1024x513.png

イメージの名前と説明を記入し、「イメージの作成」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-6-1024x507.png

イメージの作成が開始されるので、「閉じる」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-7-1024x505.png

画面左側メニュー「イメージ」の中の「AMI」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-8-1024x499.png

ステータスが「Available」になっていれば、イメージの取得は完了です。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-9-1024x514.png

スナップショットとAMIの両方を確認します。両方とも作成されてますね。

イメージからの仮想インスタンスの起動

使用するイメージを選択し、「起動」をクリックします。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-10-1024x514.png

その後は、インスタンスをEC2上で普通に起動させる時と同じ手順です。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-11-1024x505.png

インスタンスの起動が完了したら、SSHでログインしてみます。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-12-1024x511.png

Grepして見てみると、Apacheが既にインストールされているのが分かります。初期時にインストールすると、Apacheは入っていないので、取得したイメージから起動したインスタンスだと分かりますね。

画像に alt 属性が指定されていません。ファイル名: 停止Pasted-Graphic-13-1024x511.png

イメージの削除

イメージの削除時の注意点は、「登録解除」というオペレーションを行う必要がある点です。失敗を含めて、実際に見ていきます。

画面左側メニューから「スナップショット」をクリックします。

スナップショットの一覧が表示されます。

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

「アクション」から「削除」をクリックします。

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

スナップショットの削除のポップアップが出ますので、「はい、削除する」をクリックします。

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

スナップショット削除中のエラーが表示され、削除ができません。何度、「はい、削除する」をクリックしても同じです。

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

一旦、「キャンセル」をクリックします。

画面左側のメニューから、「イメージ」→「AMI」をクリックします。

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

対象のスネップショットを選択し、「アクション」→「登録解除」をクリックします。

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

このイメージの登録を解除して良いですか?のポップアップが表示されますので、「次へ」をクリックします。

登録解除が行われ、AMIが削除されます。

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

画面左側のメニューから「スナップショット」をクリックします。

対象となるスナップショットを選択し、「アクション」→「削除」をクリックします。

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

今度は、スナップショットが削除できましたね。

ポイント

  • イメージの作成の際には、対象のインスタンスを停止させる。
  • イメージの作成を行うと、スナップショットとAMIの両方が作成される。
  • イメージの削除の際は、AMIの「登録解除」を行う必要がある。
  • スナップショットからAMIを作成することもできる。

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

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

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

AWSを学ぶ(11)ストレージサービス

AWSのストレージサービスは、代表的なものとして、以下のものがあります。

  • Amazon EBS (Elastic Block Store)
  • Amazon EFS (Elastic File System)
  • Amazon S3 (Simple Storage Service)
  • Amazon Glacier
  • Amazon Storage Gateway

2020年8月時点では、AWSの公式ページで記載されているトレージサービスとしては、11個あるみたいです。

Amazon EBSは、ブロックストレージです。ブロックストレージとは、データをブロック単位で管理するストレージのことです。データベースや仮想インスタンスのイメージ保存領域として使われます。プロトコルとしては、SATA、SCSI、FCでアクセスされます。

Amazon EFSは、ファイルストージです。ブログストージの上にファイルシステムを構築し、データをファイル単位で階層で管理し、複数のクライアントからネットワーク上で共有としてアクセスさせる用途で使います。プロトコルとしては、NFS v4.0/v4.1でアクセスされます。

Windowsで標準に使用されるファイル共有プロトコルであるSMB(SMB v2.0 – v3.1.1)向けのファイルストレージとしては、以下のものがあります。

  • Amazon FSx for Windows File Server

ファイルストレージとしては、以下のものもあります。Luster クライアントから使用され、S3と連携ができます。

  • Amazon FSx for Lustre

Amazon S3/Glacierは、オブジェクトストレージです。ファイルに任意のメタ情報を追加して、オブジェクトとして管理します。ファイルの内容を直接操作することは出来ず、HTTP/S経由での操作で使用されます。プロトコルとしては、HTTP、またはHTTPSでアクセスされます。

Amazon Storage Gatewayは、ストレージサービスというよりは、データ転送サービスです。データ転送として、Storage Gatewayの他に、以下のものもあります。

  • AWS DataSync
  • AWS Transfer Family
  • AWS Snow サービス

AWSが提供するストレージサービスはたくさんあるので、まずは一番代表的なEBSから学んでいきたいと思います。

Amazon EBS

EC2のOSの領域として利用されます。追加ボリュームとして複数のEBSをEC2にアタッチすることも可能となります。

EBS は単一のEC2にのみアタッチ可能なサービスです。複数のEC2インスタンスから同時にアタッチする用途には使えませんません。

また、EBSは作成時にAZを指定するため、異なるAZのEC2インスタンスから使うということもできません。

異なるAZのEC2インスタンスに使わせたい場合、EBSのスナップショットを取得し、そのスナップショットから指定のAZでEBSボリュームを作成することで、アタッチが可能となります。

EBSのボリュームタイプ

EBSのボリュームタイプとして、以下の4つがあります。

  1. 汎用 SSD (gp2)
  2. プロビジョンド IOPS SSD (io1)
  3. スループット最適化 HDD (st1)
  4. Cold HDD (sc1)

1. 汎用SSD

EBSの中で最も一般的なもので、SSDを使ったボリュームタイプです。1TB未満のボリュームでは、一時的なIOPSの上昇に対応できるように、バースト機能が用意されています(デフォルトはこのタイプ)。

2. プロビジョンドIOPS SSD

EC2の中で最も高性能なSSDをベースとしたボリュームタイプです。EC2でデータベースを使うなど、高いIOPSが求められる時に使われます(高いIOPS性能が必要であればこのタイプ)。

3. スループット最適化HDD

スループットを重視したボリュームタイプです。ログデータの処理やバッチ処理のインプット用ファイルといった、大容量ファイルを高速に読み取る用途で使われます(スループットが必要であればこのタイプ)。

4. Cold HDD

性能は低いですが、一番コストが安いボリュームタイプです。アクセス性能がそれほど求められないデータに、シーケンシャルでアクセスさせるなど、アーカイブの用途で使われます(アクセスが少ないのであればこのタイプ)。

ベースライン性能とバースト性能

プロビジョンドIOPS以外のストレージタイプには、ストレージ容量に応じてベースライン性能があります。

プロビジョンドIOPS以外のストレージタイプには、バースト性能という指標もあります。

ただし、バースト性能は一時的な処理量の増加に対応するためのものであるため、これに頼った祭神ずはしないことが推奨されます。

ただし、バースト性能は一時的な処理量の増加に対応するために使われるものであるため、これなら頼ったサイジングはしないことが注意点となります。

EBSの拡張と変更

EBSボリュームの変更と拡張作業時には、以下の注意点があります。

  • EBSボリュームに対して変更を行った場合、同一のボリュームに対しての変更は6時間以上開ける必要があります。
  • 現行世代以外のEC2インスタンスタイプで使用中のEBSボリュームに対する変更は、インスタンスの停止なEBSボリュームのディタッチが必要となります。

容量の拡張

EBSボリュームは、容量が足りなくなれば、何度でも拡張が可能となりますが、最大容量は、1ボリュームあたり16TBとなります。

オンライン中のEBSボリュームを変更した場合、OS側からファイルシステムの拡張作業を行わないと、OSから拡張した領域が見えません。これは、VMWARE vSphereなどのハイパーバイザー上で動いている仮想インスタンスのストレージ領域を拡張した時と同じですね。

ボリュームの拡張はできますが、縮小はできません。どうしても縮小したい場合は、新規のEBSボリュームを使い、古い方のボリュームを削除するといったオペレーションを行う必要があります。

ボリュームタイプやIOPSの変更

「gp2を使っていたが、io1に変更したい」など、あとからでもタイプの変更が可能となります。

また、追加のプロビジョニングを行い、IOPSを増やすことも可能です。IOPSに関しては、増減のどちらも可能となります。ただし、IOPSの変更は、24時間程度かかると見ておいた方が良いです。

可用性・耐久性とスナップショット

コンポーネントが障害になった際に備え、EBSは内部的にAZ内の複数の物理ディスクにレプリケーションが行われており、一般的なHDDよりも可用性が高いです。このため、SLAは99.99%と言われています。

また、EBSにはスナップショット機能があり、バックアップを取ることで、必要な時点へ戻すことも可能となります。

スナップショット取得時の注意点は、スナップショットを取る際、必ず対象となる仮想インスタンスを停止させることです。停止をさせないと、データの不整合が発生する可能性があります。

スナップショットを作成すると、AMIも同時に作成されます。後からスナップショットを使って、AMIを作成することもできます。

スナップショットを削除したい場合、AMIの「登録解除」を行わないと削除ができません。

EBSの停止

EBSはEC2お仮想インスタンスにアタッチして使用します。EC2は使用しない時に「停止」という操作を行い、稼働を停止することができます。停止中のEC2仮想インスタンスに課金はされません。しかし、EC2仮想インスタンスを停止にしていても、EBSには課金が発生します。

セキュリティー

EBSにはストレージ自体を暗号化するオプションがあり、暗号化はEC2仮想インスタンスのブートボリュームとデータボリュームの両方に適用ができます。暗号化にはAES256が使用されています。暗号化は、すべての EBS ボリュームタイプでサポートされます

暗号化オプションを使うと、ボリュームが暗号化されるだけでなく、暗号化されたボリュームからのスナップショットも暗号化されます。

EBS暗号化の適用範囲

  • ボリューム内の保存データ
  • ボリュームとインスタンスの間で移動されるすべてのデータ
  • ボリュームから作成されたすべてのスナップショット
  • それらのスナップショットから作成されたすべてのボリューム

既に作成済みのボリュームを暗号化したい場合は、以下の手順で行います。

  1. ボリュームのスナップショットを取得
  2. スナップショットを暗号化
  3. 暗号化されたスナップショットから新規のEBSボリュームを作成
  4. 暗号化されたスナップショットから新規のEBSボリュームを作成

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

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

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

AWSを学ぶ(10)RDSとは

RDS: Relational Database Service は、AWSがマネージドサービスで提供するリレーショナルデータベースサービスです。

リレーショナルデータベース(RDB)とは?

RDBとは関係性データベースとも呼ばれ、行と列の2つの軸で表されるデータベースのことです。イメージとしては、高機能なExcelと考えると分かりやすいです。このリンクが参考になります。

マネージドサービスとは?

マネージドサービスとは、通信サービスやITサービスなどのうち、サービスの利用に必要な機器やソフトウェアの導入や管理、運用などの業務も一体的に請け負うサービスのこと。このリンクが参考になります。

つまりRDSを使うことにより、サーバーやOS、パッチ当てなどをAWS側でサービスに含めて提供してくれるので、ユーザー側で管理する必要がなくなるということです。

これにより、構築にかかる負荷を少なくすることができ、ユーザー側は、ビジネスとして価値を生む「コア」となる部分に注力することができるようになります。クラウドって感じです。素晴らしいですね。

青色の部分が、ユーザー側管理となるもの
AWSで提供されるマネージドサービスの例
  • Amazon RDS
  • Amazon RedShift
  • Amazon ElastiCache
  • Amazon S3
  • Amazon Route 53
  • Amazon CloudFront
  • Amazon SQS
  • Amazon SES

RDSの基本

RBSは、AWSが提供するリレーショナルデータベース(RDB)のサービスです。

AWSのRDSで対応しているデータベースは、以下のものがあります。

  • Amazon Aurora:Amazonが提供しているリレーショナルデータベースです。
  • Postgre SQL:オープンソース型の人気が高いリレーショナルデータベースです。
  • MySQL:MySQLもオープンソース型のリレーショナルデータベースです。
  • Mariaデータベース:MySQLをもとに作られたデータベースです。操作性や使用方法はMySQLによく似ています。
  • Oracle:世界で最初に採用されたRDBMSで、最も広く利用されています。
  • SQL Server:マイクロソフト社が提供しているRDBです。

RDSの特徴

AWSのマルチAZを使うことで、マスター・スレーブ構成が簡単に作れますので、DBの可用性を上げることができます。

マスター側のデータが書き変われば、自動でスレーブ側に同期もしてくれます。

通常、DBサーバーはフロントエンドとなるウェブサーバーを経由してアクセスすることになりますが、ウェブサーバーからDBサーバーにアクセスするときは、IPアドレスではなく、「エンドポイント」と呼ばれるアドレスのようなもので接続をします。

AWS内のDNSでこのエンドポイントと実際にDBサーバーが使っているIPアドレスのマッピングをしていますので、マスター側機器の障害時にスレーブ側機器に切り替わっても、マッピングも更新されますので、エンドポイントは変わりません。

AWS内のDNSでこのエンドポイントと実際にDBサーバーが使っているIPアドレスのマッピングをしていますので、マスター側機器の障害時にスレーブ側機器に切り替わっても、マッピングも更新されますので、エンドポイントは変わりません。

リードレプリカ

DBへのトランザクションが増えて負荷が上がると、システム全体のパフォーマンスが低下してしまいます。

また、DBの特徴として参照のトランザクションがほとんどとなります。このため、参照専用のDBを用意できます。これがリードレプリカです。

DBのレコード内容を変更や削除したい場合、マスターとなる機器側を変更すれば、リードレプリカ側の機器にも情報が同期されます。

バックアップの自動取得

  • スケジューリングを行い、自動的にバックアップとしてのスナップショットを取得することができます。もちろんマニュアルでのバックアップも可能です。
  • スナップショットを元に、新しいDBを構築することも可能となりますので、ある時点のデータに戻したいとなった時ににも使えます。
  • EC2上に自分でDBサーバーを立てた場合、Cronなどを使ってバックアップのスケジューリングをする必要があるが、RDSはマネージドサービスなので、その機能も提供されます。

パッチ当ての自動実施

  • OSレベルでのパッチ当てが必要となった場合、スケジューリングをしてメンテナンスウィンドウを設けて、自動で実施することが可能です。

パラメーター設定

  • RDSの制約として、SSHを使ってDBサーバーに接続することはできず、SQLコマンドを使って接続する必要があります。
  • その代わりに、パラメーターグループという機能があり、管理コンソールから設定が可能となります。
  • この設定変更も、スケジューリングを行い、メンテナンスウィンドウを設けて実施することができます。

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

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件)