大雑把にいうと、こんな感じかしら?
(AWSを使ったことないので、わかってない。
調べた程度の範囲で言っている)
(15:00説明追加)以下説明
■外部から入ってきたとき(ネットワーク)
外部からクラウドに入ってくるには、
・グローバルIPを直打ちしてはいってくる
・ドメイン名を使用する
の2通り考えられる。
グローバルIDを直打ちする場合は、EIP(えらすてぃっくIP)
でIPを取得し、サーバーであるEC2に結びつける。
ただし、この方法だと、ロードバランスできない。ロードバランサ
は、動的にIPを使用し、アクセスするときは、AWSが勝手に振るFQDN名
を使うから。
FQDNを使うものには、他にオブジェクトストレージのS3(後述)など
ある。これらFQDNを、自社ドメイン名XXX.comなどにするには、DNSであり
Route53を使う。
Route53では、A形式(IPV4),AAAA形式(IPV6)、CNAME(FQDN)のほか、
いろいろな形式をDNSできる。
なお、API Gateway(後述)も、カスタムドメイン名を設定する方法が
あるのでAPIなら、これでもドメイン名が使える
■実際の処理(コンピュート)
処理を行わせるには
・サーバーを建てて、そこで行う
・サーバーレスで行う
の2とおりがある。
サーバーを建てて行う場合は、EC2を使用する。
ロードバランシングできるし、スケールもできる
EC2に入れるOS(イメージ)は、いろいろ用意されている。
また、サーバーを自分では立てないで、イベントが起こったときに
処理を行う、Lambdaというサービスもある。
OSを入れるのではなく、イベントが起こったときの処理を書くかんじ
Lambda全体でアクセス制御されるので、Lambdaにロードバランサは
いれない。
LambdaやEC2で、外部APIを提供する場合、認証などの仕事は自分たち
でやりたくないと感じるかもしれない。そのときには、API gatewayを使う
■データ保存(ストレージ&DB)
ストレージとしては、ふつうのファイルシステムを扱うEBSとEFSがある。
EBSは主にEC2に対応させて、1つのインスタンスに対してストレージを割り当てるとき
(つまり、ふつうのハードディスク)、EFSは、複数のインスタンスから同時アクセス
させたいときに使う。
このほか、FQDNでアクセスするオブジェクトストレージのS3がある。
FQDNでアクセスするということは、URLであくせすしているようなもん。。。
つまり、静的WebページならS3において、直接アクセスさせることも可能
(だけど、普通Route53つかって名前変換する)
また、キャッシュを使いたい場合(セッションがわりに)などはElastiCacheが
使える。memcachedと、Radisの2つのインターフェース用にできている。
RDSでは、RDBが使える。MySQL,Oracle,PostgreSQL,Aurora(MySQL,PostgreSQL互換)等
いろいろ使える。ただし、EBS,EFSの中に、自分でオープンソースのパッケージを展開
して作成し、EC2からアクセスすることもできる。
これらデータをそのまま置いておくと高くつくので、安いGlacierに保存する
(ただしGlacierは読み書きが遅い)
ここには書かれていないが、ビッグデータ解析用のRedShift(インターフェースは
Postgres)もある。