Question: White screen accessing workspace

"I can't access my workspace since yesterday. After login, it just keeps the screen white and disconnect, maybe it's because I turned on the firewall inside the workspace, I don't know.The log:"Error while making a request to : https://d1cbg795sa4g1u.cloudfront.net/prod/iad/d-906745bae9/en_US/wsassets.json. Message: HttpClient - 4xx Network errorException while getting file headers from URI: https://d1cbg795sa4g1u.cloudfront.net/prod/iad/d-906745bae9/en_US/wsassets.json. Exception: WorkSpacesClient.Common.Infrastructure.ExceptionHandler.WorkspacesClientNetworkException: HttpClient - 4xx Network error---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden)."I hope someone can help me with it,Thanks.FollowComment"

Answer: 0This usually happens with PCoIP WS if UDP port 4172 is blocked. The Windows firewall by default is configured to allow communication on the ports required by the Workspaces service. If you made any changes to the Windows firewall then it can cause issue. In your case it is UDP port 4172 seems to be blocked. You can connect to the Workspace via RDP and revert the changes. If you do not have RDP access then you may have to rebuild the Workspace.CommentShareMayank_Janswered 10 months ago


Question: "If the downloaded size exceeds the space available, auto expand the storage"

"Hi,I need to auto expand the storage in real time if the download size exceeds the space available in the local file system using the aws sdk in java .It can be related as the expandable storage on demand through java code in real time.If , suppose the total available storage i 2 GB for now and the download folder size is 3 gb , then download should not break , and 2 GB should expand to 3GB on demand and further to 5GB if required . As , per the requirement the basic storage will be 2 GB which will first expand to 3GB and then to 5GB maximum .FollowComment"


Question: Does a DC location with a VPLS network offer any advantage over a DC where there is no DX location?

"Hello , I have a customer who has several DC's. The customer is weighing options for AWS Direct Connect. This customer has several DC's in AL, AZ  etc. The customer has DC's in Alabama (there is no DX location) and Las Vegas (has a DX location)where they have a VPLS network. The customer is using VMC and wants to create a hot DR site in AWS (US-east1). I do realize that it is possible for a customer to utilize AWS direct connect even when they are not in a DX location. The customer is also planning(future) on connecting other DC's  to VMC.The question is what DX location should the customer prefer . Is there any valued if the customer chooses a DC with VPLS network first ?FollowComment"

Answer: "0Accepted AnswerHi Gaurav,Customers can work with AWS Direct Connect Delivery Partners to extend the AWS DX connection at Layer2 in which case BGP session would be from AWS router and customer on-premises router Or Layer3 (Network layer) from the DX location to the customer location. In this case the the AWS Direct Connect Partner provides a router within the DX location that will form a BGP session with the AWS equipment. The DX partner then establishes another BGP with the customer, e.g. over an MPLS.If the customer is located in a data center or colo facility that is not a DX location, it is best to check with that data center or colo facility for a list of preferred AWS Direct Connect Delivery Partners that can provide DX connectivity into this particular data center or colo facility.Hope this helpsCommentShareEXPERTTushar_Janswered a year ago"


Question: Urgent Help: Name change my exam is at 5:45 PM today

"Can you please help me with my name change:Exam:SAA-C02 - AWS Certified Solutions Architect - Associate Retiring on August 29, 2022 - English (ENU)Candidate:*******Candidate ID:******Registration ID:*****Candidate name need to be changed to "*****". Would this change can be done quickly, as the support ticket says it will take 48hrs to reflect in pearsonvue.FollowCommentChris_G EXPERT9 months agoI've updated your post to remove sensitive data that should not be shared to the general public.Share"

Answer: "1Hello,Apologies for the delay in response, but this cannot be handled publicly through this forum.  Please use the support page here: https://support.aws.amazon.com/#/contacts/aws-trainingCommentShareEXPERTChris_Ganswered 9 months ago"


Question: AWS Realtime scripts possible security issues

"In my quest to learn the realtime scripts i've discovered a possible serious security issue with aws realtime script source.  if a client connects to the server but never sends a login packet, the server will still forward any messages from that client to other connected clients, the server fills in the peerID automatically based on the peerID the server was expecting to give the fake client, so they can effectively mascaraed as a fake player.this means the OnSend callback needs to also be checking that the peerID is a valid connected player, but the default implementation does not do this check.  in my opinion the server code itself should already be doing this check before it reach's developer code.FollowComment"

Answer: "0Thanks for this. Am looping in the GameLift service team so they can respond.CommentSharerePost-User-5332620answered 2 years ago0Hey @REDACTEDUSERYou're correct that RealTime Servers currently does not perform checks that the PeerId belongs to a valid PlayerSession while receiving/sending messages. I've created a request with the GameLift team to update the RealTime Server to validate this. RealTime Server Validation of the PlayerSession is currently only performed after receiving a LOGIN packet, and if the client does not send a LOGIN packet (a client that is not using the default implementation of the RealTime Client SDK), they can continue to send messages without further validation.As you've suggested in your post, the current recommendation for developers is to add checks that the sender PeerId belong to valid sessions to the server script callbacks (e.g. onSendToPlayer, onMessage).CommentSharerePost-User-3818694answered 2 years ago"


Question: Is lightsail a total joke or what am I missing?

"We've tried 3 different instances of Lightsail for our website and it crashes all the time. We were on a shared hosting environment for years and no issues. I thought this would be an "upgrade" but alas... every couple of hours our website is not available. Why? the latest.. "couldn't connect to the database". This is a simple wordpress site. Nothing major at all.  Barely ANY traffic.It's literally been less than a week and we've been down more than up.What am I missing?We have :2 GB RAM, 1 vCPU, 60 GB SSDTell me you have a website working without issues please. We pay a lot for advertising and this has been a joke and total waste.PS. Before you tell us to upgrade to EC2 think about it.PPS. It never crashed before on a "very" shared web hosting environment. I think it's infrastructure.FollowComment"

Answer: "0Hello,If there was something wrong with the infrastructure than there will be an alert in your personal health dashboard along with an email to the user on the account.I suggest you check out your metrics in CloudWatch (CPUUtilization/NetIn/Out) as an EC2-Instance/Lightsail with the specs you are using is unlikely going to cut it for a website with even a decent amount traffic.CommentShareDavidanswered 23 days ago0Database connection errors in WordPress can be due to reasons like corrupted database or plugins. Checkout this post on debugging issues with WordPress database: https://repost.aws/knowledge-center/lightsail-wordpress-fix-database-errors . I would also recommend reviewing the installed plugins. Check if disabling all plugins solves the issue. Then enable them one by one to see if a particular plugin is causing the issue.CommentSharerePost-User-1170069answered 19 days ago"


Question: RDS MariaDB storage engines

Which storage engines are supported on Amazon RDS for MariaDB?FollowComment

Answer: 1Supported storage engines for MariaDB on Amazon RDS [+][+] https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.htmlRDS for MariaDB supports the following storage engines.InnoDB storage engineMyRocks storage engine (default in RDS for MariaDB version 10.6 and higher)CommentShareD-Raoanswered a year ago


Question: Received server error (0) from model when hosting

"Hi,I was trying to deploy my trained model to the endpoint and I was given a ModelError."ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received server error (0) from model with message "Your invocation timed out while waiting for a response from container model. Review the latency metrics for each container in Amazon CloudWatch, resolve the issue, and try again.". See Link:https://ap-southeast-2.console.aws.amazon.com/cloudwatch/home?region=ap-southeast-2#logEventViewer:group=/aws/sagemaker/Endpoints/ss-notebook-treemapping-2019-07-08-00-56-39-825 in account 125017970330 for more information."I'm not sure what caused this issue and couldn't figure out how latency metrics in the CloudWatch would be useful in this case. Does anyone know what the approach is to solve this issue? It would also be great to know why this happens. Thanks in advance for any help!FollowComment"

Answer: 0ModelLatency is helpful because Sagemaker requires the container to respond within 60 seconds [1]: if you see the ModelLatency at or above 60 seconds that confirms the container isn't responding fast enough. At that point you'll need to debug why your container isn't fast enough: if it's a custom container you wrote you'll need to debug it; if it's a built-in container you should reach out to AWS support for assistance.[1] Timeout documentation https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-code-container-responseCommentShareAWS-User-1815574answered 4 years ago


Question: Unable to login to MTurk using IAM user

"Using my root account, I am able to login to https://requester.mturk.com/But I want to create IAM users so my team can login to MTurk.I have created an IAM user for myself and given this user 'AmazonMechanicalTurkFullAccess'I have verified that the credentials are correct (I am able to login to AWS console).But I get the following error when I try to login to my MTurk requester account with my AWS credentials (as an IAM user): "✖ There is a problem with your session. Please sign in again."FollowComment"

Answer: "0The use case is indicative that you have a large number of assignments (a team of engineers would be using the service) and as such we can use the following guardrails:The Amazon Mechanical Turk command line interface (CLI) makes it easy to use most of the Amazon Mechanical Turk functionality. When you wish to have a hands-on approach to using Amazon Mechanical Turk and have a relatively small number of assignments and results, the CLI is a good choice. For more information, go to Amazon Mechanical Turk Command Line Tool Reference.When the number of assignments you have or the number of results you have is large, the Amazon Mechanical Turk API is a good choice. The API exercises all of Amazon Mechanical Turk's functionality and enables you to integrate Amazon Mechanical Turk functions programmatically. For more information, go to Amazon Mechanical Turk Developer Guide.If you have a very large number of similar HITs, consider using the Requester user interface. It merges one question template with lots of question data to create many similar HITs. For more information, go to Amazon Mechanical Turk Requester User Interface.You can refer to the following blog for a step-by-step on using the API:Tutorial: A beginner’s guide to crowdsourcing ML training data with Python and MTurkCommentShareAWS-User-5160897answered a month agoAWS-User-5160897 a month agoPlease inform me if my answer was satusfactory by accepting my response with an up-vote.ShareAWS-User-5160897 11 days agoI am aspiring to become a Security committee member and your upvote helps in reaching my goal. If my answer was satidfactory, please do upvote.Share0I was browsing the mturk website and checking the requirements for non-root user logins and I would like to pull your attention to step 3:https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkGettingStartedGuide/SetUp.html#create-iam-user-or-roleStep 3: Link Your AWS account to your MTurk Requester accountNext, you will need to link your AWS Account to your MTurk Requester Account. This operation grants permission to your AWS Account to access your Requester account using the MTurk APIs.Go to https://requester.mturk.com/developer.Click Link your AWS Account and sign-in with your AWS Root user email address and password.Can you please audit your steps and see if this works?CommentShareAWS-User-5160897answered a month agorePost-User-3077033 a month agoThanks for the link.I find it quite strange that IAM credentials cannot be used to login to the MTurk Requester website:Note: You use IAM credentials only to authenticate Mechanical Turk API requests. You cannot use them to log in to the Mechanical Turk Requester website.Looks like with IAM credentials,  you only get API access and you can accomplish everything using just the MTurk APIs.Is my understanding correct?Share0As you can see from the documentation - this operation grants permission to your AWS Account to access your Requester account using the MTurk APIs.And you have an exhaustive list of activities that you can perform using the APIs as can be seen here:https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/Welcome.htmlHowever, if the question is how else can you access the Mechanical Turk, then the answer is: You can access Amazon Mechanical Turk (Mechanical Turk) using the Mechanical Turk requester user interface, the AWS Command Line Interface (AWS CLI), or the Mechanical Turk API.https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkRequester/AccessMturk.htmlDoes that answer your question?CommentShareAWS-User-5160897answered a month agorePost-User-3077033 a month agoThis is my use-case: I have a team of engineers who will be using MTurk to create tasks. And they would all like to use the MTurk website so that they can use the editor to create the tasks. My plan was to create IAM users for my team to give them access. But, how can they do it if they don't have access to the website? What is your recommendation?Share"


Question: How can I check CloudWatch agent and shell script use which apis.

How can I check CloudWatch agent and shell script use which apis.I wanna confirm billing charge of CloudWatch agent but I'm not sure which apis is used in CloudWatch agent and shell script.So I wanna ask for it.FollowComment

Answer: "1PutMetricData & PutLogEvents are the API calls used to publish metric datapoints and log events respectively. This is regardless of the method used to publish data to CloudWatch. These events are not logged by default on CloudTrail as they are expected to be very high in number throughout the account.To understand the charges with respect to CloudWatch, read this - https://aws.amazon.com/premiumsupport/knowledge-center/cloudwatch-understand-and-reduce-charges/Usually, third-party softwares where monitoring is done by using GetMetricData action (frequently in high numbers) causing for a surge in the usage of CloudWatch APIs can result in high charges. However, the above article details out all other possible reasons & methods to reduce future charges.Hope this helps!CommentShareSUPPORT ENGINEERShreyas_Manswered 8 months ago"


Question: OOM when generating embedding in Jupyter Lab

"The notebook instance is ml.m5d.2xlarge with 32GB of memory. However, we are encountering some OOM errors in SageMaker Notebooks when generating embeddings with Tensorflow:tf_hub_embedding_layer = hub.KerasLayer("https://tfhub.dev/google/universal-sentence-encoder/4",                                        trainable=False,                                        name="universal_sentence_encoder")embeddings = tf_hub_embedding_layer(lr_cleaned_df.text.values)When retrieving the universal sentence encoder, the virtual memory size is about 7GB. The size of lr_cleaned_df.text.values contains 60K snippet of texts and is about 122MB in memory.Is there a default allocation of memory to a Jupyter notebook? If so, can this be overwritten?FollowComment"

Answer: "0Hi there,I was able to reproduce this behavior on a ml.m5d.2xlarge notebook instance using similar code.tf_hub_embedding_layer = hub.KerasLayer("https://tfhub.dev/google/universal-sentence-encoder/4",                                        trainable=False,                                        name="universal_sentence_encoder")embeddings = tf_hub_embedding_layer(train_examples)In my case, I was able to run it with 25K lines of text. However, when I ran it with 50K lines of text (train_examples.repeat(2)), I also experienced OOM errors. Running free -h in terminal also showed that the notebook instance did in fact run out of free memory while running the code above, and hence the OOM errors.              total        used        free      shared  buff/cache   availableMem:            30G         22G        900M        676K        7.2G        7.6GSwap:            0B          0B          0BIn order to run code similar to this, please consider choosing a bigger instance size with more memory.CommentShareSUPPORT ENGINEERPeter_Xanswered a year agoqhreul80 a year agoHi @Peter_X, I ended up running the experiment on a ml.md5.4xlarge instance and was successful. Having said that, it does not answer the question whether the allocation of memory to a Jupyter Notebook (or kernel) can be configured.Share"


Question: Got error when create new Scheduler with EventBridge: "The execution role you provide must allow AWS EventBridge Scheduler to assume the role"

"Hi all,I am trying to create a new scheduler following this article https://docs.aws.amazon.com/eventbridge/index.htmlBut I face the error when confirming at the final step:"The execution role you provide must allow AWS EventBridge Scheduler to assume the role"Do you have any idea how to fix the missing permission?FollowComment"

Answer: "0Hi there, yes I already added trusted entities like this, but still got the error when creating the scheduler.CommentSharerePost-User-GKIManswered a month agoRiku_Kobayashi EXPERTa month agoCan I set it up by changing aws:SourceArn as follows?arn:aws:scheduler:ap-southeast-1:xxxxxx:schedule/xxxx_ScheduleGroup*SharerePost-User-GKIM a month agoHi there, tried update aws:SourceAccount as your suggested, but still got the error "The execution role you provide must allow AWS EventBridge Scheduler to assume the role."ShareRiku_Kobayashi EXPERTa month agoIs the "condition" part absolutely necessary?If it is not needed, it can be deleted.Share0An execution role is an IAM role that EventBridge Scheduler assumes in order to interact with other AWS services on your behalf. You attach permission policies to this role to grant EventBridge Scheduler access to invoke targets.Please see a reference example for the same : https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.htmlCommentShareEXPERTAWS-User-Nitinanswered a month agorePost-User-GKIM a month agoYes, followed the doc for both "Create new role" or "Use existing role" but still stuck with the error "The execution role you provide must allow AWS EventBridge Scheduler to assume the role."Share0This can occur when there is no "sts:AssumeRole" in "scheduler.amazonaws.com" in the trusted entity of the execution role that was set when creating the EventBridge Scheduler.Check to see if the following entities are set up.{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Principal": {                "Service": "scheduler.amazonaws.com"            },            "Action": "sts:AssumeRole"        }    ]}CommentShareEXPERTRiku_Kobayashianswered a month ago0I gave up and switched to Google Cloud Scheduler https://firebase.google.com/docs/functions/schedule-functions, everything working fine now. Thanks all!CommentSharerePost-User-GKIManswered a month ago"


Question: A problem with pagination AWS Amplify API

"I am writing an application based on Amazon AWS amplify. Users can write notes and read only their notes. I am sending a request to receive all user notes. The server returns to me only 10 notes and nextToken for receiving the next page of the answer. I don't know what to do next with nextToken.This GraphQL schema:type Note @model  @auth(rules: [{allow: owner, ownerField: "user"}]) {  id: ID!  user: String  content: String  users: User @connection(name: "UserNotes", keyField: "user")}type User @model {  id: ID!  # Create the connection (which will create the GSI)  notes: [Note] @connection(name: "UserNotes", keyField: "user")}This build GraphQL schema:type Note {  id: ID!  user: String  content: String  users: User}type User {  id: ID!  notes(filter: ModelNoteFilterInput, sortDirection: ModelSortDirection, limit: Int, nextToken: String): ModelNoteConnection}enum ModelSortDirection {  ASC  DESC}type ModelNoteConnection {  items: [Note]  nextToken: String}input ModelStringFilterInput {  ne: String  eq: String  le: String  lt: String  ge: String  gt: String  contains: String  notContains: String  between: [String]  beginsWith: String}input ModelIDFilterInput {  ne: ID  eq: ID  le: ID  lt: ID  ge: ID  gt: ID  contains: ID  notContains: ID  between: [ID]  beginsWith: ID}input ModelIntFilterInput {  ne: Int  eq: Int  le: Int  lt: Int  ge: Int  gt: Int  contains: Int  notContains: Int  between: [Int]}input ModelFloatFilterInput {  ne: Float  eq: Float  le: Float  lt: Float  ge: Float  gt: Float  contains: Float  notContains: Float  between: [Float]}input ModelBooleanFilterInput {  ne: Boolean  eq: Boolean}input ModelNoteFilterInput {  id: ModelIDFilterInput  user: ModelStringFilterInput  content: ModelStringFilterInput  and: [ModelNoteFilterInput]  or: [ModelNoteFilterInput]  not: ModelNoteFilterInput}type Query {  getNote(id: ID!): Note  listNotes(filter: ModelNoteFilterInput, limit: Int, nextToken: String): ModelNoteConnection  getUser(id: ID!): User  listUsers(filter: ModelUserFilterInput, limit: Int, nextToken: String): ModelUserConnection}input CreateNoteInput {  id: ID  user: String  content: String}input UpdateNoteInput {  id: ID!  user: String  content: String}input DeleteNoteInput {  id: ID}type Mutation {  createNote(input: CreateNoteInput!): Note  updateNote(input: UpdateNoteInput!): Note  deleteNote(input: DeleteNoteInput!): Note  createUser(input: CreateUserInput!): User  updateUser(input: UpdateUserInput!): User  deleteUser(input: DeleteUserInput!): User}type Subscription {  onCreateNote: Note @aws_subscribe(mutations: ["createNote"])  onUpdateNote: Note @aws_subscribe(mutations: ["updateNote"])  onDeleteNote: Note @aws_subscribe(mutations: ["deleteNote"])  onCreateUser: User @aws_subscribe(mutations: ["createUser"])  onUpdateUser: User @aws_subscribe(mutations: ["updateUser"])  onDeleteUser: User @aws_subscribe(mutations: ["deleteUser"])}type ModelUserConnection {  items: [User]  nextToken: String}input ModelUserFilterInput {  id: ModelIDFilterInput  and: [ModelUserFilterInput]  or: [ModelUserFilterInput]  not: ModelUserFilterInput}input CreateUserInput {  id: ID}input UpdateUserInput {  id: ID!}input DeleteUserInput {  id: ID}This my query request:public void runQuery(String user) {        mAWSAppSyncClient.query(GetUserQuery.builder()                .id(user)                .build())                .responseFetcher(AppSyncResponseFetchers.NETWORK_ONLY)                .enqueue(postCallback);    }    private GraphQLCall.Callback<GetUserQuery.Data> postCallback = new GraphQLCall.Callback<GetUserQuery.Data>() {        @Override        public void onResponse(@Nonnull Response<GetUserQuery.Data> response) {            if (response == null || response.data() == null ||                    response.data().getUser() == null ||                    response.data().getUser() == null) {                Log.i("WP", "No data");                return;            }            for (GetUserQuery.Item post : response.data().getUser().notes().items()) {                Log.i("WP", "Post: " + post.content());            }                nextToken = response.data().getUser().notes().nextToken();            Log.i("WP", "NextToken: " + nextToken);            if (nextToken != null){                                        //TODO                }            // update adapter            runOnUiThread(new Runnable() {                @Override                public void run() {                    Log.i("WP", "Happy end");                }            });        }        @Override        public void onFailure(@Nonnull ApolloException e) {            Log.i("WP", "Apollo ERROR: " + e.toString());        }    };Now where do I use the nextToken? I thought I would use this inmAWSAppSyncClient.query(GetUserQuery.builder()                              .nextToken(nextToken)but it's does not accept nextToken and I do not know how I can get all user notes if there are more than 10, for example 100. Please help me, say me how and where to use nextToken and get next page answer from server?Edited by: waplay on Apr 2, 2019 5:01 AMFollowComment"

Answer: 0Problem solving in this thread: https://forums.aws.amazon.com/thread.jspa?messageID=892764&#892764CommentSharewaplayanswered 4 years ago


Question: Best way to filter to find a Lambda function's Network interface IP address via Boto3?

"I have a custom resource and I want the output to be the private ipv4 address of a specific lambda's elastic network interface of my choosing. I've figured out how to get this working and fetching an EC2's private ipv4 address.Unfortunately the resources I do not have total control over so I cannot just add tags, and they get spun up and spun down a lot.I know through the console, I can select the function and then examine a security group attached to it, and then search that security group in the EC2 Console screen under Network Interface, to find the Network interface that would attach to the lambda. But as far as I know, there's no direct filters or boto3 API calls to do this. I tried filtering on owner being Amazon but the owner of all the lambdas come under the AWS account in which they're housed in. I need that ENI IP address for a config file that deals with security/etc otherwise the lambda won't be able to communicate.FollowComment"

Answer: "0I would discourage you from doing this - not because what you're doing isn't working but more because Lamdba IP addresses might change from time to time. Instead, consider creating a small subnet in each Availability Zone that the Lambda functions use; then use that subnet range in your configuration file.CommentShareEXPERTBrettski-AWSanswered 9 months ago"


Question: My account deleted...

"I touched something wrong... and my account on the lightsail instance has been deleted!!! I can't access my instance anymore...How can I solve this problem... Is there any way to solve this problem?Edited by: hswhsw on Apr 1, 2020 5:00 AMFollowComment"

Answer: 0Create a new instance from the last snapshot taken before you deleted the user.CommentShareDavid Ganswered 3 years ago


Question: Content-Type header in GetObject from S3

I have used the GetObject with Authorisation header; and a GET in the browser with a pre-signed url.The content is returned but the Content-Type header shows 'junk'. The screen shot is attached .. I get the same value with GetObject and GET in the browser.ThanksKFollowComment

Answer: "0When uploading an object to Amazon S3 you can specify a string as the Content-Type for an object. If a string is specified in the Content-Type, that value would override any guessed mime types by Amazon S3. It appears that when the object was uploaded to the bucket and random string of characters was added as the Content-Type for the object.You can test this out by performing a HeadObject API call on the object via AWS CLI. You should find that the response contains the same Content-Type that you are seeing in your browser.To correct this behavior, you should re-upload the object to the bucket without specifying any Content-Type in the PutObject request. Once uploaded, you can double-check the Content-Type by performing a HeadObject request. If you continue to receive this same behavior, you can try to specify manually specify the Content-Type for the object in the PutObject request. However, Amazon S3 follows RFC 9110 when it comes to the Content-Type header and should be able add a Content-Type that is not a random string of characters.https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntaxhttps://www.rfc-editor.org/rfc/rfc9110.html#name-content-typeCommentShareAWS SA Neilanswered 4 months ago"


Question: Multi Channel Pinpoint Journey

"Hi,I want to be able to contact users via Email and SMS when a specific event is triggered.My understanding is that I need to define 2 endpoints for the user, one with his Email and one with his phone number and link them via the UserId.I guess there isn't any way to add 2 different channels to the same endpoint?What I tried:I created 2 endpoints: One for Email (user1-email), one for SMS (user1-sms) with the same UserId (user1).I created 2 dynamic segments: one for channel=EMAIL, one for channel=SMSI created a Journey with an event as entry: event=deliveryI added a "Multivariate Split":Segment "Email" => Send EmailSegment "SMS" => Send SMSWhen sending the event=delivery to Pinpoint for the endpoint user1-email, the email is delivered as expectedWhen sending the event=delivery to Pinpoint for the endpoint user1-sms, no SMS is sent, but the email flow is executed and sent to the address attached to user1-emailAdding user2-sms (SMS channel) with no linked email channel:When sending the event=delivery to Pinpoint for the endpoint user2-sms, the SMS is successfully delivered (meaning there isn't any SMS configuration mistake)Am I doing something wrong or is this the intended behavior? I find it very odd that information from the endpoint user1-email would be used when the event is sent to the endpoint user1-sms, unless we have a way to define "preferred channel for a user".Is there another way to achieve this that doesn't involve calling send-message for each destination from a Lambda function?Thanks,DanielFollowComment"


Question: Map ModbusTCP data to assets

"I have set up a Modbus TCP source on a gateway.  I can see that it is successfully polling data by looking at ModbusTCPConnector.log on the edge device.  But I can't figure out how to map the Modbus tags to asset measurements.  I have tried various aliases on the measurement (such as source/channel/tag) to no avail.  How is this done?Thanks,TimFollowComment"

Answer: "0I figured this out.  The Tag under the Property Group is the alias for the asset measurement.  There is no hierarchy.I had tried this earlier but it didn't work due to a security issue.  There is a periodic log entry in swPublisher.log.[2021-03-31T21:57:14.687-05:00][INFO]-2021-03-31 21:57:14  INFO  BufferedMetricsPublisher:90 - Emitting diagnostic name=PublishError.AccessDeniedException, value=6, timestamp=2021-04-01T02:57:14.658Z, dimen.....Apparently if "value" in the log entry is not zero then there is an AccessDeniedException somewhere.CommentSharetshepardanswered 2 years ago"


Question: How to handle core devices with same Greengrass V2 components but different component configuration for each Thing

"Hi,We are in the process of using Greengrass v2 Fleet Management to handle lots of devices in factories uploading timeseries to our cloud datalake.The components are the same on all devices, but the configurations used by the components will be different for each device. To facilitate management and maintenance of the fleet, we wanted to have a single Deployment attached to a Thing Group, and all devices being Things in the groups. Hence, when we update/patch the Deployment, all Things would be updated/patched with the garanteed same versions.But a deployment can (apparently) only have one configuration, which would be the same for all Things.So there seem to be two approaches:To create one Deployment per Thing and use the Deployment configuration to configure the device. This has two downsides:It is more difficult to garantee that all deployments are up-to-date with the right versions of the componentsThe list of deployments would be huge on the consoleTo create a single Deployment associated to a Thing Group containing all Things and use different device shadows associated to each Thing. The downside of this is:We must implement ourselves the logic of updating the components' configuration based on the shadows changes, and this needs to be used in all components needing specific configuration.I also saw a post that suggests having a common Deployment and other specific Deployments for components that need specific configuration, but that would fall into the first approach.Hence my questions:Am I right in my assumptions (one configuration per Deployment, shared among all Things using that Deployment)?Are there other options I am missing (I saw a suggestion to use a separate component one might call "Config")?Could anyone share some feedback on one options vs another?FollowComment"

Answer: "0Accepted AnswerHello,To answer the questions:Yes, your assumption is correct. When a deployment is made to a thing group, the configuration and the component versions are uniform across all the things which are a part of the thing group. The configuration for the component can however be overridden on a per device basis using a separate component for configuration.You can also use a static file per device, managed separately on your end which can be used by the code running on the component to get the custom parameters for the specific device. You can also facilitate this using a custom component to get the device ID and download the configuration for the specific device ID from a remote location (like an S3 bucket or your FTP server). Using this custom component as a part of the group deployment will allow you to have a single deployment to get the custom settings for running your code tuned to the specific device. Downloading the static files based on the device ID via your code allows you more customisation on downloading the configuration file for your code.Hope this helps.CommentShareSUPPORT ENGINEERBishwa AWSanswered a month agoem-at-v a month agoThanks. So to summarize, in any case, we will have to implement something that will have to handle configuration specifics for a Thing, including the changes in configuration.In this case, we will use device shadows rather than other implementations based on S3 buckets, static files and a dedicated configuration component for the following reasons :Shadows are displayed on the console interface of the Thing. This means that we have a centralised place where we can see and manage all parts of the Things, including configuration through shadows.There is no need to setup any other infrastructure (S3 bucket) and componentShadows have a mechanism to be notified of updates and to handle errorsThanks again for the clarifications!Share"


Question: The gateway cannot connect to the specified domain

"Hi, I've got a Storage Gateway configured in AWS, and a local software appliance installed to a VM in Hyper-V on Windows Server 2012 R2. I'm trying to join the gateway to the domain, but not having much luck. I am seeing " The gateway cannot connect to the specified domain".I'm trying to work out how the port requirements affect this. HTTPS is handled by the firewall inbound and redirected to a website hosted on site. Is this likely to be stopping the gateway registering? I've read the port requirements document (https://docs.aws.amazon.com/storagegateway/latest/userguide/Resource_Ports.html) and it does say HTTPS inbound is required, but am wondering why AWS would open an inbound connection? Doesn't the VM initiate the connection?Any other things that I need to consider?ThanksFollowComment"

Answer: "0I had the OU string in the wrong order. It started with the DC and worked up to the OU, but I've since switched it to reverse the order and now the VM is domain joined.CommentSharevcStuartanswered 3 years ago"


Question: please add .at toplevel Domain to route 53

we want to transfer all our domains to route53 but the toplevel domain .at is not available.could you please add it?FollowComment

Answer: "0Accepted AnswerHello There,Currently, the NEW TLD request are need to create a Feature Request via Customer Support (CS)/ Technical support (TS). I would suggest you to open a case with the CS for the same.Hope this helps. Please click accept answer if it did.CommentShareSUPPORT ENGINEERAWS-User-Chiraganswered 9 months ago"


Question: Able to get certification?

"Hi, I am a student at a university studying computer science. While on summer break I want to get a AWS certification for a résumé booster for internships and such. As I was filling out the information on creating a profile, it kept saying I needed to be apart of a business. Now this might sound a little dumb but as a student, am I able to get certification even though I haven’t worked for a company and can I use my university email?FollowComment"

Answer: "0Yes, you can get a certification. Use your school email. If it requires a "Company" put "Self".CommentShareEXPERTkentradanswered 15 days ago"


Question: aws workspace login app unchecked keep me logged in

On the Amazon workspaces login app.  If I leave keep me login unchecked.   If it logs me off and VM is still running do I still incur charges?I am on the hourly plan.FollowComment

Answer: "1The WorkSpaces client option to keep you logged in prevents you from needing to continuously enter in your username/password when reconnecting - it does not keep the WorkSpaces instance continuously running, even when you're disconnected. Note that the WorkSpaces instance hibernates only when you have disconnected and the configured duration (default 1 hour) has elapsed.CommentShareEXPERTMuraliAtAWSanswered a year ago"


Question: IP addresses for instances spun up within AWS batch

Can AWS batch spin up EC2 instances that don't take up IPs used within the VPC specified for the compute environment?  We are trying to figure out whether using AWS batch would be a way to spin up over 100 machines at once and avoid taking up all the IP addresses in our VPC.FollowComment


Question: Can't access my ec2 public ip outside rdp

"I'm using IIS to host my app and I use port 80, on my RDP if I enter the IP address it redirect me to my app but if I use the IP address outside RDP is not working. I checked with XAMPP and is working on same port( not same time) and I can access it outside my RDP. What may be the problemFollowCommenttino-aws a month agoWhat error message do you get when you try to access it from outside the RDP session?Shareniturazvan36 a month agoit took to long to respondShareAWS-Harrison a month agoHave you checked your Network Access Control Lists and Security Groups?SharePatrick Schaumburg a month agoHave you allowed the external access to your XAMPP?Ref: https://stackoverflow.com/a/28073075Share"

Answer: 0You have to allow external access first. Otherwise only local access is possible.Ref: https://stackoverflow.com/a/28073075CommentSharePatrick Schaumburganswered a month ago


Question: RDP Server services Stopped

"Hi,RDP Server services Stopped, pls restart it!!Enter image description hereEnter image description hereFollowComment"

Answer: "0HiThis can be due to a number of things; I would recommend you try the followingRestart the instance and try to RDPCheck if the Security group, and network access control list allow inbound from RDP port 3389 -> https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/authorizing-access-to-an-instance.htmlCheck the routing table and see if there is an entry for the internet gateway -> https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.htmlIf everything fails try logging into the system via Session Manager and try restarting RDP -> https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html#session-managerCommentShareBisinaanswered 13 days ago"


Question: Are LightSail alarms separately chargeable?

The Subject says it all.https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarmsFollowComment

Answer: "0Accepted AnswerHermesIV,Thanks for choosing Lightsail!We do not charge extra for alarms but there are limitations on how many you can create per resource. Here is a doc on that subject specifically for instances:https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-adding-instance-health-metric-alarms#instance-alarm-limitsI hope this helps!DonleyCommentSharedonleyatawsanswered 3 years ago0I’m pretty sure there is no charge for alarms.DavidCommentShareDavid Ganswered 3 years ago"


Question: How do I debug a failed Cloudwatch Alarm action

"I have the following Cloudwatch alarm set on my instances:aws cloudwatch put-metric-alarm \    --alarm-name stop-when-idle \    --namespace AWS/EC2 \    --metric-name CPUUtilization \    --statistic Maximum \    --period 300  \    --evaluation-periods 3 \    --threshold 10 \    --comparison-operator LessThanThreshold \    --unit Percent \    --dimensions "Name=InstanceId,Value=$INSTANCE_ID" \    --alarm-actions arn:aws:automate:$AWS_REGION:ec2:stopHowever, it recently failed to run; it triggered successfully, and two seconds later attempted to run the stop action, but it says:Failed to execute action arn:aws:automate:us-east-1:ec2:stop. Received error: ""Looking at the full details, I see:{  "alarmName": "stop-when-idle",  "alarmType": "MetricAlarm",  "timestamp": "2023-03-16T07:01:07.187Z",  "historyItemType": "Action",  "historySummary": "Stop EC2 Instance 'i-REDACTED' failed",  "historyData": {    "actionState": "Failed",    "stateUpdateTimestamp": 1678950065929,    "notificationResource": "arn:aws:automate:us-east-1:ec2:stop",    "publishedMessage": null,    "error": null  }}With no error listed. What can I do to figure out why this didn't work?FollowComment"


Question: Securing access to AppStream

"Hi All,I am currently working on an AppStream POC with the intention of streaming a web based application. I have the fleet sat in a private subnet with the intention of only allowing connections from our SIG (Zscaler). I was just looking for some advice for the best way to only allow access to the fleet from a specific IP. I have tried applying security group rules which only allow connections from the relevent IPs but I find I can still connect to the streaming instances from external networks.Any advice / pointers would be appreciated!FollowComment"

Answer: "1Accepted AnswerAppStream 2.0 is a managed service with managed gateways. The fleet, while sitting in a private subnet or more, are streamed through public Gateways. There is another ENI on fleet instances that are dedicated for streaming and service health, which you cannot attach Security Groups to. Now, there is the option to stream through a VPC Endpoint, forcing streaming traffic through a VPC interface - https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.htmlCommentShareEXPERTStevieStetsanswered 6 months ago1This may be what you are looking for: Creating and Streaming from Interface VPC Endpoints.CommentShareEXPERTkentradanswered 6 months ago"


Question: Instance not shutting down

"Newly created instance is not shutting down, shows "Stopping".The volume vol-003fc064efcdfedd4 has this message: Volume stuck in attaching since 1 hours and 36 minutes ago ago. Can I force detach the volume then re-attach to instance without losing anything?Instance ID - i-0895ec1418e5c24e0Tried force stop, and cli stop-instancesEdited by: RickGeo on Aug 13, 2019 3:02 PMFollowComment"

Answer: "0Fixed, somehowCommentShareRickGeoanswered 4 years ago0Hi RickGeo,I am glad to hear that the issue has been solved.Regards,awstomasCommentShareAWS-User-3892169answered 4 years ago"


Question: Problems with deactivation of services and introduction of unknown billed services

"Hello,A few days ago I received an email for my free trial which will expire in a few days. I've been trying to deactivate all my services but I can't find where to deactivate them. I try every day without success. Also every day there is a new service that is billed that is added without knowing what it is, because I never used it.  If someone could explain to me how to deactivate them so that I don't get any more bills it would be really nice. Here are the services I am being charged for:Data TransferEU (Frankfurt)-Bandwidth    -0.00 per GB - regional data transfer - in/out/between EC2 Azs or using elastic IPs or ELB0 GB-$0.00 per GB - regional data transfer - in/out/between EC2 Azs or using elastic IPs or ELB0 GB- US East (N. Virginia)         -Bandwidth                 -$0.00 per GB - regional data transfer - in/out/between EC2 Azs or using elastic IPs or ELB0 GB-$0.00 per GB - regional data transfer - in/out/between EC2 Azs or using elastic IPs or ELB0 GBKey Management Service-EU (Frankfurt) -AWS Key Management Service eu-central-1-KMS-Requests              -0.00 per request - Monthly Global Free Tier for KMS requests1 RequestsSimple Storage Service-US East (N. Virginia) -Amazon Simple Storage Service Requests-Tier1              -0.00 per request - PUT, COPY, POST, or LIST requests under the monthly global free tier60 Requests   -Amazon Simple Storage Service Requests-Tier2                  -$0.00 per request - GET and all other requests under the monthly global free tier2 RequestsThank you very much in advance to the person who can help me.Sincerely KentFollowComment"

Answer: "0Hi, the only one you need to worry about is the Simple Storage Service (S3).  If you log in to the S3 console you can check what you've got there - it looks like you might have some buckets you've made requests against.  You can delete buckets, but as long as your buckets are empty and you're not accessing them then they shouldn't cost you anything.The KMS request is likely related to some other service you used, so shouldn't be an ongoing issue.The data transfer line items are for free internal transfers anyway.CommentShareEXPERTskinsmananswered 2 months agoKent 2 months agoHello, thank you very much for your reply. I have looked at the s3 buckets but I have none. I've also looked in several windows of s3 and have nothing active. The same goes for the kms, I have nothing activated. The only thing I have activated was a few months ago an ec2 instance which I deleted some time later but it's weird all the services I'm billed for are never touched. I'm sure I'll be able to use it again in the future, but I'm not sure how to use it.Thank you in advance.Sincerely KentShare"


Question: AWS Public Certificate Issue

"Hello members,I've integrated successfully a AWS public certificate for my domain ( example.com / *.example.com ). The website is hosted in the beanstalk environment as a Laravel app.The issue is I can see the verified certificate badge on the home page of the website but not the inside laravel application pages. It shows "Not secure" but the certificate is valid. I was added Header always set Content-Security-Policy "upgrade-insecure-requests;" rule to my .htaccess file as it needs to load the website properly under HTTPS domain otherwise, the website shows an error by not loading the .css and .js files properly. Any helps would be much appreciated.ThanksFollowComment"

Answer: "0In the security group load balancer, I modified port 80 security group to custom.CommentShareaselaanswered 2 years ago"


Question: EMR serverless spark properties file

"Hello,How do we pass application.conf or properties file to spark jobs on emr serverless, in standard EMR we copy properties or conf files to master node /home/hadoop/?FollowComment"

Answer: "0You can place the file(s) in S3 and refer them using the standard --files parameter in spark parameters. The distinction in Serverless being if you intend to load this properties files and need to create an InputStream you will need to use SparkFiles.get(fileName) instead of just filename in the traditional EC2 based EMR cluster, read more about this hereCommentShareSUPPORT ENGINEERKrishnadas Manswered 8 months ago"


Question: How to pass web app end user identity via service-to-service API call?

"We are designing a solution with the following layered architecture:A microservice (Service A) that exposes private API (endpoint type = private) via API gateway and stores data into DynamoDB.A web app backend service (Service B) that consumes APIs provided by Service A with IAM authentication by assuming a service role, and exposes internet facing API via API gateway for a web app to consume.A web app authenticate itself using Cognito user pool and identity pool, and assumes IAM roles based on user pool group to call APIs provided by Service B.Service B should be able to get the end user's identity info. My question is, how can I easily and securely pass this identity info from Service B to service A?The options we've considered are:Encrypting the end user identity using KMS and then pass as request header when Service B calls Service A.Signing the end user identity as a JWT and then pass as request header when Service B calls Service A.Both approaches are a bit complicated. I am wondering if there is such feature out of the box?FollowCommentTarit_G SUPPORT ENGINEER25 days agoWhy you don't send the JWT tokens issued by Cognito?ShareEric 24 days agoMany thanks @Tarit_G, that's a good idea.I am not familiar with Cognito. According to this doc the client app will get credentials to sign requests, but it should have access to the JWT too. I will do a bit more research.Share"


Question: ec2 instance restarts

I The ec2 instance I stop keeps restarting. I currently have some Auto scaling on and load balancing. I didn't set it up initially. I would like to turn off my hosting unless I am using it as I test the website. This is also to help save money before I go live with my website. What settings do I need to change?FollowComment

Answer: "2In the Auto Scaling Group you can just set the Minimum Capacity and Desired Capcity to zero. You can also stop your application load balancer to reduce your costs some more.CommentShareRWCanswered a month ago1You can delete the target group, load balancer and auto scaling group. I would advise to make snapshot, if anything goes wrong you may create an image from the snapshot.CommentSharerePost-User-7136343answered a month ago0If you have auto-scaling and load balancing set up, then it's possible that the instance is being restarted due to the scaling policies defined. You can check the auto-scaling group and load balancer configuration to verify this.To turn off your hosting and stop the instance, you can follow these steps:Go to the EC2 console and select the instance that you want to stop.Click on the "Actions" button and select "Instance State" -> "Stop".Confirm the action and wait for the instance to stop.To ensure that the instance does not restart automatically, you can modify the auto-scaling group configuration:Go to the EC2 console and select the auto-scaling group associated with the instance.Click on the "Edit" button and select "Desired capacity".Set the desired capacity to 0.Click on "Update" to save the changes.This will prevent the auto-scaling group from launching any new instances to replace the stopped instance.To save costs, you can also consider using AWS EC2 Spot instances for your website hosting. Spot instances offer significant cost savings compared to on-demand instances, but they can be terminated by AWS with a 2-minute notice if the market price exceeds your bid.CommentSharehashanswered a month ago"


Question: AWS DRS Launch Settings default versions are reflecting

"Hello Team,I am trying to launch recovery Instance in AWS DRS after updating the EC2 Launch Settings and updated Default Launch Settings then after.However the launched Recovery Instance is not exhibiting the changes made in the launch settings such as Not Encrypted EBS Volume and Public IP etc.Please tell me which step am I missing here?Thanks.FollowComment"


Question: Configure Amplify Cognito in Android and iOS to switch programmatically between USERNAME_PASSWORD and CUSTOM_AUTHENTICATION

"Hi,I want to implement login with username password as well as login with otp(custom_auth) and provide user the option to select their mode of authentication just like the amazon shopping app.See screenshot.In the android and ios docs of AWS amplify, I am supposed to provide a json file with the configuration but it accepts only one value for authenticationFlowType.This was possible and currently implemented in my app using original cognito library but can't find the equivalent of it using aws amplify for Android and iOS.FollowComment"

Answer: "0You can not only set the Amplify configuration initially but also adjust per use.So you can call Amplify.configure passing a patch to the settings sometimes.Below you see an example where I used USER_SRP_AUTH and used a fallback to USER_PASSWORD_AUTH. (This is because when migrating users using Cognito Migration Triggers passwords need to be cleartext to be rehashed). But you can switch to custom auth.The code is from a React project:import Amplify from '@aws-amplify/core';import Auth from '@aws-amplify/auth';...    handleSubmitLogin = async values => {        const {            login: { email, password }        } = values;        const { location: { search } } = this.props;        try {            let failed = false;            try {                Amplify.configure({                    Auth: {                    authenticationFlowType: 'USER_SRP_AUTH'                    }                });                await Auth.signIn(email.trim().toLowerCase(), password);            } catch(error) {                console.log(error);                failed = true;            }            if (failed) {                Amplify.configure({                    Auth: {                        authenticationFlowType: 'USER_PASSWORD_AUTH'                    }                });                await Auth.signIn(email.trim().toLowerCase(), password);               }                  const params = queryString.parse((search || '?').substr(1));            await this.props.handleLogin(params.ReturnUrl || '/profile/');        } catch (e) {            this.setState({ loginError: e.message });        }    };CommentShareJaccoPKanswered a year agoaneesahmed a year agoAlthough this seems possible in react js, I'm not quite sure how to translate this to android(java/kotlin) and ios(swift). Amplify JS seems to have much more in terms of documentation compared to the android and iOS counterpartsShareJaccoPK a year agohttps://github.com/aws-amplify/aws-sdk-android/blob/5dfea2ce4e1616876b74c148fe12a8da023799e5/aws-android-sdk-mobile-client/src/test/java/com/amazonaws/mobile/client/AWSMobileClientAuthFlowSettingTest.java#L198Here you see a test file that changes the flowtype by calling mobileClient.initialize againShare"


Question: Error Creating Endpoint

"Hi! The following error happens while trying to create an endpoint from a successful trained model:In the web console:The customer:primary container for production variant AllTraffic did not pass the ping health check. Please check CloudWatch logs for this endpoint.CloudWatch logs:exec: "serve": executable file not found in $PATHIm deploying the model using a Lambda step, just as in this notebook. The Lambda step is successful, and I can see in the AWS web console that the model configuration is created with success.The exact same error happens when I  create an endpoint for the registered model in the AWS web console, under Inference -> Models. In the console I can see that an inference container was created for the model, with the following characteristics:Image: 763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-training:2.8-cpu-py39Mode: single modelEnvironment variables (Key Value):SAGEMAKER_CONTAINER_LOG_LEVEL20SAGEMAKER_PROGRAMinference.pySAGEMAKER_REGIONeu-west-3SAGEMAKER_SUBMIT_DIRECTORY/opt/ml/model/codeI absolutely have no clue what is wrong and I could not find anything relevant online about this problem. Is it necessary to provide an custom docker image for inference or something?For more details, please find below the pipeline model steps code. Any help would be much appreciated!model = Model(    image_uri=estimator.training_image_uri(),    model_data=step_training.properties.ModelArtifacts.S3ModelArtifacts,    sagemaker_session=sagemaker_session,    role=sagemaker_role,    source_dir='code',    entry_point='inference.py')step_model_create = ModelStep(        name="CreateModelStep",        step_args=model.create(instance_type="ml.m5.large") )register_args = model.register(        content_types=["*"],        response_types=["application/json"],        inference_instances=["ml.m5.large"],        transform_instances=["ml.m5.large"],        model_package_group_name="test",        approval_status="Approved")step_model_register = ModelStep(name="RegisterModelStep", step_args=register_args)FollowComment"

Answer: "1Accepted AnswerHi, the problem here is that your inference model's container URI 763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-training:2.8-cpu-py39 is using a training image, not an inference image for TensorFlow. Because the images are each optimized for their own function, the serving executable is not available in the training container in this case.Usually, the framework-specific SDK classes will handle this lookup for you (for example TensorFlowModel(...) as used in the notebook you linked, or when calling sagemaker.tensorflow.TensorFlow.deploy(...) from the Estimator class.I see here though that you're using the generic Model, so guess you don't know (or don't want to commit to) the framework and version at the point the Lambda function runs?My suggestions would be:Can you use the Pipelines ModelStep to create your model before calling the Lambda deployment function? Similarly to how your linked notebook uses CreateModelStep. This would build your framework & version into the pipeline definition itself, but should mean that the selection of inference container image gets handled properly & automatically.If you really need to be dynamic, I think you might need to find a way of looking up at least the framework from the training job. From my testing, you can use estimator = sagemaker.tensorflow.TensorFlow.attach("training-job-name") and then model = estimator.create_model(...) to correctly infer the specific inference container version from a training job, but it still relies on knowing that TensorFlow is the correct framework. I'm not aware of a framework-agnostic equivalent? So could e.g. try describing the training job, manually inferring which framework it uses from that information, and then using the relevant framework estimator class' attach() method to figure out the specifics and create your model.CommentShareEXPERTAlex_Tanswered 6 months agoSagebreaker 6 months agoHi Alex! It was my mistake to use the generic Model. After switching to sagemaker.tensorflow.model.TensorFlowModel and following your suggestion (first point) to use CreateModelStep, it worked :) Many thanks!!!I wonder, though, why in some examples the training image is used as the Model's image_uri like e.g., the one in this link: https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.htmlShare"


Question: How to migrate DB on premise Oracle to Microsoft SQL Server DB in AWS. We see SCT will not allow MS SQL Server as Target when source is Oracle. Looking for tools like SCT to move Schema from Oracle.

How to migrate DB on premise Oracle to Microsoft SQL Server DB in AWS. We see SCT will not allow MS SQL Server as Target when source is Oracle. Looking for tools like SCT to move Schema from Oracle.We see SCT is useful to move Source Schema (Eg: Oracle ) to Target Schema DB (Eg: Aurora Postgres) and other limited DB combinations. Now requirement is to migrate from On-premise Oracle to MS SQL Server in AWS Cloud.  Please let me know if anyone has worked on this task.FollowComment

Answer: "2Hello ,AWS allows you to migrate your data to and from most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB, and MySQL.AWS supports:homogeneous migrations such as Oracle to Oracle, and alsoheterogeneous migrations between different database platforms, such as:Oracle to MySQL orMySQL to Amazon Aurora MySQL-Compatible Edition.AWS schema tool SCT (Schema Conversion Tool) doesn’t allow yet a direct schema conversion :From Oracle DatabaseTo RDS - SQL Serverhttps://aws.amazon.com/fr/dms/schema-conversion-tool/Microsoft on its side, has an equivalent tool for database migration which name is DSCT - Microsoft Database Schema Conversion Toolkit.https://docs.microsoft.com/en-us/sql/azure-data-studio/extensions/dsct/database-schema-conversion-toolkit?view=sql-server-ver15#supported-sources-and-targetsAs Microsoft tool DSCT is free (AWS SCT is also free), you can use the following workaround/tips:If the target of database of the schema conversion is SQL Server, any schema generated compatible with SQL Server will work whatever the tools you have used to generate the schema (AWS SCT, or Microsoft DSCT)As AWS doesn't support this kind of schema conversion (Oracle to SQL Server) with AWS SCT, you can use the Microsoft tool DSCT to generate the SQL Server schema. (Microsoft tool DSCT is included in the freeware SSMA - which stands for SQL Server Migration Assistant).Once the schema is converted from Oracle to SQL Server using Microsoft tool’s DSCT, review the generated T-SQL code, test it and validate it.Afterwards this schema conversion step, you can continue with AWS database migration methodology by integrating the converted schema in AWS migration steps’.CommentShareAWS-WTapsobaanswered a year ago1Hello,For Oracle to SQL Server migration you can use Microsoft's own "SQL Server Migration Assistant for Oracle":https://docs.microsoft.com/en-us/sql/ssma/oracle/migrating-oracle-databases-to-sql-server-oracletosql?view=sql-server-ver15CommentShareAWS-ADolganovanswered a year ago"


Question: Redirect S3 URL to Domain URL

"I have my image stored on my server as xyz.com/images , Now I have moved my folder to s3 but I want my URL to be the same. I don't want use Cloud front for redirect , Is their a was to use redirection rules to change the path URL imagesFollowComment"

Answer: "3I think what you're asking is that you want http://xyz.com/images/ to be hosted in S3 while your website is still hosted on your server. Is that correct?If so, you can't have your server (xyz.com) and the S3 bucket with the same DNS name. You can create a bucket which is (say) images.xyz.com and then reference that from your server in your webpages.If your whole site is being moved to S3 then I would strongly recommend that you use CloudFront because you get HTTPS support and the ability be much more flexible with redirects.CommentShareEXPERTBrettski-AWSanswered a year ago"


Question: How to shorten the API response time in a API GW + Lambda solution

"We are building a REST API using API GW + Lambda with NodeJS. In a nutshell the API extracts a big payload (up to 1MB) from the request, stores it into S3 and then return a response. We'd like to shorten the API response time but find this is quite difficult using Lambda. What we have thought of:Make storing payload into S3 async via SNS/SQS. However the payload is too big to put into a SNS/SQS message directly so we still have to put it somewhere first (e.g. S3) and include a reference in the SNS/SQS message. Therefore making it async does not seem helpful here.We also tried to return the response to API GW before storing object into S3 completes and hoped that lambda would continue running until the S3 calls completes. However the lambda stops execution immediately after the return. Any pending operations get "frozen" and only continue when the lambda is triggered by a new incoming request. This is what AWS document describes. Changing lambda context callbackWaitsForEmptyEventLoop to true or false does not help either.Any ideas are appreciated.Update on 1 Jun 2022:Thanks all for your answers.I've uploaded two XRAY traces for the first invocation and second invocation on the lambda with provisioned concurrency. I tried to put the same payload (1.3MB) into ElastiCache, S3 and DynamoDB (after slicing) at the same time.https://ibb.co/2jZnhpvhttps://ibb.co/NnZN1dWAs you see putting the payload into S3 isn't that slow. I haven't tried the other approaches like writing into Firehose yet but I doubt it will be significantly faster. I reckon the lambda extension is more reasonable if it enables Lambda to continue run after return response to API GW.FollowComment"

Answer: "1The only way in which you can have code running after you return the response from the handler is using Lambda extensions. You will need to create an extension that will wait for the main function to send it the file (it could be done using an internal socket or using a file in /tmp). Once the function sends the file to the extension it can return. The extension can then save the file to S3.You can find some deep dive session here.CommentShareEXPERTUrianswered a year agoEric Zhang a year agoThanks Uri. Will give it a go whenever I get a chance.Share0This isn't going to seem helpful, but: Things take time and sometimes there aren't good solutions to that. However, some suggestions:CPU performance in Lambda functions increases as memory allocation does. So if you allocate more memory to your Lambda function (if even you don't use it) it will get more CPU allocated to it and (probably) execute faster. There will be a balancing point for that where adding more memory doesn't decrease execution time.You may find that other storage types may be faster than S3 but you will need to test. You could try using EFS with your Lambda function but that will add some cost to your solution but it may meet your performance requirements. You might choose to store the request object in EFS, send a SQS message which triggers another Lambda function to copy that to S3 for longer-term (and less expensive) storage; then delete the file from EFS.If there is a challenge with cold start timing (it doesn't appear to be that way but just in case) then consider using Lambda Provisioned Concurrency noting again that there is a cost there.CommentShareEXPERTBrettski-AWSanswered a year agoEric Zhang a year agoThanks Brettski for your suggestions.Yes we have increased memory to 2048M although only around 128M used, and it didn't really improve the S3 operation and SNS event publishing time that much.We have implemented provisioned concurrency, it does eliminate the lambda initialisation time when it cold starts.We haven't tried EFS but tried ElastiCache. One problem with ElastiCache is, a provisioned lambda is not maintaining TCP connections so upon first API call lambda needs to reconnect to ElastiCache which makes it almost as slow as S3. Anyway the ElastiCache is ruled out by the mgmt as it is not server-less infra.ShareBrettski-AWS EXPERTa year agoThe delay you're experiencing connecting to ElastiCache is also going to be present connecting to S3 and SNS; those services also rely on TCP connections being created and TLS being negotiated; both are going to lead to delays; as above: things take time and those things don't really change that much with increased CPU.ShareEric Zhang a year agoHi Brettski, you are right that connecting to ElastiCache / S3 / SNS are over the same TCP and TLS, the difference is that when lambda instance is warm, the TCP connection to ElastiCache is maintained. I've uploaded two XRAY trace for your info.Share0It is possible to upload files to S3 directly from API Gateway without having a lambda in between. The following https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-upload-image-s3/ shows how that can be done.If you have to use a Lambda for other reasons and want to send the data to S3 asynchronously, you can use one of the following approaches if your file size max is 1 MB.a) From the Lambda, write to Kinesis Data Firehose and that in turn writes to S3b) From the Lambda, write to Kinesis Data Streams and have another Lambda pick up from the Kinesis Data Streams and write to S3c) From the Lambda, write to Kinesis Data Streams and have Kinesis Data Firehose read from Kinesis Data Streams and write to S3CommentShareEXPERTIndranil Banerjee AWSanswered a year agoEric Zhang a year agoThanks Indranil. The scenario in my question is a simplified version, our business requirements are more than just uploading the payload. I will try Firehose when I get a chance but I doubt it would be faster than writing the file into S3 directly.Share"


Question: CannotStartContainerError: ResourceInitializationError: failed to create new container runtime task: failed to create shim task: OCI runtime create failed: runc create failed: args must not be empty:

i am currently trying to run a container on Fargate ECS based on an image stored in ECR except recently I have this error in the details of the tasksCannotStartContainerError: ResourceInitializationError: failed to create new container runtime task: failed to create shim task: OCI runtime create failed: runc create failed: args must not be empty: unknownNote that the system worked for several monthsThis error appeared to me overnightAny help would be welcome Thank you !FollowComment


Question: Are there any best practices when the documentDB cluster storage limit is exceeded?

"I saw the article 'DocumentDB Quotas and Limits' in the official document.Maximum storage capacity per cluster is 64TB, if exceeded, can the limit of the cluster be expanded?If I make an additional request, can I increase the storage capacity?If there is a best practice for managing documentDB with more than 64TB of cluster data, please share it with us.Thank you.FollowComment"

Answer: "1You cannot increase storage capacity beyond the documented 64 TiB limit (note this is tebibyte, not terabyte).As a managed service, DocumentDB automatically scales and handles your storage layer for you; this is part of it's purpose built design and there is no API, SDK, or console command available or needed to interact with the storage layer. Your storage volume is automatically divided into 10 GB segments spread across many disks and is replicated six ways, across three Availability Zones (AZs). This allows DocumentDB to transparently handle the loss of up to two copies of data without affecting write availability and up to three copies without affecting read availability. And since this storage volume is self-healing, data blocks and disks are continuously scanned for errors and repaired automatically.If you are approaching the 64 TiB limit, consider moving archived, or older, data to another DocumentDB cluster. Alternatively, if you have data retention requirements but are not querying or interacting with these older documents, you could export them to S3, for example, then delete those documents that are no longer needed.CommentShareCody_Aanswered 8 months ago"


Question: Greengrass V2 deployment topics?

"I am attempting to update a thing shadow when a deployment completes with the components & versions that are installed on the device.  The way it's set up now is:An IoT rule that subscribes to SELECT * FROM '$aws/events/jobExecution/+/succeeded' and sends the message to a LambdaThe Lambda takes the event, calls the listInstalledComponents api from the Greengrass sdk, then calls the updateThingShadow with the components.However when the Lambda runs, the installed components that get updated in the shadow are not updated with the latest components.  It's almost like the Lambda is run before the component listing is updated.  I can see that the component listing in the AWS console updated as soon as the deployment is finished.I'm wondering if there's a better topic to watch, or if there's some other way to do what I need.  Any guidance would be appreciated.FollowComment"

Answer: "0Hi. I'm told that listInstalledComponents is eventually consistent. I think one way to deal with this might be to handle it similar to the recommended handling of disconnect lifecycle events. See Handling client disconnections here: https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.htmlIn short, insert an SQS delay queue between the event and the Lambda: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.htmlCommentShareEXPERTGreg_Banswered a year ago"


Question: Codedeploy permissions issue

"Hello,This is my app structure--my-app|--bin|   |--console|   |--phpunit|--var|--src|----file1|----file2I want to set permissions to all folder to be 755 with user www-data and all files to 644 with user www-data except /bin/console and /bin/phpunit which need to be 744I've tried almost everything from https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-permissions.htmland always end up with duplicated permissions.What am i doing wrong?permissions:object: /var/www/testl/owner: www-datagroup: www-datamode : 644type:fileobject: /var/www/testowner: www-datagroup: www-datamode: 755type:directoryobject: /var/www/test/binowner: www-datagroup: www-datamode : 744type:fileEdited by: thedoole on Apr 24, 2019 5:14 AMFollowComment"

Answer: 0I've solved it like this:permissions:object: /var/www/testpattern: "*"owner: www-datagroup: www-datamode : 644type:fileobject: /var/www/testowner: www-datagroup: www-datamode : 755type:directoryobject: /var/www/test/binowner: www-datagroup: www-datamode : 744type:fileobject: /var/www/test/configowner: www-datagroup: www-datamode : 644type:fileobject: /var/www/test/publicowner: www-datagroup: www-datamode : 644type:fileobject: /var/www/test/srcowner: www-datagroup: www-datamode : 644type:fileobject: /var/www/test/vendorowner: www-datagroup: www-datamode : 644type:fileobject: /var/www/test/varowner: www-datagroup: www-datamode : 644type:filePattern "*" is not documented at all.CommentSharethedooleanswered 4 years ago


Question: boto3 iotanalytics client has endpoint value error

"using sagemaker jupytor notebook instancecode as belowimport boto3client = boto3.client('iotanalytics')anomaly_client = boto3.client('iot-data', region_name='us-east-1', endpoint_url = 'a2nnb1d4l4rnib-ats.iot.us-east-1.amazonaws.com')when run following errorValueError: Invalid endpoint: a2nnb1d4l4rnib-ats.iot.us-east-1.amazonaws.comwhile this endpoint is working fine with python file to publish data on IoT CoreFollowComment"

Answer: "1In boto3, when specifying endpoint_url, this url will be validated against a few rules. Code: https://github.com/boto/botocore/blob/9e9d4831d2f28a2a338406a8b16608976e034761/botocore/utils.py#L1230Basically, the endpoint url need to follow<scheme>://<netloc>/<path>?<query>#<fragment>You are missing the scheme, i.e. http:// or https://I tested locally in my computer, adding those schemes will see client created successfully.CommentShareAWS-User-5210721answered 5 months agoEXPERTGreg_Breviewed 5 months ago0Yes! It workedMany thanksCommentSharerePost-User-5907837answered 5 months ago"


Question: No authority to make group policy changes

"Hi,I'm trying to disable the clopboard in my WorkSpaces so am following the instructions ar https://docs.aws.amazon.com/workspaces/latest/adminguide/group_policy.htmlI'm on the "Install the Group Policy Administrative Template" step.After copying the pcoip.adm file and starting gpmc.msc as Admin in a WorkSpace, I try to follow: "3. Open the context (right-click) menu for the machine account organizational unit and choose Create a GPO in this domain, and link it here."I can't because "Create a GPO in this domain" is grayed out.I also can't see my WorkSpaces or Users in the relevant section.I'm using AD Connector talking to an AWS hosted AD.Thanks,TLFollowComment"

Answer: 0Review your admin credentials.CommentShareTL241answered 3 years ago


Question: Advice on Migrating from Firebase to AWS services

"I'm currently using Firebase as the backend for our company's flutter application prototypes, but lately we've had issues with what tools are available to us using a very simple noSQL database like firestore. I'm wondering if anyone can point me toward the aws service (if it exists) that is closest in simplicity and function to firebase; but will allow us to set up a relational database and an api to access it from; and beyond this, maybe even hosting and authentication.If there is no one product that bundles these services together, what are all the pieces needed to achieve setting up a fully functioning back end using aws? Any advice would be extremely appreciated!FollowComment"


Question: Glue running in Docker not able to find com.mysql.cj.jdbc.Driver

"Following along with this blog post I'm attempting to debug/breakpoint my glue tasks running in VS Code using amazon/aws-glue-libs:glue_libs_3.0.0_image_01.I can get up to the point where the job executes and I can step through the code right up until the point I try and connect to RDS to fetch data. As soon as I do I get backAn error occurred while calling o47.getDynamicFrame.: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driverat java.net.URLClassLoader.findClass(URLClassLoader.java:387)at java.lang.ClassLoader.loadClass(ClassLoader.java:418)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)at java.lang.ClassLoader.loadClass(ClassLoader.java:351)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at com.amazonaws.services.glue.util.JDBCUtils.loadDriver(JDBCUtils.scala:214)at com.amazonaws.services.glue.util.JDBCUtils.loadDriver$(JDBCUtils.scala:212)at com.amazonaws.services.glue.util.MySQLUtils$.loadDriver(JDBCUtils.scala:490)at com.amazonaws.services.glue.util.JDBCWrapper.getRawConnection(JDBCUtils.scala:746)at com.amazonaws.services.glue.JDBCDataSource.getPrimaryKeys(DataSource.scala:1006)at com.amazonaws.services.glue.JDBCDataSource.$anonfun$getJdbcJobBookmark$1(DataSource.scala:878)at scala.collection.MapLike.getOrElse(MapLike.scala:131)at scala.collection.MapLike.getOrElse$(MapLike.scala:129)at scala.collection.AbstractMap.getOrElse(Map.scala:63)at com.amazonaws.services.glue.JDBCDataSource.getJdbcJobBookmark(DataSource.scala:878)at com.amazonaws.services.glue.JDBCDataSource.getDynamicFrame(DataSource.scala:953)at com.amazonaws.services.glue.DataSource.getDynamicFrame(DataSource.scala:99)at com.amazonaws.services.glue.DataSource.getDynamicFrame$(DataSource.scala:99)at com.amazonaws.services.glue.SparkSQLDataSource.getDynamicFrame(DataSource.scala:714)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)at py4j.Gateway.invoke(Gateway.java:282)at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)at py4j.commands.CallCommand.execute(CallCommand.java:79)at py4j.GatewayConnection.run(GatewayConnection.java:238)at java.lang.Thread.run(Thread.java:750)I'm not sure how to solve this problem. I see in the blog post its mentioned that I can pass in extra libraries, however when I look in /home/glue_user/aws-glue-libs/jars I can see a jar named mssql-jdbc-7.0.0.jre8.jar so I'm not so sure thats the problem. I should mention this job runs without a problem when deployed to AWS.I'm currently starting up the amazon/aws-glue-libs:glue_libs_3.0.0_image_01 using a very basic docker-compose fileversion: "3.8"services:  glue:    container_name: "glue-local-development"    image: amazon/aws-glue-libs:glue_libs_3.0.0_image_01    ports:      - "4040:4040"      - "18080:18080"    environment:      - DISABLE_SSL=true      - AWS_PROFILE=my_profile    volumes:      - ~/.aws:/home/glue_user/.aws      - ${PWD}:/home/glue_user/workspace/    stdin_open: trueThen connecting as per the blog post. Is there something else I have to do here?I don't think I should have to manually load in the mysql jars?I've been stuck at this point for awhile so would really appreciate any help or suggestions people haveEdit:Interestingly when I attempt to run amazon/aws-glue-libs:glue_libs_2.0.0_image_01 it fails with a very similar but different error: An error occurred while calling o49.getDynamicFrame.: java.io.FileNotFoundException:  (No such file or directory)        at java.io.FileInputStream.open0(Native Method)        at java.io.FileInputStream.open(FileInputStream.java:195)        at java.io.FileInputStream.<init>(FileInputStream.java:138)        at com.amazonaws.glue.jdbc.commons.CustomCertificateManager.importCustomJDBCCert(CustomCertificateManager.java:127)        at com.amazonaws.services.glue.util.JDBCWrapper$.connectionProperties(JDBCUtils.scala:947)        at com.amazonaws.services.glue.util.JDBCWrapper.connectionProperties$lzycompute(JDBCUtils.scala:734)        at com.amazonaws.services.glue.util.JDBCWrapper.connectionProperties(JDBCUtils.scala:734)        at com.amazonaws.services.glue.util.JDBCWrapper.getRawConnection(JDBCUtils.scala:747)        at com.amazonaws.services.glue.JDBCDataSource.getPrimaryKeys(DataSource.scala:996)        at com.amazonaws.services.glue.JDBCDataSource$$anonfun$33.apply(DataSource.scala:868)        at com.amazonaws.services.glue.JDBCDataSource$$anonfun$33.apply(DataSource.scala:868)        at scala.collection.MapLike$class.getOrElse(MapLike.scala:128)        at scala.collection.AbstractMap.getOrElse(Map.scala:59)        at com.amazonaws.services.glue.JDBCDataSource.getJdbcJobBookmark(DataSource.scala:868)        at com.amazonaws.services.glue.JDBCDataSource.getDynamicFrame(DataSource.scala:943)        at com.amazonaws.services.glue.DataSource$class.getDynamicFrame(DataSource.scala:97)        at com.amazonaws.services.glue.SparkSQLDataSource.getDynamicFrame(DataSource.scala:707)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:498)        at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)        at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)        at py4j.Gateway.invoke(Gateway.java:282)        at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)        at py4j.commands.CallCommand.execute(CallCommand.java:79)        at py4j.GatewayConnection.run(GatewayConnection.java:238)        at java.lang.Thread.run(Thread.java:750)FollowComment"

Answer: "0Hi,I see that you are receiving the following error while trying to connect to RDS when you are following the blog post “Develop and test AWS Glue version 3.0 jobs locally using a Docker container” :==========An error occurred while calling o47.getDynamicFrame.: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver==========I believe the issue here is with the class name “com.mysql.cj.jdbc.Driver”. You can provide a custom driver by uploading the connector "MySQL connector J 5.1.49" to S3 and referencing it in the parameter "customJdbcDriverS3Path". The glue code snippet for example would look similar to :==========connection_mysql_options = {"url": "jdbc:mysql://<host>:3306/dbName","dbtable": <dbTableName>,"user": <userName>,"password": <password,"customJdbcDriverS3Path": "s3://s3bucket/path/mysql-connector-java-5.1.49.jar","customJdbcDriverClassName": "com.mysql.jdbc.Driver"}datasource0 = glueContext.create_dynamic_frame.from_options(connection_type="mysql", connection_options=connection_mysql_options,transformation_ctx="datasource0")==========If the issue still persist, then please open a support case with AWS providing the connection details and code snippet used - https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-caseThank you.CommentShareSUPPORT ENGINEERSaiIndira_Chanswered 6 months agorePost-User-0640902 6 months agoSeems a bit odd that given that driver already exists in the container, and I'm trying to connect to a catalog via glue_context.create_dynamic_frame.from_catalog which works in production, that I'd have to go and change all my code just to debug a glue job in a docker container?Share"


Question: Unable to connect remotely to MySQL on Node.js image

"Hi,I just opened a Lightsail instance on a Node.js image and I'd like to have a MySQL database on it.I followed  this guide (https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/ ). Step by step, added a user with host '%' and added the preset MySQL/Aurora port 3306 to the networking config of my Lightsail instance. However when I try to connect remotely (local is fine) using HeidiSQL I get "Can't connect to MySQL server on 'IP-ADDRESS' (10061)".FollowComment"

Answer: "0Accepted AnswerHello,Thank you for using Lightsail.That guide directs you to bind your MySQL server to localhost. Due to the network configuration of AWS, you need to use 0.0.0.0 in order to bind to external traffic (coming through your Public IP address).If this is a server you use for a production application, in the interest of security it's recommended to keep the MySQL network port closed in your firewall and use SSH tunneling instead https://docs.bitnami.com/virtual-machine/faq/get-started/access-ssh-tunnel/In that article, SOURCE means the local port you want to use to connect: ex 23306DESTINATION is the address on the remote machine you want to reach: ex. 127.0.0.1:3306Then you'd connect to localhost:23306 in HeidiSQLRegards,GabrielCommentShareGabriel - AWSanswered 4 years ago"


Question: File deletion with datasync if versioning is enabled.

"What is happening if I'm syncing a File System with S3 versioning enabled, and I delete a file? I suppose that a delete marker is added, so the previous versions are kept.This mean that the client will have probably to do additional activities to clean up files deleted over a period of time if they want to keep their storage cost low.correct?THanks.FollowComment"

Answer: "0Accepted AnswerYes, that is my understanding. With versioning enabled, deletions in the file system will not remove the previously synced versions of the file store in S3 automatically. An object expiration lifecycle policy may be a helpful resource in reducing storage costs here.If you have an object expiration lifecycle policy in yournon-versioned bucket and you want to maintain the same permanentdelete behavior when you enable versioning, you must add a noncurrentexpiration policy. The noncurrent expiration lifecycle policy willmanage the deletes of the noncurrent object versions in theversion-enabled bucket. (A version-enabled bucket maintains onecurrent and zero or more noncurrent object versions.) For moreinformation, see How Do I Create a Lifecycle Policy for an S3 Bucket?in the Amazon Simple Storage Service Console User Guide(https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html)CommentShareEXPERTJDBanswered 4 years ago"


Question: DNS Server Settings to point to EC2 Instance for existing Domain

"These seems like such a simple question but I haven't found an answer other than "Transfer your domain name to Route 53"Here is what I have -I have an existing domain name registered with eNom. That registration's NDS server settings point to a shared hosting service that holds the existing website.I have an EC2 instance running IIS with a web site and service. This is associated with an Elastic IP address.My question is - what do I enter in the DNS server settings as a Name server to point to the site hosted by the EC2 instance?I can change the A record at the current host but that seems a little bit hacky.TIA,ChrisFollowComment"

Answer: "0Accepted AnswerYou can register your domain name where ever you like and you can have your domainDNS records where ever you like, they don't have to be the same place.You can keep your domain registered at eNom and use their name serversand set/point your domain to your EC2 ipor....keep your domain registered at eNom and set up your DNS records / zoneat Route 53. While setting up your zone it will list what name servers to use.After setting up your records you can update your name servers at eNom touse the name servers listed in your Route 53 zone recordor....set up your records at route 53 and then move your domain register to route 53 as well.all the above is perfectly acceptable. Just depends whos speed, pricing, service, interface you like best.CommentSharepiken2answered 3 years ago0Thanks! - This is exactly the kind of answer I needed.I was thinking about the problem the wrong way so I couldn't recognize the answer when I read it. The text looks like it was copy and pasted right from the docs.So what I have is already correct. I reset the zone records to point to the EC2 ip.Now I can get back to work.CommentShareCCordlessanswered 3 years ago"


Question: "I use the EC2Rescue, but I can`t upload data to support url."

"Hello, I use the AWS System.A few days ago, I ran the EC2Rescue for Linux(EC2RL), I got the result from service.I read the document about EC2Rescure for Linux, so I tried to upload data to the support url.But, I couldn`t work because I saw the error message.Traceback (most recent call last):File "/home/ec2-user/ec2rl-1.1.5/ec2rl.py", line 124, in <module>if main():File "/home/ec2-user/ec2rl-1.1.5/ec2rl.py", line 106, in mainreturn ec2rl()File "/home/ec2-user/ec2rl-1.1.5/ec2rlcore/main.py", line 637, in callreturn getattr(self, subcommand)()File "/home/ec2-user/ec2rl-1.1.5/ec2rlcore/main.py", line 724, in uploadpresigned_url = ec2rlcore.s3upload.get_presigned_url(self.options.global_args["supporturl"], tgz_filename)File "/home/ec2-user/ec2rl-1.1.5/ec2rlcore/s3upload.py", line 114, in get_presigned_urluploader_url = urllib_urlopen(the_request).geturl()File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopenreturn opener.open(url, data, timeout)File "/usr/lib64/python2.7/urllib2.py", line 421, in openprotocol = req.get_type()File "/usr/lib64/python2.7/urllib2.py", line 283, in get_typeraise ValueError, "unknown url type: %s" % self.__originalValueError: unknown url type: URLProvidedByAWSSupportI Think that this question is very simple to professional or veteran member, but I can`t understand error message until now.The question.What is the "URLProvidedByAWSSupport"? I think this word means support case in support center. Is that right??if the "URLProvidedByAWSSupport" is not supoort center, what can I do to upload the EC2Rescue for Linux?Can anyone help me??FollowComment"

Answer: "0Accepted AnswerHello nesoky,  The support URL would be provided by an AWS Support Engineer if you had a case open with AWS Support. If you do not have a case open you won't be using that URL.Are you trying to fix an EC2 instance? If so can you elaborate on what you're trying to do there and perhaps someone can assist.Thank you,CommentShareEXPERTRob_Hanswered a year agoneosky a year agoThank you for your comment. I`ll open a case and upload files as your answer.Share"


Question: AWS Exam got Revoked due to Statistical Issue in the Result

"Hello Sir/Madam,I had appeared for the AWS Solutions Architect Associate exam on 18 March 2023 with all my hardworking preparation which took me 93 Days of my day and night studies to appear into this exam,I am a student who is still studying his Undergraduate Studies in Computer Engineering but have always been an AWS enthusiast in such a small age while following AWS since a long time and always dreamed of becoming a member of AWS Family so I had started preparing for the exam since long time but by working on my skills and practising AWS has always been a fun time for me and which gained me the confidence to apply for the exams with my Parents Hardworking Money but to come up with the point after I appeared on the exam on 18 th March after the exam I recieved a mail saying you have Passed the exam with a score of 798 which was the happiest moment for me to live into this world with jumping all over in excitement after claiming the badge the later after 45-60min I recieved a mail saying your badge has been revoked and your test has been unvalidated which was shock for me after giving the test genuinely with all the instructions followed as per the proctor who was there, Now I am feeling extremely stressed after so much of Hardwork and praising AWS due to its technology and Synchronous AWS(EC2,Route53,Amazon S3) but now I have lost hopes due to working so hard and getting such kind of result even though if one is giving his/her test genuinely with his/her parents money is not acceptable in such case saying test invalid due to statistical issue in your result .Lastly giving the test again with my parent money is being a shame for me to borrow the money back from them which is certainly a high amount to repay again.It's my humble request to get some solution regarding my case of being a student who is yet to start his full time career in AWS  in future.I hope i get some positive response from your side which would be helpful for me and my Hardwork throughout this process.Thank YouFollowComment"

Answer: "0Please submit a ticket to the AWS Training & Certification customer support team, and they will provide assistance. If you already submitted a case, please allow at least 48 hrs to get a response.CommentShareNelliT-AWSanswered 2 months ago"


Question: SageMaker Pipeline with lambda step: unable to update/upsert pipeline

"Hi there,I have a SM pipeline which contains a lambda step.I have recently run into problems with the pipeline/lambda function, everytime I call the pipeline.upsert() method, I receive the following error message(s):ResourceConflictException: An error occurred (ResourceConflictException) when calling the UpdateFunctionCode operation: The operation cannot be performed at this time. An update is in progress for resource: arn:aws:lambda:eu-west-x:XXXXXXXXXXXX:function:evaluation-input-generatorDuring handling of the above exception, another exception occurred: ValueError: {'Message': 'The operation cannot be performed at this time. An update is in progress for resource: arn:aws:lambda:eu-west-X:XXXXXXXXXXXX:function:evaluation-input-generator', 'Code': 'ResourceConflictException'}For some reasons, the lambda seems to be permanently stuck in An update is in progress for resource: ..., however, I suspect that this is not the case, I am able to call the lambda helper's update method for the function and it will return status 200.this behaviour is observed in multiple SM pipelines, any help would be greatly appreciated!Best,RuoyFollowComment"

Answer: "0Hello Ruoy,Since this issue is observed in multiple SM pipelines, I would request you to open a case with Premium support so that engineer can inspect lambda configuration and the cloudtrail events and get to the root cause of the issue.https://docs.aws.amazon.com/awssupport/latest/user/case-management.htmlCommentShareSUPPORT ENGINEERStewyn_Canswered a year ago"


Question: Ping Printer IP address inside my EC2 instance

Cannot ping Printer or Gateway (Access Point) of IP address on my EC2 instance.How to ping and connect printer or other hardware access point gateway with Amazon EC2 instanceFollowComment

Answer: "0By default, Amazon EC2 instances are launched within a Virtual Private Cloud (VPC), which provides a logically isolated network. To ping and connect to devices such as printers or other hardware access points from your EC2 instance, you must ensure that the devices are reachable from within the VPC.At first, you need to create a VPN connection to create a tunnel between your VPC and Your SiteCheck: https://aws.amazon.com/vpn/site-to-site/ and https://aws.amazon.com/directconnect/thenConfigure Security GroupsConfigure Network ACLsConfigure Routing:CommentShareEXPERTsedat_salmananswered 2 months ago"


Question: EC2 Instance Stuck in Stopping State

"As many other users appear to be reporting we are having issues stopping and restarting one of our EC2 instances.  We have received an email that our instance was having an underlying hardware issue and would need to be stopped and started again to migrate the instance.  However, unlike some we are now approaching the one hour mark of the instance being stuck in the stopping state.The instance ID is: i-6dc1a307Please let me know if more information is needed to resolve the issue.Thanks,DanFollowComment"

Answer: "0Hi DanI am sorry to hear about the issue that you've had with your instance. I can see that it is back and running gain now so I assume that the issue has been solved now.Regards,awstomasCommentShareAWS-User-3892169answered 4 years ago0Yes, we made the instance force stop last night after several hours of letting it try to stop manually.  For other people experiencing this issue, if it comes down to it, it might be worth trying to force the instance to stop by going to stop --> yes, forcefully stop.CommentSharedvicarianswered 4 years ago0This isn't really documented anywhere that I have seen but from what I have observed, when your instance takes a long time to stop, it is actually migrating to a new host during this part of its lifecycle.  You can aggressively elect to "Force Stop" it and it will still not stop the instance until it has finished doing its thing.  It somewhat makes sense from a user-facing perspective too - would you rather it take a long time to shut down, or a long time to start up the next time when it migrates?  Although, they could just add a lifecycle state called "Migrating" and simplify it.It is also common that if you try to migrate an instance by power-cycling it early on, it will take a long time because presumably the underlying host that is failing has many, many other instances than just yours that all need to be migrated off.  I do not use dedicated tenancy but maybe someone else could comment on that and whether their migrations are much faster.Hope this helps someone out.CommentSharecgminardianswered 4 years ago"