Hi Team ,
What would be the impact on a CMS website using Amazon s3 blobs and not configuring Amazon Events ?
It was there in our config from ages, but website broke today with an error "[AmazonSimpleNotificationServiceException: The security token included in the request is invalid.]"
So as a quick fix, we have disabled the AmazonEvents settings in web.config and site is functional as normal.
To understand the impact, it would be much appreciated if anyone can provide more info on its this. BTW, we aren't using Amazon Beanstalk.
If you only use Amazon AWS for storing blobs, and otherwise hosts the site on regular (non-cloud) servers then you won't need Amazon Events. Amazon Events is only needed if you run the site in an environment, where you cannot reliably send UDP or TCP packages between the servers in a load balancing group.
If you do turn off Amazon Events, remember to replace it with another event provider (unless you only have a single server).
I once wrote a little explanation on event providers in this blog post: Redis can be an EPiServer event broker too.
Thanks Stefan Holm Olsen. We do host in cloud servers, but using VMs directly for hosting and not through Beanstalk.
We prefer to have the events back, as it was maintained by another vendor previously[transitioned recently to us], and not sure of the exact permissions required for the AccessKey of the SNS event.
I would highly appreciate , if you can please let me know the permissions required for this user?
Hi Stefan Holm Olsen I've been trying to put a usecase to understand its impact. Can you please review if the below makes sense.
Usecase : We have two cloud VMs, S1 and S2, and two users A and B. For Example. A is served from S1 and B is served from S2.
Episerver by default, serves content with output caching
Consider A and B are on an Episerver page P1. So A gets a cached copy of P1 from S1, B gets a cached copy of P1 from S2.Now another user U1[served over S1] edits the page P1 and publishes.
Scenario 1 : When EventProvider isn't configured S2 never knew that the page P1 got updated by another user via another server S1. So anybody getting the content from server S1 would see the latest page [P1_Updated], and other users served content from S2 would view the old Page[P1], Since there isn't any communication between servers.
Scenario 2 : When EventProvider is configuredServer1 would notify Server2 using Events, that P1 is modified. So S2 doesn't load P1 from outputcache, and instead gets latest content from Database. Thus updated content is served to all the users.
Since we are using Episerver to target promotions, we would like to have a consistent experience for all the target users. So any input on this would be highly appreciated.
That's right, Srinivas. If events are not working properly, the servers will not invalidate cache and they may end up serving different content over time.
I am not too seasoned in Amazon SNS, sorry. But I suppose you need to assign the AmazonSNSFullAccess permission to a new or existing user in AWS and use the access/secret keys from that user.
Have you also read the Amazon deployment guide on Episerver World?
Thanks Stefan Holm Olsen. Yes I did, and your article is quite informative too.