見出し画像

AWS基礎サービスをまとめ2022

リージョン-region

  • AWSがサービスを提供している拠点(国と地域)

  • 日本はap-northeast-1(リージョン名はアジアパシフィック(東京))

アベイラビリティゾーン(availability zone: AZ)

  • リージョン内のさらに細かい拠点

  • 1つのアベイラビリティゾーンは複数のデータセンターから構成されている

  • ap-northeast-1には3つのアベイラビリティゾーンがある(a,c,d )

リージョンとアベイラビリティゾーンの関係性


主なサービス

VPC

  • Virtual Private Cloudの略

  • VPCを使うことで、AWS内にプライベートなネットワークを作成できる

  • 自由にIPアドレス(CIDRブロック)を割り当てることができる


サブネット

  • VPCのさらに内側につくる、EC2インスタンスなどを起動するための領域

  • VPCに設定したCIDRブロックに収まるCIDRブロックを割り当てる

  • サブネット作成時にアベイラビリティゾーンを指定する

  • パブリックサブネットとプライベートサブネットがあり、それらの違いはインターネットゲートウェイから直接アクセスできるかできないかである

  • アクセスできるのがパブリックで、アクセスできないのがプライベート


ルートテーブル

  • サブネット内のインスタンスの通信先のルール(サブネットがどこと通信するか)を定めた表のようなもの

  • 各サブネットをルートテーブルに関連付ける必要がある(指定しない場合はデフォルトのルートテーブルになる)

  • ルートテーブルで、サブネットの通信先にインターネットゲートウェイを指定することで、サブネットがインターネットに接続できる



ゲートウェイ

  • VPCの内部と外部との通信をやり取りする出入り口

インターネットゲートウェイ

  • VPCとインターネットを接続するためのゲートウェイ

  • 各VPCに1つだけ取り付けられる

NATゲートウェイ

  • プライベートIPしか持っていないEC2インスタンスがインターネットと通信できるようにするためのもの

  • プライベートIPをNATゲートウェイが持つグローバルIPに変換し、外部と通信する

ゲートウェイエンドポイント(VPCエンドポイント)

S3やDynamoDBといったVPCの中に入れられないサービスに、VPC内から接続する際に利用する


EC2サービス

Amazon Elastic Compute Cloudの略でAWSの基幹サービス

  • 仮想サーバを提供する

  • 仮想サーバの1つ1つの実体は「インスタンス」と呼ばれる

ELBサービス

Elastic Load Balancingの略

  • その名の通りロードバランサーのマネージドサービス

  • ロードバランサー→サーバへの負荷を分散させるやつ

  • EC2インスタンスがスケールアウトされて複数ある場合、ELBがクライアントからリクエストを受け取り、それを各インスタンスに分散させる

ELBの種類

  • Application Load Balancer(ALB)

    • L7レイヤーでの負荷分散を行う。

  • Network Load Balancer(NLB)

    • L4レイヤーでの負荷分散を行う。HTTP以外のプロトコル通信の負荷分散をしたい時に利用する。

RDSサービス

  • SQL文でデータを操作するデータベースのマネージドサービス

  • Amazon Aurora、MySQL、MariaDB、PostgresSQL、Oracleなどのデータベースエンジンから好きなものを選べる

  • データ保存用ストレージはEBS(Elastic Block Store)を使用している

  • インターネットからの接続はデフォルトでオフになっているため、EC2などの他のAWSサービスから通信することが多い

マルチAZ構成

  • 1つのリージョン内の2つのアベイラビリティゾーンにDBインスタンス(データベースの実体)をそれぞれ配置する構成

  • 1つのアベイラビリティゾーンで障害が発生しても、もう一つのアベイラビリティゾーンが生きていればシステムのダウンタイムを短くすることができる

  • DBインスタンス作成時にマルチAZ構成を選択したら、あとはAWSが勝手に冗長化してくれて便利

S3サービス

  • Simple Storage Serviceの略

  • 容量無制限のストレージサービス

  • 保存するファイルにメタデータを追加し、「オブジェクト」として管理する

  • S3に保存されている各オブジェクトには、RESTやSOAPといったWeb APIでアクセスする

  • データのバックアップや、静的コンテンツ(HTMLファイルなど)のホスティングとしても利用される

  • VPCの中には入れられないため、ゲートウェイエンドポイントを通じてVPC内のEC2インスタンスと通信する

Route53サービス

DNSのサービス

  • ドメイン管理機能と権威DNS機能を持つ

  • DNSのポート番号が53であることからこの名前が付いている

  • Amazon Route 53 は、Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサー、Amazon S3 バケットなどの AWS で実行するインフラストラクチャにユーザーリクエストを効率的に接続します。

  • これはユーザーを AWS 外のインフラストラクチャにルーティングするためにも使用できます。

CloudFront

  • 静的コンテンツをキャッシュして配信するサービス

  • ロードバランサーの前段に配置し、元のサーバにあるデータをキャッシュしておく(記憶しておく)ことで、次回に同じリクエストが来たらキャッシュしたものを返す

    • サーバの負荷を軽減できる

    • 利用者から最も近いロケーションからコンテンツを高速に配信することができる

  • キャッシュの期間は拡張子やURLごとに設定することができる

    • 頻繁にアップデートされるコンテンツはキャッシュを短くし、あまり更新されないコンテンツは長くするなど

Amazon SQS


Simple Queue Service

完全マネージド(ユーザ管理不要)なメッセージキューイングサービス

  • 意外にもAWSの中で最も歴史が深いサービスらしい(サービスインは2004年)

  • Queue(キュー)とは、筒状の入れ物のようなイメージのもの

  • キューを利用してコンポーネント間でメッセージのやり取りを行うことで、コンポーネント間をつなぐ

  • 疎結合な(互いに影響を与えにくい)アーキテクチャを実現することができるサービス


Amazon SNS


Simple Notification Service

Notification=通知 のとおり、完全マネージドのプッシュ型の通知サービス

  • SMS, email, HTTP/HTTPS, モバイル通知などを通じてメッセージを配信する

  • SQSやLambdaとの連携も可能

  • メッセージをプロトコルごとに変換する部分もやってくれるので、通知する人はプロトコルの違いを意識せずに配信できる

SNS FIFO トピックの使用方法

参考サイト

Amazon SES


Simple Email Service

Eメールに特化したサービス

  • SMTPプロトコルやAPIを通じてメールを送受信する

  • 受信したEmailをS3に配信することも可能


バウンスが発生した場合は顧客情報をアップデートし、苦情が届いた場合は担当者にメールするようなシステムの例

参考サイト

アーキテクチャ例:

メールを受信して検索インデックスを作るまでの流れ

参考サイト


この記事が気に入ったらサポートをしてみませんか?