カテゴリー
2021年 Riverbed SD-WAN クラウド コンピューター 技術一般

リバーベッドのSD-WAN製品分析と実装メモ


にほんブログ村

某お客様で SD-WAN を導入したいという話がありました。そこでリバーベッドテクノロジー社の SD-WAN 製品であるSteelConnect EX を提案しました。

その時にいろいろと動作確認しましたので、メモとして残しておこうと思いました。

SD-WAN ですが、ヘッドノードのサーバーで構成されるコントロールプレーンと、実際にユーザーデーターを転送するデータプレーンの 2つで構成されます。

ヘッドノードは、ハードウェア版と仮想版があるのですが、今回は、仮想版を使用しました。VMWare ESXi上で動作します。

SD-WAN ヘッドノードですが、

  1. Director
  2. Controller
  3. Analytics

という 3つのサーバーから構成されます。

このうち、1 と 2 はヘッドノードとして必須コンポーネントとなり、3 はオプションとなります。

注意点は、ヘッドノードを構成して運用が始まった後に、Analyticsサーバーを後から追加するためには、設定を全て初期化する必要があります。

そのため、Analyticsが必要であるかどうかは、最初によく検討しておく必要があります。

SD-WAN がなぜ求められるのか

SD-WAN と言っても、結局は、ルーターやスィッチです。

ですが、コントロールプレーンとデータプレーンを分け、設定や管理は全てコントロールプレーンで集中管理し、データプレーンはデータを転送することのみに集中しているという点が異なります。

これにより、データプレーンの機器は比較的安価なもので良くなり、中央管理できるので、運用管理のコストも下げられます。

また、クラウドを利用することが当たり前になった今、ローカルブレークアウトを使うことも普通になりました。

このためには、アプリケーションをポート番号レベルではなく、L7(アプリケーション)レベルで認識する必要があります。

このアプリケーション情報を使って、アプリ1 はインターネット、アプリ2 は MPLS、アプリ3 はインタネットVPN、という感じで経路を使い分けることができます。

これは、従来のルーターやスィッチでは難しかったことです。

PBR (Policy Based Routing) で、経路を使い分けることはできました。ですが、PBR のポリシーは、ACL (Access Control List) で定義されます。ACL は、IPアドレスとポート番号の組み合わせで成り立っています。

現在のアプリケーション、特にインターネット向けは、85% 以上が暗号化されています。つまり HTTPS(TCP/443)です。

ポート番号でしか指定できないと、HTTPS が一括りでしか制御できず、経路選択の意味がほとんどないという状態になります。

ここで Ciscoは、PfR (Performance Routing) と NBAR (Network Based Application Recognition) を組み合わせた設定を推していましたが、これを使うためには、ルーターにパワーが必要です。大型の機器になってしまうのです。

こういった点でも、SD-WAN ならお手軽に実現できます。

リバーベッドテクノロジー社の SD-WAN

リバーベッドテクノロジー社の SD-WAN ですが、最初はドイツの Ocedo社を買収しています。これを自社製品として、SteelConnect CX として販売をしました。

ですが、この製品は、エンタープライズクラスのルーティング向けには機能が足りないことが分かり、今度は、Versa Networks社と技術提携し、OEM 販売をしています。これが今回の SteelConnect EX です。

Versa Networks ですが、元々 Juniper Networks にいた人たちが結成した会社であり、ルーティング機能は非常にしっかりしています。エンタープライズルーティングという面でバッチリです。

そして、Next-Gen Firewall、URL フィルタリング、Anti Virus、IPS/IDS といったセキュリティー機能も豊富に搭載しています。リバーベッドテクノロジー社はこれを OEM 販売しているため、SteelConnect EX にも、同じ強みと特徴があります。

そして、リバーベッドテクノロジー社と言えば、WAN最適化のSteelHeadです。リバーベッドテクノロジー社の SD-WAN ルーターには、SteelHead の機能も搭載できます。

SteelConnect EX には、エンタープライズルーティング、セキュリティー、WAN最適化という SD-WAN に求められる 3つの機能の全てが搭載されているという訳です。

私のお客様も、SteelHead 大好きユーザーの1つでして、SD-WAN を検討された際に、SteelConnect EX 以外は考えられないと言われてました。

次回から、SteelConnect EX のヘッドノードをインストールした際のメモを紹介していきます。

関連する記事:

最近の記事:

カテゴリー
2021年 AWS Azure クラウド コンピューター トラブルシューティング 技術一般 証明書

SSL証明書を簡単に取得する方法 – Wiresharkで証明書を抽出

Webサーバー向けのテストをしていると、代理証明書が必要となるケースが多いです。特に、インターネット上にあるサーバーに対しての通信テストとなると、それらのサーバー署名書をまず手に入れ、その内容を元に、代理証明書を作成する必要があります。

インターネット上にあるサーバーの証明書ですが、実は簡単に内容を取得することができます。パケットキャプチャ(TCP ダンプ)を取得するのです。

パケットキャプチャには、通信の全てが含まれています。当然、サーバー証明書も含まれます。このやり取りの証明書の部分を指定して、証明書だけを抜き出せば良いのです。

サーバ証明書の抜き出し方

まず、証明書を取得したいサーバーにアクセスをし、その通信をWiresharkを使ってパケットキャプチャします。

Server Hello が飛んできた後に、Certificateのやり取りが見えます。この中に証明書が入っています。上の画面キャプチャーの青色で反転させているパケットです。このパケットの中を見ていきます。

  1. Secure Sockets Layer
  2. TLSV1.2 Record Layer: Handshake Protocol : Certificate
  3. Handshake Protocol: Certificate
  4. Certificates (バイト数)

の順にクリックして、詳細を表示させます。

その中に、Certificate (id-atCommonName=ドメイン名)のパケットが見えます。

id-at-ConnomName=w.usabilla.com を取り出してみます。

そのパケットを選択し、右クリックメニューを表示させます。

メニューから、Export Selected Packet Bytes… をクリックします。

このパケットを、証明書として保存します。名前をつけて保存のウィンドウが表示されますので、ファイル名のところで名前を指定します。

この時のポイントは、拡張子を「.crt」にして保存することです。こうすることで、Windows 上からは証明書として認識されますので、ダブルクリックで中が見られるようになります。

証明書の内容を見てみる

名前をつけて保存した証明書ファイルを開いて、中をみてみましょう。

w.usabilla.com.crt の証明書を、駄ぬんるクリックして開いてみます。

発行社はAmazonなんですね。

「詳細」タブをクリックして、証明書の詳細も見てみましょう。

証明書の記載項目の一覧が表示されますので、「サブジェクト」をクリックしてみます。

CN: Common Name が表示されましたね。

次に、「サブジェクト代替名」をクリックしてみます。

SAN: Subject Alternative Name が表示されましたね。

証明書の中身が分かりましたので、これで代理証明書を作成することが可能です。自分でCA局のサーバーを建てて、そこでサインして発行するのも良いのですが、オンラインで簡単に証明書を発行できるサイトがあります。

これも使ってみてください。

関連する記事:

最近の記事:

カテゴリー
2021年 Linux Riverbed SaaS Windows キャッシュ クラウド コンピューター 技術一般 自動化 証明書

モバイル PC で SaaS の快適アクセス

Riverbed TechnologyのClient Accelerator(旧SteelHead Mobile) という製品を触ってみました。

なぜ、この製品を触ってみたかというと、バージョン 6.2.2 にSSL Agent (SSL Simplification)という機能が搭載され、最適化動作にサーバ証明書の管理が不要となったためです。これは便利!と思い、早速、評価してみました。

SteelHead Appliance とは

業界をリードする WAN 最適化装置です。WAN越し、インターネット越しのアプリケーションアクセスのパフォーマンスを向上させます。WAN やインターネットに流れるデータを、特別なキャッシュの技術を使ってデータ削減します。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

Client Acceleratorとは

SteelHead アプライアンスをソフトウェアにした製品です。Windows や Mac のラップトップにインストールして使えます。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

なぜ、SSL Agentが良いのか?

インターネットの通信の 85%以上が SSL 通信(HTTPS)であると言われています。つまり、暗号化されているのです。

こういった暗号化された通信を制御する製品では、通信を一旦終端し、暗号化を解く必要があります。

この暗号化には、サーバ証明書を使用しています。

企業内にホスティングされている Web サーバーであれば、そのサーバーの管理者に依頼すれば、サーバー証明書を入手することは可能です。

ですが、これがインターネット上のサーバーだったら、どうでしょうか。誰が管理者か分からないし、管理者が仮に分かっても、サーバ証明書は通常得られません。

インターネット上サーバーの証明書は、管理者に依頼しなくても、サーバ証明書の内容は入手することは可能です。ですが、いつそれらの証明書の内容が変更になるかは分からないという点は変わりません。その内容に合わせて代理証明書を作っても、元の証明書の内容が変更になるたびに代理証明書の方も変更する必要があり、管理が大変です。

WAN 最適化装置も、クライアント PC と Web サーバーの間の通信に入り込んで動作しますので、暗号化された通信は一度復号化する必要があります。そこに、サーバ証明書を使っています。

企業内の Web サーバーであれば、管理者に依頼してサーバー証明書を入手し、その証明書を WAN 最適化装置にもインストールしれば良いので対応できます。

しかし、これが Microsoft 365(Office 365)へのアクセスだったらどうでしょうか。マイクロソフトからサーバー証明書はもらえません。

復号化ができませんので、最適化動作(特に問題になるのはデータ削減)ができなくなります。

仮に、先ほどの方法で内容を把握し、自分で代理証明書を作成することは可能ですが、その内容が変更になったら、証明書がないのと同じです。マイクロソフトは、M365 の証明書をかなり頻繁に変更しています。

SSL Agent の登場

こういった問題を解決できるのが、SSL Agent です。この機能を使えば、サーバ証明書のインストールは不要になります。どうやったら証明書が入手できるのかとか、いつ変更になるのかを気にする必要はもうありません。

動作確認の構成

テスト構成はこんな感じです。

Client Accelerator と SteelHead の間に WAN シミュレーターを入れ、ここで疑似インターネットを作っています。WAN シミュレーターで、帯域幅や遅延、パケットロスが設定できます。今回のテストでは、100ミリ秒の遅延を入れています。

WAN シミュレーターには、WANemを使っています。

そして、アクセス先は、実際の M365 を使っています。私が個人で契約して使っているものですので、東京リージョンになります。M365 へのアクセスは、実インターネットの通信です。

データ削減の効果

OneDrive に保存してある 68MB のパワーポイントのドキュメントをダウンロードしてみました。

以下のグラフの一番上のコネクションが、OneDrive からのダウンロードのコネクションです。転送データの内、41% のデータが重複排除され削減されています。通信の宛先ポート番号がTCP/443(HTTPS)になってますね。サーバ証明書なしで、データ削減ができています。

キャッシュの無い一回目のデータ転送でも半分弱のデータが削減されてます。すごい効果ですね。40秒ほどで、ダウンロードが完了しています。

今度は、二回目の転送です。以下のグラフの上から2番目のコネクションが、OneDrive からのダウンロードのコネクションです。

同じパワーポイントのファイルを再度転送しています。91% のデータ削減です。もうほとんど、疑似インターネット上にはデータが流れてません。流れるデータの量が減れば、とうぜん体感のスピードだって上がりますよね。数秒でダウンロードは完了しています。

同じファイルなんだからデータが減って当たり前、という考え方もあります。

ですが、Riverbed 社のキャッシュは、ファイルキャッシュではなく、バイトキャッシュを使っています。

約100バイトの大きさにデータを細切れにし、その中の「0」と「1」の配列が同じであれば、1つにするという方式で、データ削減を行っています。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

つまり、この「0」 と「1」の配列が同じであれば良いだけで、パワーポイントで得たキャッシュで、エクセルでも PDF でも、データ削減が出来ちゃうという訳です。すごい技術を持ってます。

もう一つのテスト構成

Web プロキシーサーバーというものは、企業でよく使われています。これがあった場合でも、この WAN 最適化の仕組みは動くのだろうか?という疑問が湧きましたので、追加で動作も見てみました。

Web プロキシーサーバーには、 Unveil Technology 社のOpen Squidbox を使ってます。Linux でお馴染みの Squid なんですが、仮想アプライアンスみたいになってて、手軽に使えます。GUI の画面からグラフを見られて便利です。

Web プロキシー経由での、一回目のデータダウンロードです。以下のグラフの上から2番目のコネクションです。今度は、宛先ポート番号がTCP/3128(Squid)になってますね。

一回目のキャッシュなしのダウンロードで、44%のデータ削減が実現しています。

今度は二回目のダウンロードです。以下のグラフの下から4番目のコネクションです。94%のデータ削減が実現しています。Web プロキシーを経由しても、データ削減の効果は得られていますし、変わらない結果が得られました。

評価のまとめ

  • キャッシュを使ってのデータ削減と差分データ転送の効果は高い。
  • 運用すればするほどキャッシュは溜まるので、一回目のデータ転送時のデータ削減効果は高くなることが期待できる。
  • SaaS アプリケーションだけでなく、Yahoo や Facebook など、インターネット上にある Web サーバーは何でも最適化対象にできる。
  • ただし、ある程度の転送データ量があるコネクション(OneDrive や SharePoint のアクセス)を対象にしないと、投資効果が合わない。
  • ダイレクトアクセスでも、Web プロキシー経由のアクセスでも、通信を最適化することができる。

私のオーストラリアの某お客様が、シンガポールのデータセンターにある Web プロキシーを経由して Microsoft 365にアクセスしているが遅いといっていますので、早速、この SSL Agent を提案してみたいと思います!

SSL Agent の設定

最後に、設定内容もメモとして記載しておきます。

SteelHead アプライアンス側設定

SSL Main Setting のところで、SSL Optimization を有効にします。

SSL Advanced Settings のところで、TLS Blade を有効にします。

Client Accelerator Controller の自己証明書をコピーし、SteelHead アプライアンスのMobile Trust のリストに追加します。

これは、Client Accelerator ソフトウェアとSteelHead アプライアンス間(最適化通信のコネクション)を暗号化するためです。

Client Accelerator Controller 側のポリシーの設定

Port Label で、「Web」というラベルを作成し、TCP/80, 443, 3128を対象としています。Port Label とは、複数のポート番号をグループ化して名前で管理できるようにするものです。

In-Path ルールで、Webでまとめたポート番号向けの通信を全て最適化対象とするというルールを設定します。

今回使用しているルールの内容です。

Peering 証明書のところに、SteelHeadアプライアンスの自己証明書をコピーして追加します。Client Accelerator ソフトウェアとSteelHeadアプライアンス間の最適化通信を暗号化するためです。

SSL 設定のところで、SSL Optimization を有効にします。

その設定ページの下の方にあるTLS Optimization を有効にします。

Client Accelerator の評価版は、こちらから申請して試すことが可能です。


にほんブログ村

関連する記事:

最近の記事:

カテゴリー
2021年 AWS Azure SaaS クラウド コンピューター サーバレス 技術一般 証明書

オンラインで簡単に証明書を発行する方法


にほんブログ村

アプリケーションのテストを行う時、サーバ証明書が必要になることがあると思います。私の場合ですと、インターネット上のアプリケーション(SaaS)の代理証明書が欲しいケースが多いです。

CA 局を持っていれば、そのサーバーで、証明書の発行もサインもしてしまえば良いのですが、たまにしか使わない証明書発行のために、わざわざ CA 局のサーバーを構築するのも手間です。

そんな時に、オンラインで発行してくれるサイトを見つけました。CertificateTool.com というサイトです。

必要となる各種証明書を発行できます。

もちろん、暗号化のビット数も選べます。

証明書の中に含める属性だって、自由に追加・削除可能です。

Subject Alternative Names (SAN) を追加してみました。

Certificate Signing Request (SCR) もでき、その際のハッシュのアルゴリズムも選べます。

SCR なのか、自己署名なのかの選択も可能です。

今回は、SHA256のハッシュで、自己署名、期間は1年で作成してみます。

Submit ボタンを押せば完了です。

できました。非常にお手軽です。ダウンロードの画面に移動するので、そこから必要となる証明書をダウンロードできるようになります。

プライベートキーはテキストベースで入手も可能です。

証明書も、テキストベース、PEM などのファイル形式でも入手可能です。以下の形式をサポートしてます。

  • PEM Certificate
  • PKCS#12 Certificate and Key
  • PKCS#7 Certificate(s)

CSR もできるから、ここで発行した証明書を、自社のCA局でサインして使うことだってできちゃいます。

Office 365 のような SaaS サービスで使用されているサーバー証明書が欲しい場合、代理証明書としてのサーバー証明書を作成します。要は、実際に Office 365 で使用されている証明書と同じ内容のサーバ証明書を自分で作成し、自分のCA局でサインするのです。

代理証明書を作成する上で必要な情報は、「CN」や「SAN」になります。Microsoft がウェブ上で公開している情報もありますが、実際に Office 365 にアクセスし、通信の中で飛んでくる証明書をパケットから抜き出して内容を確認することが一番確実です。

具体的には、Outlook を使って Exchange Online に通信し、その時のパケットキャプチャーを取得することです。

実際の手順を紹介していますので、こちらをご参照ください。

関連する記事:

最近の記事:

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

AWS を学ぶ(24)3つのメッセージングサービス


にほんブログ村

AWS には、SNS(Simple Notification Service)、SQS(Simple Queue Service)、SES(Simple Email Service)といった 3 つのサービスがあります。

これらの違いは以下のようになります。

  • Amazon SNS:プッシュ型の通知が得意。メール通知、SMS、モバイルプッシュが可能。要領制限があり、長文メッセージには向いていない。
  • Amazon SES:Eメールでの配信が得意。コンテンツ配信に向いているが、メール以外での配信はできない。
  • Amazon SQS:プル型のメッセージ処理が得意。非同期型のメッセージをキューイングする。

Amazon SNSとは

Amazon SNS(以下、SNS)は、わざわざそのためだけにサーバーを用意しなくても、SNS サービスを利用することで、アプリケーションからの通知を可能にします。ユーザーが何かを行ったタイミングを起点としてで通知するメッセージングを手軽に実現できます。

具体的な通知の例としては、商品が発送されたタイミンングでの発送完了通知や、フリーマーケットで商品が売れた時の通知などがあります。

またこれだけでなく、登録ユーザー全員に一斉告知のメッセージを送るという使い方もできます。

SNSの特徴
  • イベントをトリガーとしてのメッセージ

商品の購入、アカウント情報の変更、コンテンツの更新などの利用できます。

  • モバイル端末へのプッシュ機能

iOS、Android などのスマートフォンに対してプッシュ通知が行えます。

  • セキュリティーを確保

HTTPS API による通信のセキュアな状態を保つことが可能です。

  • サービスとしての利用

前払いや最低料金などはなし。完全な従量課金制で使った分しか支払う必要がありません。

Amazon SES とは

Amazon SES (以下、SES)は、AWS が提供するメールサービスです。メールサーバーをわざわざ用意しなくても、SES サービスを利用すれば、メール配信が可能になります。

具合的な使い方としては、マーケティングメールの配信メールマガジンの配信などがあります。

SES は、導入コストが安いことや、固定費用が掛からず従量課金という点で、企業レベルでの利用だけでなく、個人レベルでの利用にも向いています。

SES の特徴
  • 安い導入コスト

AWS のアカウントとメールアドレス、利用可能なドメインがあれば利用できます。

  • 低価格な料金

固定費用や最低料金はなし、従量課金で利用できます。

EC2 でホストされているアプリケーションからの配信の場合、毎月最初の 62,000 通は無料です。その後でも、1,000 通毎に、0.1 USDしかかかりません。

  • 高い信頼性

SES には、送信したメールが確実に届く様に、信頼性を高める機能があります。送信頻度のコントロールやアドレス偽装対策などです。

Amazon SQS とは

Amazon SQS(以下、SQS)は AWS が提供するキューイングサービスです。アプリケーションの切り離し(疎結合)とスケジューリングといった処理を、AWS のサービスで行えます。

キューとは、メッセージを管理するための入れ物のようなものです。

エンドポイントと呼ばれるURLを介して、キューに入ったメッセージを利用します。

SQS の利用パターン例

  • 一回の処理で許容する処理時間を超過しそうな場合
  • 一度に大量のデータ件数を処理する場合
キューの種類

キューの種類には、以下の 2種類があります。

処理数が優先なら標準キュー、順序が重要なら FIFO キューといった使い方になります。

  • 標準キュー(Stanadrdキュー)

ほぼ無制限のトランザクション数(TPS)を処理します。

ただし、メッセージを受け取った時とは異なる順序で配信されることもあります。また、複数の同じメッセージのコピーが配信されることもあります。

  • FIFO キュー

バッチ処理なしで毎秒最大 300 件、バッチ処理ありで最大3,000件のトランザクション (TPS)をサポートします。また、メッセージが送信または受信された順序が厳密に保持されます (先入れ先出し)。

トランザクション処理は、標準キューより下がります。

SQS 向けの機能
  • 可視性タイムアウト

設定した期間、重複したメッセージ配信が行われないようにする機能

メッセージは、受信しただけでは削除されず、クライアント側からの明示的な削除指示を受けた際に削除されます。そのため、メッセージの受信中に、たのクライアントが取得してしまう可能性もあります。それを防ぐ機能となります。

デフォルトは30秒で、最大12時間まで設定できます。

  • ショートポーリングとロングポーリング

キューからのメッセージ取得の際で、対象のキューがない場合、キューに新規登録されるのを一定時間待つ機能。

待機する(メッセージがある場合にレスポンスを返す)のをロングポーリング、待機しない(リクエストを受け取ると、メッセージがあるなしに関わらず、即レスポンスを返す)のをショートポーリングと呼びます。

デフォルトはショートポーリングになります。

  • デットレターキュー

正常に処理できないデータを別のキュー(デッドレターキュー)に格納する機能

問題のあるメッセージ(処理失敗を1ー1,000回で設定)を分離して、処理が成功しない理由を調べることができるため、デッドレターキューは、アプリケーションやメッセージングシステムのデバッグに役立ちます。

  • 遅延キュー

キューに送られたメッセージを、一定時間見えなくする機能

  • メッセージタイマー

個々のメッセージを一定間隔見えなくする機能

メッセージサイズ

キューに格納できるメッセージサイズの最大は256KBとなります。

大きなサイズのデータを扱う際には、S3やDunamoDBに一旦格納し、そこへのパスやキーといったポインターとなる情報を渡すことで対応できます。

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

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

AWSに関連する記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS PaaS クラウド コンピューター サーバレス 技術一般 自動化

AWS を学ぶ(23)CloudFormation を使ってみる


にほんブログ村

前回の記事で、CloudFormation がどのようなものなのかを調べてみました。

今回は、実際に使ってみたいと思います。

  1. テンプレートでVPC を作成する
  2. Ref 関数でサブネットを作成する
  3. その他のネットワーク関連を作成する
  4. EC2 のひな形を作成する
  5. Parameters セクションを使って、実行時にEC2 のインスタンスタイプを選択できるようにする
  6. Parameters + AWS 固有のパラメーターを使用して、アカウントにあるキーペアを、EC2 実行時に埋め込む
  7. スタックの削除する

CloudFormation を使ってみる

テンプレートから基本環境の作成

まず最初に、VPCの状況を確認しておきます。

私の環境では、東京リージョンに、現在3つのVPCがあります。

AWS の管理コンソールの検索テキストボックスから、「CloudFormation」を検索してクリックします。

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

「スタックの作成」をクリックします。

スタックの作成画面が表示されます。

前回のサンプルテンプレートを使用します。サンプルスクリプトを保存し、拡張子を「.yml」にしておきます。

「ファイルの選択」をクリックし、YAMLのサンプルファイルを読み込ませます。

「デザイナーで確認」をクリックすると、YAMLファイルを読み込んで作成するスタックの状況がみられます。

VPCを作成する部分だと、こんな感じですね。

画面を戻を戻ると、作成のし直しになっちゃいますね。これって、見ない方がいいのかな?

進めると、スタックの名前の画面が表示されます。

スタックの名前を入力します。

「次へ」をクリックして進みます。

スタックのオプションの画面が表示されます。

今回は特に設定しません。

「次へ」をクリックして進みます。

レビューの画面が表示されますので、内容を確認します。

「スタックの作成」をクリックして、スタックを作成します。

スタックの作成が始まりました。

画面左側のメニューで、「CREATE_COMPLETE」の緑色の文字が表示されれば、スタックの作成は完了です。

「リソース」タブをクリックすると、リソースの一覧が表示されます。

VPCとサブネットが作成されていますね。それぞれの名前を見てみると、YAMLファイルの中で指定したものになっていますね。

VPC の画面を見ていますと、先ほど3つしかなかったVPC が4つになってますね。「cfn-vpc」が、今回作成されたものです。

サブネットの画面を見てみると、サブネットも追加されてますね。「cfn-subnet」が、今回作成されたものです。

インターネットゲートウェイも見てみます。新規で作成されてますね。「cfn-igw」が今回作成されたものです。

ルートテーブルも見てみます。ルートテーブルも新規で作成されてますね。「cfn-rt」が今回作成されたものです。

設定内容を追加する

最初に作ったテンプレートに、項目を追加するということはよくあることでしょう。今度は、それを想定して、別の項目を追加して反映させてみます。

今回試してみたいのは、前回作成したサブネット上に、新規でEC2 インスタンスを起動させることです。その際に、イメージサイズを選択して起動できるようにします。

前回のテンプレートに、以下の2つを追記してみます。

起動時に、インスタンスタイプを、「t2.micro」「t2.small」「t2.medium」の3つから選べるようにします。

Parameters:
  InstanceType:
    Type: String
    Default: t2.micro
    AllowedValues:
      - t2.micro
      - t2.small
      - t2.medium
    Description: Select EC2 instance type.
  KeyPair:
    Description: Select KeyPair Name.
    Type: AWS::EC2::KeyPair::KeyName

さらに、起動するインスタンスに、Keypairも指定できるようにします。

セキュリティーグループも作成し、SSHでのアクセスのみを許可します。

cfnEC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: !FindInMap [ RegionMap, !Ref "AWS::Region", hvm ]
      InstanceType: !Ref InstanceType
      SubnetId: !Ref cfnSubnet
      BlockDeviceMappings:
        - DeviceName: '/dev/xvda'
          Ebs:
            VolumeType: 'gp2'
            VolumeSize: 8
      Tags:
        - Key: 'Name'
          Value: 'cfn-ec2-instance'
      SecurityGroupIds:
        - !Ref cfnSecurityGroup
      KeyName: !Ref KeyPair
  cfnSecurityGroup:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "cfnSecurityGroup"
      VpcId: !Ref cfnVpc
      Tags:
        - Key: 'Name'
          Value: 'cfn-ssh-sg'
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '22'
        ToPort: '22'
        CidrIp: 0.0.0.0/0

変更するスタック名を選択し、「変更する」をクリックします。

今回は既存のテンプレートを変更しますので、「既存テンプレートを書き換える」を選択します。

「テンプレートファイルのアップロード」を選択します。

「ファイルの選択」から、追記したテンプレートファイルをアップロードします。

「次へ」をクリックして進みます。

インスタンスを起動させる際に、インスタンスタイプとキーペアを選択できるようにしたので、選択画面が表示されました。

今回は、インスタンスタイプ「t2.micro」とキーペア「amazon-linux-test」を選択します。

キーペアで表示される内容ですが、ご使用の環境で異なります。表示荒れるのは、自分の使用しているAWSのリージョンで使用できるキーペアです。

「次へ」をクリックして進みます。

スタックのオプション画面が表示されます。

今回は、オプションは何も設定しません。

「次へ」をクリックして進みます。

レビューの画面が表示されます。

設定内容を確認します。

「スタックの変更」をクリックします。

EC2 インスタンスの作成が始まりました。

スタックの変更が完了しました。

EC2 の管理コンソールを見てみると、指定した名前でインスタンスが起動していますね。

スタックの削除

対象のスタック名を選択し、「削除」をクリックします。

確認のポップアップウィンドウが表示されます。

「スタックの削除」をクリックします。

スタックの削除が開始されました。

数分待つと、スタックが完全に削除されます。

EC2 を見てみると、先ほど起動させたインスタンスが削除されています。

VPC の方も、この動作確認向けに作成したものは消えてますね。

CloudFormationは、テンプレートを作成して必要なリソースを作成することができるので便利です。

削除も、テンプレートに記載されたリソースを個別ではなく、全てを一気に削除してくれるので便利ですね。

注意点は、CloudFormationでリソースを作成した後に、マニュアルでリソースの変更をしないことです。テンプレートの内容と不一致になりますし、後からテンプレートを編集するのも大変になります。

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

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

AWSに関連する記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS PaaS クラウド コンピューター サーバレス 技術一般 自動化

AWS を学ぶ(22)CloudFormation とは何か?


にほんブログ村

AWS の自動化サービスは、以下の 3つがあります。

  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • CloudFormation

どのサービスにも向き不向きがあり、得意とする部分がありますので、要件に合わせて使用することが大切です。

Elastic Beanstalk

インフラ構成の自動構築とアプリ導入の自動化サービスです。こちらの記事で、以前調べています。

  • Web サーバー構成(ELB + AutoScaling + EC2)
  • バッチワーカー構成(SQS + AutoScaling + EC2)
  • OS より上も下も、標準構成の範囲内で対応(自由度は高くはない)

OpsWorks

Chef を利用した構成管理サービスです。

  • EC2 上のエージェントが OpsWorks 上の Chef レシピ(構成設計図)を参照し自動構築
  • 自前で Chef Client / Server を構築・保守する必要がない
  • Chef を既に利用している環境に最適
  • OS よりも下のレイヤーに関しては、できることが限られている

CloudFormation

AWS のリソース管理・構築を自動化するサービスです。

  • テンプレート(構築設計書)を JSON や YAML 形式で記述
  • テンプレートを元に、AWS のリソースを自動構築
  • OS より上は、Ansible や Chef を併用する必要がある
  • OS より下は、テンプレートに従って何でも可能(自由度が高い)

CloudFormation とは

CloudFormation は、以下の2つから構成されます。

  • テンプレート
  • スタック

テンプレート: AWS のリソースを JSON や YAML 形式で記載した構成設計図

スタック: テンプレートから構成された AWS のリソース群

複数のリソースを集合として管理しているため、削除する時も、個別でなく、全体で削除が可能となります。

テンプレートの構成

今回は、YAML 形式を使ってみます。サンプルのテンプレートは、こんな感じです。

テンプレートの内容ですが、

「VPC を作成し、そこにサブネットを 1つ作成し、IGW を作成して、デフォルトルートを向ける」

になっています。

AWSTemplateFormatVersion: '2010-09-09'
Description: Test CloudFormation Template

Resources:
  cfnVpc:
    Type: 'AWS::EC2::VPC'
    Properties:
      CidrBlock: '192.168.0.0/16'
      Tags:
        - Key: 'Name'
          Value: 'cfn-vpc'
  cfnSubnet:
    Type: 'AWS::EC2::Subnet'
    Properties:
      CidrBlock: '192.168.1.0/24'
      MapPublicIpOnLaunch: true
      Tags:
        - Key: 'Name'
          Value: 'cfn-subnet'
      VpcId: !Ref cfnVpc
  cfnInternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
      - Key: 'Name'
        Value: 'cfn-igw'
  cfnAttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref cfnVpc
      InternetGatewayId: !Ref cfnInternetGateway
  cfnRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      Tags:
        - Key: 'Name'
          Value: 'cfn-rt'
      VpcId: !Ref cfnVpc
  cfnRoute:
    Type: AWS::EC2::Route
    DependsOn: cfnInternetGateway
    Properties:
      RouteTableId: !Ref cfnRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref cfnInternetGateway
  cfnSubnetRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref cfnSubnet
      RouteTableId: !Ref cfnRouteTable

各項目を、1つずつ見ていきましょう。

「AWSTemplateFormatVersion: ‘2010-09-09’」ですが、バージョンの日付は、このまま使う必要があります。変更すると、エラーになります。

現在はこれを使うようにと、AWSのページにも記載がありました。

「Resources:」で、VPC、サブネット、IGW、ルートテーブルなどを指定して、設定をしていきます。

ここで指定できる項目や指定の仕方は、AWS のこちらのページに詳しく記載があります。

まず、VPC を作成します。

VPC で使用するアドレスブロックは、ここでは、「192.168.0.0 /16」 とします。

Tags の「Value:」 で、VPC の名前をタグ付けします。

  cfnVpc:
    Type: 'AWS::EC2::VPC'
    Properties:
      CidrBlock: '192.168.0.0/16'
      Tags:
        - Key: 'Name'
          Value: 'cfn-vpc'

次に、VPC 内に、サブネットを作成します。

サブネットで使用するアドレス範囲は、ここでは、「192.168.1.0 /24」 とします。

Tags の「Value:」で、サブネットの名前をタグ付けします。

「VpcId:」 で、どこの VPC 上にサブネットを作成するのかを指定するのですが、「!Ref」関数で、上で作成した VPC の名前を参照させます。

 cfnSubnet:
    Type: 'AWS::EC2::Subnet'
    Properties:
      CidrBlock: '192.168.1.0/24'
      MapPublicIpOnLaunch: true
      Tags:
        - Key: 'Name'
          Value: 'cfn-subnet'
      VpcId: !Ref cfnVpc

次に、Internet Gateway を作成します。

Tags の「Value:」で、Internet Gateway の名前をタグ付けします。

  cfnInternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
      - Key: 'Name'
        Value: 'cfn-igw'

次に、作成したInternet Gateway を VPC にアタッチします。

「VpcId:」で、どこの VPC にアタッチするするのかを指定するのですが、「!Ref」関数で、上で作成した VPC の名前を参照させます。

cfnAttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref cfnVpc
      InternetGatewayId: !Ref cfnInternetGateway

次に、ルートテーブルを作成します。

Tags の「Value:」で、Internet Gateway の名前をタグ付けします。

「VpcId:」で、どこの VPC にアタッチするするのかを指定するのですが、「!Ref」関数で、上で作成した VPC の名前を参照させます。

cfnRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      Tags:
        - Key: 'Name'
          Value: 'cfn-rt'
      VpcId: !Ref cfnVpc

次に、デフォルトルートを作成します。

「RouteTableId:」で、どのルートテーブルに作成するのかを指定するのですが、「 !Ref cfnRouteTable」関数で、上で作成したルートテーブルの名前を参照させます。

cfnRoute:
    Type: AWS::EC2::Route
    DependsOn: cfnInternetGateway
    Properties:
      RouteTableId: !Ref cfnRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref cfnInternetGateway

最後に、ルートテーブルをサブネットに関連づけます。

「SubnetId:」 で、どのサブネットに関連づけるのかを指定するのですが、「!Ref cfnSubnet」関数で、上で作成したサブネットの名前を参照させます。

「RouteTableId:」で、どのルートテーブルに作成するのかを指定するのですが、「 !Ref cfnRouteTable」関数で、上で作成したルートテーブルの名前を参照させます。

cfnSubnetRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref cfnSubnet
      RouteTableId: !Ref cfnRouteTable

「VPC を作成し、そこにサブネットを1つ作成し、IGW を作成して、デフォルトルートを向ける」

これくらいの作業であれば、GUI から行っても良いのですが、サブネットの数が多かったりすると大変です。自動化サービスを使うと便利ですね。

長くなってしまったので、実際にCloudFormation を使ってみるのは、次の記事にしたいと思います。

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

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

AWSに関連する記事:

関連する記事:

最近の記事:

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

AWS を学ぶ(21)Elastic Beanstalk って何だろう?


にほんブログ村

AWS Elastic Beanstalk (以下、Elastic Beanstalk)は、アプリケーションを実行するインフラを学習することなく、AWS でアプリケーションを素早くディプロイ、管理できます。これにより、管理の複雑さを激減させることが可能となります。

つまり、PaaS(Platform as a Service) ですね。

ユーザーは、アプリケーションをアップロードするだけです。あとは、AWS 側で、Elastic Beanstalk が自動的に、容量のプロビジョニング、負荷分散、拡張、及びアプリケーションの状態のモニタリングを処理します。

つまり、ユーザーは、アプリケーション開発にのみ集中し、インフラの方はAWSに任せてしまうということです。正にクラウドですね。

Elastic Beanstalk は、複数のアプリケーションをサポートしています。

  • Go
  • Java
  • .NET
  • Node.js
  • PHP
  • Python
  • Ruby

アプリケーションをデプロイすると、Elastic Beanstalk は選択されたサポートされるプラットフォームのバージョンをビルドし、複数の AWS リソースをプロビジョニングして、アプリケーションを実行します。

Elastic Beanstalk に関して別途料金が発生することはありません。アプリケーションが使用する基になる AWS リソースに対してのみ支払うだけとなります。

Elastic Beanstalk を使ってみる

Elastic Beanstalkは、便利そうということは分かったのですが、やはりまだピンと来ません。実際に触ってみましょう。

Elastic Beanstalk には、サンプルアプリケーションが用意されています。それを使って試してみましょう。

AWS 管理コンソールの検索メニューから、「Elastic Beanstalk」と入力し、クリックします。

Elastic Beanstalk の管理画面が表示されます。

今すぐ始めるのところの「Create Application」をクリックします。

ウェブアプリケーションの作成画面が表示されます。

アプリケーション名を入力します。

キーも入力します。

プラットフォームは、Tomcat を選択します。そのオプションは、表示されたものをそのまま使います。

画面下部の「アプリケーションの作成」をクリックして、次に進みます。

アプリケーションの作成が始まりました。

完了するまでに、5分くらいかかります。

ログを見ていると、EC2 にインスタンスを作ったり、ELB を作成したり、いろいろしていますね。

アプリケーションの作成が完了しました。

環境名のところに、アプリケーションのアクセス先になるURL が表示されています。それをクリックしてアクセスします。

ブラウザーが開き、サンプルアプリケーションが表示されました。

動作確認成功です。

アプリケーションの作成時に、いろいろとリソースを作成するログが見えましたので、実際に見て見ましょう。

EC2 の画面を見て見ます。インスタンスが新規に作成されてますね。

次に、ELB も見て見ます。ELB が新規で作成されています。

ELB のDNS 名にもアクセスして見ましょう。サンプルアプリケーションの画面が表示されますね。

ELB のターゲットグループも、ちゃんと作成されています。

次に、CLoudFormation を見て見ます。こちらにもスタックが作成されています。

最後に、S3 です。ここにも新規でバケットができています。

必要となるリソースを自動で作成して、アプリケーションを展開するというのは本当ですね。これは素晴らしいです。

先ほどは、サンプルアプリケーションでしたので、今度はサンプルじゃないアプリケーションを動かしてみたくなりました。

しかし、私はコードが書けません。そこで、インターネット上に何かアプリケーションが公開されていないかと探してみたら、ありました!私と同じ様に、Elastic Beanstalk を試してました。それを動かしてみようと思います。

新規でアプリケーションを作成します。

アプリケーション名を入力します。

キーも入力します。

プラットフォームは、先ほどと同じでTomcat です。

そのオプションは、表示されたものをそのまま使ってみましょう。

今回は、アプリケーションを持ち込みますので、「アプリケーションコード」のところは、「コードのアップロード」を選択します。

「ファイルを選択」をクリックして、アプリケーションをアップロードします。

注意点は、アップロードするアプリケーションを圧縮しておく必要があるみたいです。

画面下部の「アプリケーションの作成」をクリックします。

アプリケーションの作成が始まりました。

5分くらいで、アプリケーションの作成が完了しました。

ブラウザーでアクセスしてみましょう。

表示されました。持ち込みアプリケーションでも、動作確認成功です。

Elastic Beanstalk は、アプリケーションのバージョン管理もできるみたいです。

Elastic Beanstalk は、アプリケーション開発者にとって、素晴らしい環境だと思います。自分のアプリケーションを動かすインフラ側の環境は、一切気にすることなく、AWS が自動で作成してくれます。コードを書くことだけに集中できますね。

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

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

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

AWSに関連する記事:

関連する記事:

最近の記事:

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

AWS を学ぶ(20)AWS Certificate Manager を使ってみる


にほんブログ村

前回に引き続き、今回も暗号化に関する記事です。

インターネット通信に、暗号化は必須となりました。サーバーとのやり取りの暗号化、そのアクセス先のサーバーの信頼性を確認するために、サーバー証明書が使われています。

その際に利用されるプロトコルが、SSL (Secure Sockets Layer) / TLS (Transport Layer Security) となります。

そこで使用される証明書は、SSL 証明書と呼ばれます。実際に使用されているのは、SSL 3.0 をベースにした後継のプロトコルであるTLSとなります。

SSL 証明書の種類と役割

証明書は、主に以下の2つのために使用されます。

  • 通信経路での安全性の確保
  • 通信している相手が誰であるかの証明

通信経路の安全性の確保は、通信内容を盗聴されない様にすることと、通信内容を改ざんされない様にすることのために使用されます。

通信している相手が誰であるかの証明には、証明局(CA: Certification Authority)を使用し、ここで証明書を発行・管理します。

証明書の種類

証明書には、以下の 4 種類があります。

  1. 自己証明書:自分で証明局を建てて証明書を発行
  2. ドメイン証明(DV):ドメインの所有のみを証明し、組織情報の証明はされない
  3. 組織証明(OV):組織情報を証明
  4. 拡張認証(EV):OV よりも厳しい審査で認証し、アドレスバーに組織名が表示される

Vは「Validation」の略で、DV = Domain Validation、OV = Organization Validation、EV = Extended Validationになります。それぞれのもう少し細かい説明は、ここのページが参考になります。

AWS Certificate Manager

AWS Certification Manager (以下、ACM)は、AWS が証明局となり、DV 証明書を発行するサービスです。

2048ビットRSA鍵と、SHA-256 の SSL/TLS サーバー証明書の「作成と管理」を行います。ACM が発行する証明書の有効期限は13ヶ月となり、自動で更新するという設定も可能となります。

ACM を利用できる対象は、AWS のサービスのみとなりますが、無料で使用できるというメリットがあります。

ACM の初期設定時には、ドメインの所有の確認が必要で、メール送信、またはDNS を利用して確認します。

ACM が利用可能なサービス(2020年9月現在)

  • Elastic Load Balancer (ELB)
  • Amazon CloudFront
  • AWS Elastic Beanstalk
  • Amazon API Gateway

AMC を使ってみる

AWS 管理コンソールの検索テキストボックスに「Certificate Manager」と入力し、Certificate Manager をクリックします。

証明書の管理画面が表示されます。

「証明書のリクエスト」をクリックします。

証明書のリクエスト画面が表示されます。

今回は、EC2 上に稼働させている Web サーバー向けに証明書を発行したいと思います。「パブリック証明書のリクエスト」を選択します。

画面下部の「署名書のリクエスト」をクリックして、次へ進みます。

対象となるドメイン名の指定です。

ドメイン名のところに、EC2 上で稼働させている Web サーバーで使用しているドメイン名を入力します。

画面下部の「次へ」をクリックして、次へ進みます。

証明書の確認方法の選択です。

今回は、自分が管理している Web サーバーで、DNS の方も管理していますので、「DNS の確証」を使います。

画面下部の「次へ」をクリックして、次へ進みます。

タグの設定です。

後から分かりやすい様に、名前を付けておきます。

最終確認です。

今まで設定した内容を確認し、間違いがなければ、画面下部の「確証とリクエスト」をクリックします。

証明書が発行されました。

「DNS の設定をファイルにエクスポート」をクリックし、ファイルをダウンロードしておきます。

画面下部の「続行」をクリックします。

証明書は発行されたのですが、確証状態のところが、「確証保留中」になっています。証明書はまだ使えない状態です。

先ほどダウンロードしたファイルの内容を、DNS (AWS ならRoute 53) 側に設定します。

しばらく時間がかかりますが、確証が完了すると、確証状態が「成功」に変わります。これで、証明書が使える状態になりました。

ちなみにこの記事を表示している Web サーバーも EC2 上にあり、Route 53 やACM を使用しています。

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

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

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

関連する記事:

最近の記事:

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

AWS を学ぶ(19)AWS の暗号化サービス

KMS と CloudHSM

機密性の高いデータを扱う際には、暗号化が必要となります。まず、鍵管理サービスです。AWS の鍵管理サービスは 2 種類あります。

  • KMS: Key Management Service
  • CloudHSM: Cloud Hardware Security Module

KMS は、AWS が管理するマネージドサービスです。

CloudHSM は、AWS 内に専用のハードウェアを用意し、これを利用して鍵管理するサービスです。

この2つのサービスの違いは、信頼の起点(Roots of Trust)です。ユーザー自身なのか、AWS に任せるのか、です。

KMS

KMS には、以下の 3 つの API が用意されています。

  • Encrypt: ユーザーデータ暗号化のための API で、4KB までの平文データをサポート
  • Decrypt: ユーザーデータ復号化のための API
  • GenerateDataKey: ユーザーデータの暗号化に利用するカスタマーデータキーを生成
マスターキーとデータキー

KMS では、2 つの鍵を管理しています。

  • マスターキー: Customer Master Key (CMK)
  • データキー: Customer Data Key (CDK)

CMK は、データキー (CDK) を暗号化するために使用される鍵です。ユーザーデータの暗号化には使用されません。

CDK は、ユーザーデータを暗号化するために使用される鍵です。通常は AWS で暗号化されて保存されいますので、ユーザーデータの暗号化や復号化を行う度に、CDK を復号化して使用します。

つまり、CDK でユーザーデータを暗号化し、CMK を使って、 CDK をさらに暗号化します。この手法は、エンベロープ暗号化と呼ばれています。

CloudHSM

CloudHSM は、専用のハードウェアを使用する為、初期コストも月次の固定費も必要となります。大規模なシステム向けや、特定の規制、法令に準拠したい場合に使用されます。

CloudHSM で、FIPS 140-2 のレベル 3 認証済みの HSM を使用して、暗号化キーを管理できます。

上記の様に、CMK とCDK があり、2 段階の鍵構造になっています。この理由は、セキュリティーの向上のためです。

データキーは、S3、EBS、Redshift など、暗号化の対象ごとに作成します。これにより、万が一、鍵の漏洩があった際にも、そのリスク範囲を限定することができます。

そして、データキーをマスターキーで暗号化することにより、実際の運用で使用する機会の多いデータを保護します。マスターキーを集中管理することにより、全体としてのセキュリティーを高めています

クライアントサイドとサーバーサイドの暗号化

暗号化は、クライアントサイドで行うのか、サーバーサイドで行うのかも、常用なポイントとなります。

クライアントサイドの暗号化

クライアントサイドの暗号化は、ユーザー側の処理で行います。AWS が提供するSDKを利用するケースが多いです。EC2やLambdaなどでプログラムで暗号化して、S3などにアップロードするというケースも、クライアントサイドの暗号化となります。

クライアントサイドの暗号化の利点は、暗号化れたデータが転送されますので、経路が暗号化されていなくても、ユーザーデータを保護できるという点です。

クライアント側暗号化には、AES 256 ビットが使用できます。

クライアント側のマスターキーと暗号化されていないデータが AWS に送信されることありません。暗号化キーを安全に管理することが重要です。キーを紛失した場合、データを復号することはできません。

AWS オフィシャルサイト

サーバサイドの暗号化

サーバーサイドの暗号化は、AWS内で行います。サーバーサイドの暗号化は限定されていて、S3などの一部のサービスのみで提供されています。

サーバー側の暗号化は、保管時のデータ暗号化に関するものです。  S3 は、ディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、ユーザーがデータにアクセスする時に復号します。

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

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

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