This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Rapid Recovery | Archiving to Amazon S3 GovCloud Region

Hello All,

 

  Thank you for taking the time to read this!  

Background:

  I'm currently running Rapid Recovery 6.0.1.609 and would like to connect to AWS S3 GovCloud Region (https://aws.amazon.com/govcloud-us/  us-gov-west-1).  We already have been approved to use this region.  After creating a bucket, I have tried several times to create an Amazon S3 Cloud type connection on Rapid Recovery with the Access and Secret keys from my account and other created accounts from the GovCloud Region and receive the error of "Can not connect to cloud."

Exception chain:

  • The remote server returned an error: (403) Forbidden.
  • The AWS Access Key Id you provided does not exist in our records.
  • Can not connect to cloud.

I have tried a Amazon S3 account with success..  I have done some searching around the Program Files directory of Rapid Recovery and discovered the AWS SDK files that have reference to the GovCloud (us-gov-west-1) Region several times.

Questions:

  Has anyone else used GovCloud with Rapid Recovery?  If so, how did/are you connecting and transmitting your data to S3?

  Or am I doing something wrong?

  Can this Region (us-gov-west-1) be added to the Cloud Type some how?

 

I can not get Quest support to contact me about this issue.

Please let me know if you need more information.

 

Thank you,

Brandon

 

 

  • Error Stack Trace


    Server side:
    Replay.Common.Contracts.Cloud.Amazon.AmazonCloudProviderException: Can not connect to cloud. ---> Amazon.S3.AmazonS3Exception: The AWS Access Key Id you provided does not exist in our records. ---> Amazon.Runtime.Internal.HttpErrorResponseException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
    at System.Net.HttpWebRequest.GetResponse()
    at Amazon.Runtime.Internal.HttpRequest.GetResponse()



    --- End of inner exception stack trace ---
    at Amazon.Runtime.Internal.HttpRequest.GetResponse()
    at Amazon.Runtime.Internal.HttpHandler`1.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.RedirectHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.Unmarshaller.InvokeSync(IExecutionContext executionContext)
    at Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext)



    --- End of inner exception stack trace ---
    at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleException(IExecutionContext executionContext, HttpErrorResponseException exception)
    at Amazon.Runtime.Internal.ErrorHandler.ProcessException(IExecutionContext executionContext, Exception exception)
    at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.CallbackHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.RetryHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.CallbackHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.CallbackHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.S3.Internal.AmazonS3ExceptionHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.Internal.MetricsHandler.InvokeSync(IExecutionContext executionContext)
    at Amazon.Runtime.AmazonServiceClient.Invoke[TRequest,TResponse](TRequest request, IMarshaller`2 marshaller, ResponseUnmarshaller unmarshaller)
    at Amazon.S3.AmazonS3Client.ListBuckets(ListBucketsRequest request)
    at Replay.Common.Implementation.Cloud.CloudProvider.VerifyConnect()



    --- End of inner exception stack trace ---



    Server stack trace:
    at ServiceHost.InMemoryHosting.InMemoryServiceHost.InvokeServiceMethod(String managementService, String method, IEnumerable`1 parameters)
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)



    Exception rethrown at [0]:
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at ServiceHost.InMemoryHosting.CrossDomainCall.Call()
    at ServiceHost.InMemoryHosting.InMemoryClientProxy.InvokeMethodNoReturn(String managementService, String method, IEnumerable1 parameters)
    at WCFClientBase.ClientBase.ExecuteInMemoryServiceCall(String managementService, String method, IEnumerable1 parameters)



    UI side:
    at WCFClientBase.ClientBase.ExecuteInMemoryServiceCall(String managementService, String method, IEnumerable`1 parameters)
    at Replay.Core.Client.CloudManagementCoreClient.VerifyConnect(CloudAccount account)
    at Replay.Core.Web.Controllers.CloudController.SaveCloudAccount(CloudAccountModel model)
    at lambda_method(Closure , ControllerBase , Object[] )
    at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass13.b__10()
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
    at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
  • UPDATE:

    Just spoke with a product manager, this is currently being worked with the developers.

    I'll update if I hear more.


    Thank you,
    Brandon
  • Brandon,
    Thank you for taking the time to speak with me today. I have engaged the engineer who is working this service request and you will get a response shortly.

    This issue has been escalated to our development team and our engineer will keep you up to date on the progress of this request. We should hear something back in the next day or so.

    Kind regards

    Brian
  • I also am required to store on the gov cloud server. Is this resolved?
  • In Rapid Recovery 6.1.3 we have added an endpoint field to the S3 cloud account setup. This allows you to specify an endpoint other than the public Amazon S3 endpoint making it possible to interface with Amazon GovCloud or any other S3 compatible storage service. To use Gov Cloud go into the Rapid Recovery core console and add an S3 cloud account. For the endpoint use the GovCloud endpoint s3-us-gov-west-1.amazonaws.com which is documented here - docs.aws.amazon.com/.../using-govcloud-endpoints.html . Once you save that cloud account you should now be able to use it for creating or retrieving archives.