今回は「AWS Lambda」を中心としたwEBアプリ(=Webシステム&Webサーヴィス)の構成について解説していきたいと思います。
初めに、「Amazon API Gateway」は、ユーザーから送られるHTTPリクエストを受け付けて、これを「AWS Lambda」に引き渡します。
ここで、AWSでは、データは「バケット」と呼ばれる単位で取り扱います。さらに、これを大きくした単位に「データレイク」と呼ばれるものがあります。たとえば、「AWS Lambda」においては、入力されたデータを一旦バケットに入れて、バケットの中身を関数が取り出して、これを処理します。そして、これを最終的にデータレイクに移します。
※この際に扱われるデータの形式は、(どうやら)Jsonが一般的なよう。
また「Amazon EventBridgh」を用いることで「Lambda」の関数を定期実行させることができるので、目的の時刻にWebサーヴィスを起動したり、目的の時刻にサーヴィスを停止させるといったことが可能です。
そして「DWH,Data-Ware=House」は、比較的、事前処理(=整理・分類)されたものを蓄積・保管する場所として用いられますが、先に出したデータレイクは事前処理のなされていないデータを蓄積・保管する場所として用いられます。
ちなみに、オンプレミスからAWSへとクラウド移行をする際には、通常、システムを二重化して構成(=サブネット化)します。たとえば、Webサーヴァー(=EC2)とDBサーヴァー(=RDS)を2台ずつ用意するようにです。
また、サーヴァー負荷を分散させるためにはロードバランサーである「ELB,Elastic-load-Balancer」を用います。
最後に、AWSでは、通常、全てのサーヴァーインスタンスをプライヴェイト―ネットワークでつなぎますが、「ENI」(=Praivate-Link)」を介することで外部のパブリック―ネットワークとの接続もできます。この際に用いられるのが「Amazon Kinesis」です。
いかがでしたしょうか。
何せAWSは、Webアプリの技術要素をテンコ盛りしたものなので、中々一本の記事にはまとめられず、少々、筆者としては心苦しいのですが、皆さんのお役に立てるような記事を書きたいと思うので、今後ともお付き合いくださると嬉しいです。
それではまた~。