セキュリティ
Amazon Virtual Private Cloud (Amazon VPC)
バックエンドのようなサービスは、直接外部からアクセスされる必要がないあるいはされたくない場合がある。そういった時はAmazon Virtual Private Cloudを利用して、アプリケーション単位でSub-netにグルーピングする。サブネットはVPC内で外部にオープン・クローズドのどちらにも設定ができるので、例えばフロントエンドはパブリックでオープン、バックエンドはクローズドにすることが可能。
VPCはその名の通りプライベートクラウドで、その中にEC2やELBが存在する。リソースをサブネットでグルーピングすることでネットワーク周りの管理をすることができる。VPCをインターネットのパブリックなトラフィックに晒すにはInternet GatewayをVPCに設定する必要がある。お店のドアみたいな感じ。サブネット同士での接続を許可することで、例えばフロントエンドのサイトは静的ファイルをS3で配信しつつ、元ネタのデータはサーバーにあってSSGでAPI叩いて静的ファイルを展開して、みたいな形。
逆に特定のプライベートなトラフィックからのアクセスに限定したい時は、Virtual Private Gatewayを利用する。特定のネットワークからのアクセスや認証を介してはじめてアクセスができるようになる。
AWS Direct Connect
特定のデータセンターからAWSのVPCにダイレクトにつなぐサービス。専用線を持つことで、ネットワーク帯域を自分たちのために確保することが出来る。そのため、レイテンシーを低く、プライバシーやセキュリティを高めることができる。
ネットワークのセキュリティ
ネットワーク関連のセキュリティを高める手段は多数存在している。
- ネットワーク基盤の強化
- アプリケーションセキュリティ
- ユーザーID
- 認証と認可
- DDoS対策
- データのインテグリティ
- 暗号化
Security Group セキュリティグループ
VC内のリソースとのトラフィックを制御するファイアウォール。インバウンド・アウトバウンド、両方のトラフィックに対してルールセットを適用できる。
セキュリティグループはステートフルで動作する。つまり、許可されたインバウンドトラフィックへのレスポンスは、アウトバウンドのルールを適用することなく、インスタンスを離れることが出来る。
Network access control list (Network ACL)
- パスポートコントロールみたいに考えれば良い。
- ブラックリストに入っていたらin & outの通信を遮断
- ネットワークACLはステートレス。
順番的に、以下の順番でトラフィックが捌かれる
- インターネット
- インターネットゲートウェイ
- ネットワークACL
- セキュリティグループ
セキュリティグループはインスタンス保護のメインで、ネットワークACLは追加の防御レイヤーとのこと。
Route53
Route53はAWSのDNS。DNSとはトランスレーションサービスで、WebサイトのアドレスとIPアドレスの変換をしてくれる。
- ドメイン名をブラウザに入力すると、DNS Resolver(DNS解決)にリクエストが飛ぶ
- DNS ResolverはDNSサーバーにドメイン名に対応するIPアドレスを確認する
- DNSサーバーはWebサイトのIPアドレスを返却する
- レイテンシーベースのルーティング
- ジオロケーションDNS
- ジオプロキシミティルーティング
- ウェイテッドラウンドロビン (Weighted Round Robin)
Amazon Cloudfront
Amazonのエッジロケーション、Content Delivery Network (CDN)。グローバルからのアクセスがある場合、キャッシュをエッジロケーションにおいて、リクエストからレスポンスのレイテンシを小さく出来る。
AWSのネットワーキング
- VPC
- セキュリティ
- gateways
- Network ACL
- security group
- VPN
- Direct Connect
- Edge Locations
- Route 53 DNS
- CloudFront