[ CloudFront Signed URL / Signed Cookies ]
- You want to distribute paid shared content to premium users over the world
- We can use CloudFront Signed URL/Cookie. We attach a policy with :
1) includes URL expiration
2) includes IP ranges to acecss the data from
3) trusted signers (which AWS accounts can create signed URLs)
- How long should the URL be valid for?
-- Shared content (movie, music) : make it short (a few minutes)
-- Private content (private to the user) : you can make it last for years
* Signed URL = access to individual files (one signed URL per file)
* Signed Cookies = access to multiple files (one signed cookie for many files)
1. Client 는 application 에 인증(authentication)
2. App은 AWS SDK 를 사용하여 Signed URL 을 생성, Client 에 리턴
3. Client 는 Signed URL 을 통해 CloudFront -> S3 Object 에 접근
[ CloudFront Signed URL vs S3 Pre-Signed URL ]
CloudFront Signed URL 은 S3 에 CloudFront Edge 를 통해 접근
S3 Pre-Signed URL 은 S3 에 직접 접근 (IAM 사용)
1. CloudFront Signed URL
- Allow access to a path, no matter the origin
- Account wide key-pair, only the root can manage it
- Can filter by IP, path, date, expiration
- Can leverage caching features
2. S3 Pre-Signed URL
- Issue a request as the person who pre-signed the URL
- Uses the IAM key of the signing IAM principal
- Limited lifetime
[ AWS Global Accelerator ]
[ Global users for our application ]
Global 서비스에 public internet을 사용하여 접속하는 client 들은 수많은 hop 을 거치며 app에 도달하므로 지연 발생
- You have deployed an application and have global users who want to access it directly
- They go over the public internet, which can add a lot of latency due to many hops
- We wish to go as fast as possible through AWS network to minimize latency
# Unicast IP vs AnyCast IP
Anycast IP는 모든 서버가 동일한 IP주소를 사용하며 클라이언트는 가장 가까운 곳에 routing 되는 방식
Unicast IP : one server holds one IP address
Anycast IP : all servers hold the same IP address and the client is routed to the nearest one
[ AWS Global Accelerator ]
client는 public internet 대신 edge location을 통하여 AWS internal network 로 app에 접근
- Leverage the AWS internal network to route to your application
- 2 Anycast IP are created for your application
- The Anycast IP send traffic directly to Edge Locations
- The Edge locations send the traffic to your application
- Works with Elastic IP, EC2 instances, ALB, NLB, public or private
- Consistent Performance
1) Intelligent routing to lowest latency and fast regional failover
2) No issue with client cache (because the IP doesn't change)
3) Internal AWS network
- Health Checks
1) Global accelerator performsa health check of your applications
2) Helps make your application global (failover less then 1 minute for unhealthy)
3) Grate for DR
- Security
1) only 2 external IP need to be whitelisted
2) DDoS protection thanks to AWS Shield
[ AWS Global Accelerator vs CloudFront ]
Both :
1) use the AWS global network and its edge locations around the world
2) integrate with AWS Shield for DDoS protection
Differences :
CloudFront
- Improves performance for both cacheable content (ex: images and videos)
- Dynamic content (ex: API acceleration and dynamic site delivery)
- Content is served at the edge
Global Accelerator
- Improves performance for a wide range fo applications over TCP or UDP
- Proxying packets at the edge to applications running in one or more AWS Regions
- Good fit for non-HTTP use cases, such as gaming(UDP), IoT(MQTT), or Voice over IP
- Good for HTTP use cases that require static IP addresses
- Good for HTTP use cases that required deterministic, fast regional failover
# Hands-On : Global Accelerator
1. Endpoint 로 지정할 Instance 복수개 생성
2. Global accelerator 생성
1) endpoint groups 지정 - region 지정
2) region 별 instance 지정(1에서 생성한 instance 지정)
'infra & cloud > AWS' 카테고리의 다른 글
[AWS] 11-2. Hybrid Cloud for Storage : AWS Storage Gateway, FSx for Windows/Lustre (0) | 2021.04.12 |
---|---|
[AWS] 11. AWS Storage Extras : Snowball (0) | 2021.04.12 |
[AWS] 10-1. AWS CloudFront (0) | 2021.04.11 |
[AWS] 9-4. S3 Performance (0) | 2021.04.10 |
[AWS] 9-3. Storage Classes + Glacier (0) | 2021.04.06 |