Question: Segfaults while using Greengrass IPC Publisher CPP Example

"Looking for advice/guidelines on how to use the Greengrass IPC publish sample code in a multi-threaded C++ application that will have many asynchronous calls making Publish requests.I have read the following guide, (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html), in particular the "Best practices for subscription handlers" section. Is there an equivalent section for publishing IPC messages ?Our current approach:Run the following code once, in the main/init function:ApiHandle apiHandle(g_allocator);Io::EventLoopGroup eventLoopGroup(1);Io::DefaultHostResolver socketResolver(eventLoopGroup, 64, 30);Io::ClientBootstrap bootstrap(eventLoopGroup, socketResolver);GreengrassCoreIpcClient ipcClient(bootstrap);And then, when we wish to publish an IPC message, we call the following function:int publish_ipc_message(GreengrassCoreIpcClient * ipcClient, String topic, String message, int timeout) {IpcClientLifecycleHandler ipcLifecycleHandler;auto connectionStatus = ipcClient->Connect(ipcLifecycleHandler).get();  // Check for pre-existing connection status  if(connectionStatus.StatusToString() == "EVENT_STREAM_RPC_CONNECTION_ALREADY_ESTABLISHED") {      std::cout << "Event Stream Already Established" << std::endl;  } else if (!connectionStatus) {      std::cerr << "Failed to establish IPC connection: " << connectionStatus.StatusToString() << std::endl;      return 1;  }    PublishToTopicRequest request;  Vector<uint8_t> messageData({message.begin(), message.end()});  BinaryMessage binaryMessage;  binaryMessage.SetMessage(messageData);  PublishMessage publishMessage;  publishMessage.SetBinaryMessage(binaryMessage);  request.SetTopic(topic);  request.SetPublishMessage(publishMessage);  PublishToTopicOperation operation = ipcClient->NewPublishToTopic();  auto activate = operation.Activate(request, nullptr);  activate.wait();  auto responseFuture = operation.GetResult();  if (responseFuture.wait_for(std::chrono::seconds(timeout)) == std::future_status::timeout) {      std::cerr << "Operation timed out while waiting for response from Greengrass Core." << std::endl;      exit(-1);  }  auto response = responseFuture.get();  if (response) {      std::cout << "Successfully published to topic: " << topic << std::endl;  } else {      // An error occurred.      std::cout << "Failed to publish to topic: " << topic << std::endl;      auto errorType = response.GetResultType();      if (errorType == OPERATION_ERROR) {          auto *error = response.GetOperationError();          std::cout << "Operation error: " << error->GetMessage().value() << std::endl;      } else {          std::cout << "RPC error: " << response.GetRpcError() << std::endl;      }       exit(-1);  }  return 0;  We occasionally receive a segfault from this publish_ipc_message() function when it is called, my guess is that passing the same ipcClient to each call of the function is responsible for the segfault.Any guidance on how to approach multi-threaded async use of IPC publish would be appreciated.FollowComment"

Answer: "0I have attached a snippet of a gdb backtrace from when the segfault occurs:2021-09-28T15:17:10.959Z  Thread 304 "enc_que0:src" received signal SIGSEGV, Segmentation fault.. 2021-09-28T15:17:10.960Z  [Switching to Thread 0x7eaa1fa7c0 (LWP 760)]. 2021-09-28T15:17:10.960Z  0x0000005561527ac8 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7ee8006640) at /usr/include/c++/7/bits/shared_ptr_base.h:154. 2021-09-28T15:17:10.960Z  154    _M_dispose();. 2021-09-28T15:17:11.263Z [#0  0x0000005561527ac8 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (this=0x7ee8006640) at /usr/include/c++/7/bits/shared_ptr_base.h:154. 2021-09-28T15:17:11.264Z   #1  0x0000005561527ac8 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (this=0x7eaa1f9ad0, __in_chrg=<optimized out>) at /usr/include/c++/7/bits/shared_ptr_base.h:684. 2021-09-28T15:17:11.264Z  #2  0x0000005561527ac8 in std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (this=0x7eaa1f9ac8, __in_chrg=<optimized out>) at /usr/include/c++/7/bits/shared_ptr_base.h:1123. 2021-09-28T15:17:11.264Z  #3  0x0000005561527ac8 in std::shared_ptr<std::__future_base::_State_baseV2>::~shared_ptr() (this=0x7eaa1f9ac8, __in_chrg=<optimized out>) at /usr/include/c++/7/bits/shared_ptr.h:93. 2021-09-28T15:17:11.264Z   #4  0x0000005561527ac8 in std::__basic_future<Aws::Eventstreamrpc::RpcError>::~__basic_future() (this=0x7eaa1f9ac8, __in_chrg=<optimized out>) at /usr/include/c++/7/future:671. 2021-09-28T15:17:11.264Z  #5  0x0000005561527ac8 in std::future<Aws::Eventstreamrpc::RpcError>::~future() (this=0x7eaa1f9ac8, __in_chrg=<optimized out>) at /usr/include/c++/7/future:761. 2021-09-28T15:17:11.264Z  #6  0x0000005561527ac8 in publish_ipc_message(Aws::Greengrass::GreengrassCoreIpcClient*, std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, int) (ipcClient=<optimized out>, topic="<snipped for readability>"..., message=..., timeout=<optimized out>) at /root/source/deepstream-app/src/greengrass_ipc_pub.cpp:56. _____________________________________________________________________________________________-Edited by: GreengrassUser on Sep 28, 2021 9:20 AMEdited by: GreengrassUser on Sep 28, 2021 9:20 AMCommentShareAWS-User-9962534answered 2 years ago0Hi GreengrassUser,Thanks for reporting this, looking at the code you posted, I cannot see a specific piece that might be causing this. One note is that you do not need to attempt Connect() every time you want to publish the message, you can do that only once when you create the IPC client in your component initialization/start up code and keep using the IPC client for any IPC operations, any number of times in the component process later, it also means that using it from several threads to publish many messages as you're doing should work fine. The SDK maintainers would be able to help better in identifying/fixing this issue, could you please create an issue in the SDK github repo to get their help ? https://github.com/aws/aws-iot-device-sdk-cpp-v2/issuesThanks,ShaguptaCommentShareshagupta-awsanswered 2 years ago0I have created an issue in the Github, I was able to produce segfaults with the sample app for publishing IPC messages. I am still awaiting AWS follow-up on that.See: https://github.com/aws/aws-iot-device-sdk-cpp-v2/issues/327CommentShareAWS-User-9962534answered 2 years ago0Issue solved by update to the sdk on githubCommentShareAWS-User-9962534answered 2 years ago"


Question: AWS Account verification Team

I have received an email that my account is required further verification and until that its blocked. I have replied to aws-verification@amazon.com but they are not replying too fast. is there any way to contact them instantly. My company is Dubai based and I can visit their off if there any haveFollowComment

Answer: "1This AWS verification team with email address aws-verification@amazon.com are unprofessional. Despite repeated emails requesting for feedback on why they have blocked or suspended my account inspite of having provided all necessary documents, I receive no reply.This is something that I hope AWS management should look into. These guys whoever is in charge of the AWS verification team need to be reminded of AWS core leadership principles of "customer obsession". In my experience to date, they are the anti-thesis of this AWS leadership principle and a big letdown for the company.I am shocked that so many other customers have had to deal with nightmares of AWS-verification team behavior.What a shame....CommentSharerePost-User-7238334answered 9 months ago0Hello,I was able to locate the cases you opened with our Support team and the issue appears to be resolved. If you need further assistance with this please reply to the last email you received from our Support team, and they will be able to assist you further.— Brian D.CommentShareEXPERTAWS Support - Briananswered a year ago0I've been stranded for 4 days now with  an email to aws-verification@amazon.com every day. What's funny is earlier this year I had multiple machines in this region and have 2 running right now. I am going to have to bail on AWS if it's not resolved soon because of target dates we have.CommentShareScottanswered 7 months ago0I am experiencing the same issues with the verification team. 5 days no replies or acknowledgement of my emails to them.Worse is, the suspended account also hosts the email account, workmail, on the AWS account. Meaning I no longer have access to my work emails. I can't even move my emails to another provider as my domain name was registered and is hosted on the same account. I HAVE ESSENTIALLY BEEN LOCKED OUT OF MY DIGITAL LIFE AND JOB.I have been emailing them using my personal Gmail, with no response whatsoever. The upload link they sent me when they blocked the account doesn't work either.This is the worst disappointment/setback I've ever suffered on the internet.CommentShareFavouriteanswered 3 months ago"


Question: resolve "Risk IAM quarantine" in aws health dashboard

I've solved that problemWhen will i be able to use aws services again?Is ther anything additional i need to do?FollowComment

Answer: "0When AWS identifies compromised account credentials, the AWSCompromisedKeyQuarantineV2 AWS Managed Policy is applied to the IAM user with the compromised credentials. This blocks bad actors from performing various actions using that user.You should ensure you are no longer using affected access keys and that they are disabled/deleted. The following guide explains steps to re-secure your account after potential compromise: https://aws.amazon.com/blogs/security/what-to-do-if-you-inadvertently-expose-an-aws-access-key/. I hope that helps!CommentShareDavidanswered 22 days ago"


Question: Timestream as destination database in DMS

"Hi,Can I add Timestream as source database to DMS? If so, what database engine does it use?Thank you,LuisFollowComment"

Answer: "1if you check the following linkhttps://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.htmlAWS Database Migration Service (DMS) does not support Amazon Timestream as a source database. Amazon Timestream is a serverless, purpose-built time series database, and its engine is designed specifically for handling time series data.AWS DMS primarily supports migration between traditional relational databases like PostgreSQL, MySQL, Oracle, and SQL Server, as well as some NoSQL databases like MongoDB and DynamoDB. You can find the list of supported source and target databases in the AWS DMS documentation here:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.htmlhttps://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.htmlCommentShareEXPERTsdtslmnanswered a month ago0Amazon Timestream is neither a source nor a destination for DMS: see both corresponding sections of https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.htmlBut, you may get closer to what you want by using the JDBC driver supplied by Timestream: https://docs.aws.amazon.com/timestream/latest/developerguide/JDBC.configuring.htmlAfter you export your data to a supported dbms, you can start using DMSCommentShareDidier_AWSanswered a month ago"


Question: Route 53 pricing

My customer wants to move a domain to Route53. They've asked how he will be priced. The service would be internal facing only. What are the pricing components apart from the registrar function?FollowComment

Answer: "0Accepted AnswerAll the details are here: https://aws.amazon.com/route53/pricing/Pricing is mostly based around number of queries hitting the service, number of hosted zones and healthchecks etc.CommentShareEXPERTAWS-User-7100868answered 5 years ago"


Question: InternalError creating EBS snapshot

"With both web console and awscli, I get InternalError when trying to create a snapshot of an (8120GB gp3) EBS Volume.Running awscli with --debug shows no additional error information.  I can find no prior snapshots for the volume(s).  I've never made snapshots with this account before.FollowComment"


Question: API for managing email flow rules

Does an API exist for managing email flow rules?I see the instructions here: https://docs.aws.amazon.com/workmail/latest/adminguide/create-email-rules.html but no mention of any automation ability. Is this available or in the works?FollowComment

Answer: "0Hi,I'm sorry to inform you but right now WorkMail does not offer an API to manage the Email Flow Rules. I will +1 the feature request for you with the service team.Kind regards,RobinCommentShareMODERATORrobinkawsanswered 4 years ago0Hi cdunnaws,I've just sent you a private message. We'd love to learn more about your use case to help us understand how you're using email flow rules and what we can do to help. We've heard this request for APIs from other customers, and are considering it for inclusion in a future release.Thanks,BenCommentShareAWS-User-7851756answered 4 years ago"


Question: Grant access to Security Hub for SNS topic in different account

"We have a CloudWatch Alarm which triggers a SNS topic in a different account. Security Hub wants to check this topic, but fails with the below error visible in CloudTrail logs:User: arn:aws:sts::012345678912:assumed-role/AWSServiceRoleForSecurityHub/securityhub is not authorized to perform: SNS:ListSubscriptionsByTopic on resource: arn:aws:sns:eu-central-1:987654321012:my-topic because no resource-based policy allows the SNS:ListSubscriptionsByTopic actionThe topic contains the below access policy statement:{  "Sid": "AllowSecurityHubAccess",  "Effect": "Allow",  "Principal": {    "Service": "securityhub.amazonaws.com"  },  "Action": [    "sns:ListSubscriptionsByTopic"  ],  "Resource": "*"}Any ideas how to fix this?FollowComment"

Answer: "0Hi,Did you also considered providing the cross account access to the resource as it seems principle is in another account so you need to create the trust.CommentShareIknownothinganswered 10 months agoJonas Koenig 10 months agoWell the principal is a service-linked role in this case. AFAIK these don‘t need any trust as same works for Cloudwatch which successfully sends alarm notifications to the mentioned topic in a different account.Share"


Question: ec2 nordvpn dns

hi i have lost my connexion since i  have set nordvpn dns on my ec2 instance networkcan i get back my connexion if i set the dns nordvpnhow to do thathttps://support.nordvpn.com/Connectivity/Windows/1088041672/Change-your-DNS-servers-on-Windows.htmgod bless youFollowComment


Question: An error occurred while calling o95.pyWriteDynamicFrame.

An error occurred while calling o95.pyWriteDynamicFrame. You must resolve all choice types before writing to a SparkSQL DataSink.FollowComment

Answer: "1Glue dynamic frames offer choice type. So, if one or more columns in your data have multiple data types, instead of casting them to a generalized type, dynamic frames offer a choice type which have to be resolved before performing any actions.Please refer resolve_choice for an example of how this works.CommentShareSUPPORT ENGINEERManu_Ganswered a year agoEXPERTFabrizio@AWSreviewed a year ago"


Question: "Elastic IP locked because of reverse DNS, how to release?"

"I am trying to release an Elastic IP, however I get: "3.121.10.163: The address with allocation id [eipalloc-08c887cead7bec5a8] cannot be released because it is locked to your account. Please contact AWS Support to unlock it."I think this is caused by a reverse DNS entry created by AWS, which must be released. I don't have a support contract, so I do not see anyway to contact support other than posting here.Also, I moved to another region, which required a change of IP address. How can I get a new reverse DNS assigned?FollowComment"

Answer: 1Answering my own question: there is a special AWS support form for requesting reverse DNS changes. The form is associated with removing restrictions on sending email. See:https://aws.amazon.com/forms/ec2-email-limit-rdns-request?catalog=true&isauthcode=trueCommentShareSteven A Frankanswered 4 years ago


Question: Error on SecurityGroup adding a new rule to VCP Peering

"I'm trying to connect two networks on AWS zones:us-east-1 - CDIR - 172.30.0.0/16 - route table to CDIR - 172.31.0.0 - by peer id - OKus-west-1 - CDIR - 172.31.0.0/16 - route table to CDIR - 172.30.0.0 - by peer id - OKI've did all the steps how to describe at: https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.htmlAll the first steps have worked fine, including the route table, but when I've tried to add the securitygroup roules from AWS CLI i've got error:$ aws ec2 authorize-security-group-ingress --group-id sg-XXXXXXXXXXXXXX --protocol all --port all --source-group sg-YYYYYYYYYYYYYAn error occurred (InvalidGroup.NotFound) when calling the AuthorizeSecurityGroupIngress operation: The security group 'sg-YYYYYYYYYYYYY' does not existEven when I've tried to do the same by AWS Console I can't, because the source Security Group ID is not a choice to select. I'tried to input the id, but it's not recognized too.So, I have checked and redid all the steps but the same problem still continues.Additionally, I have suspected that something can be wrong at the routes tables, but both of sides have the route added to another side (network) correctly by the Peering ID.Someone can share me same trick?Thank you!FollowComment"

Answer: "0You didn't provide all the info, so I'm making an assumption:is the peering across accounts?  If so, add --group-owner where that is the account number of the source-group sg id:aws ec2 authorize-security-group-ingress --group-id sg-XXXXXXXXXXXXXX --protocol all --port all --source-group sg-YYYYYYYYYYYYY --group-owner 123456789012CommentSharecloudbuttonanswered 2 years ago0Thank you for your helpful,  I've progress with your help. But, now I've this error:An error occurred (InvalidGroup.NotFound) when calling the AuthorizeSecurityGroupIngress operation: The security group 'SG_YYYYYYYY' does not exist in default VPC 'vpc-xyxyxyx'I've checked to change the VPC at 'aws ec2 authorize-security-group-ingress' command, but according manuals it's don't exist's, and the mentioned VCP is not the Default, so the question is: Is it possible just to Default VCP?Order of my commands:$ aws configure set region us-east-1 --profile MY_PROFILE. # it's my target region$  aws ec2 authorize-security-group-ingress \--group-id sg-XXXXXXXXX \         # this group is on my target region  -> us-east-1--protocol all \--port all \--source-group SG-XXXXXXXX \     # this group is on my source region -> us-west-1--group-owner yxyxyxyxyxyxAn error occurred (InvalidGroup.NotFound) when calling the AuthorizeSecurityGroupIngress operation: The security group 'SG-XXXXXXXX' does not exist in default VPC 'vpc-AbAbAbAb'The both of sides are on the same ownerid.Thank youCommentShareZataraanswered 2 years ago0Currently, you can't reference security groups if the vpc peering connections are cross-region.You will have to use the CIDR block of the peer vpc instead.https://docs.aws.amazon.com/vpc/latest/peering/vpc-pg.pdf#invalid-peering-configurationspage 15CommentSharecloudbuttonanswered 2 years ago0Thank you! It's working good!CommentShareZataraanswered 2 years ago"


Question: Cannot terminate/stop degraded instance

Received email:EC2 has detected degradation of the underlying hardware hosting your Amazon EC2 instance (instance-ID: i-09b56e24cbbf557f9).Cannot stop/terminate/detach volume. It is just stuck there. Please help.FollowComment

Answer: 0Problem resolved by time.CommentShareaarioanswered 4 years ago


Question: Glitch on Cloudformation console as on 18 May 2023

"I'm facing a glitch on CLoudformation when i have searched for a prefix, then i'm hitting refresh on the console, it's kindly of glitching. Multiple things comes and goes then correct results are shown.FollowCommentvtjean 10 days agoWhich browser did you use that ocurred this glitch? Have you tried another browser to confirm this glitch keeps ocurring?Share"


Question: S3 Bucket Delete Marker Policy Not Working

"Hi,I have a S3 bucket with a lifecycle policy and it was version enabled. The policy was to delete objects after 7 days and due to versioning the objects had a delete marker. Now I have created a new lifecycle policy around 3-4 days back to remove the delete markers permanently as I don't need the files anymore and when I checked the bucket today as well, the objects are still there.Please tell me how can I remove the objects as I have around 100 TB data and I cannot remove it manually. Please help meThanksFollowComment"

Answer: "0HiIf you would like to remove all objects inside bucket you can use EMPTY feature in S3 to clear all objects in S3:You can empty a bucket's contents using the Amazon S3 console, AWS SDKs, or AWS Command Line Interface (AWS CLI). When you empty a bucket, you delete all the objects, but you keep the bucket. After you empty a bucket, it cannot be undone. When you empty a bucket that has S3 Bucket Versioning enabled or suspended, all versions of all the objects in the bucket are deleted.aws s3 rm s3://bucket-name/doc --recursive**Delete Markers:**If you would like to use delete markers to delete all versions of the object you can use the below commnadaws s3api delete-object --bucket DOC-EXAMPLE-BUCKET1 --key test.txt --version-id versionIDAWS Docs Information:https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.htmlhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.htmlIf you have any questions please let me knowGKCommentShareGKanswered a year agoArjun Agarwal a year agoHi GKI do not want to empty the bucket. I just want to remove those objects only that have a delete marker placed on them as the data has been collecting for almost 2 years and I just realized that the data was not being deleted due to versioning being enabled. Just a delete marker was put in placeShareGK a year agoThis may help you https://wasabi-support.zendesk.com/hc/en-us/articles/360060003551-How-do-I-mass-delete-Delete-Markers-inside-a-bucket-ShareArjun Agarwal a year agoHi GK,Thanks for the link. Tried it out but it did not delete the object associated with the delete marker. Only the delete markers it deleted and it restored the objectsShare0Use lifecycle policies to remove older versions leaving only delete markers and use rules to have them removed too. Checkout Example 7. Hope that helpshttps://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lifecycle-config-conceptual-ex7CommentShareSandeepVudataanswered a year agoArjun Agarwal a year agoThanks Sandeep for your response. Just a quick question, if I set the policy to Permanently Delete Expired Marker Objects then it will not be touching any other object in the bucket except the ones with Delete Markers right?Share"


Question: EC2 virtual machines with virtual audio devices when headless (no remote desktop)

"Hello, I work for a VR company and want to use amazon windows EC2 instances to test our clients and servers at scale.  Our client requires both a playback and recording device with 48000 Hz 2 channel frequency in order to function properly.  My question is, is there a way to configure an AWS Windows EC2 AMI such that it has audio drivers (virtual or otherwise) when operating headless (without a remote desktop connection)?  Please let me know if you need any more information from me.FollowComment"

Answer: "0Hi, hope you   are wellFor you to install and configure drivers you must connect to the instance using the options below:You can connect to your windows instance using SSM[1] and update drivers[1]https://github.com/awsdocs/aws-systems-manager-user-guide/blob/main/doc_source/sysman-state-pvdriver.mdYou can create an windows AMI using sysrep[2] https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#ami-create-standardCommentSharerePost-User-9017359answered a year ago"


Question: Cloudwatch logs not showing

"I have implemented a sagemaker pipeline that contains processing/training/evaluation steps. I used to be able to see the logs of them all, but now, only evaluation and training jobs logs are shown in their cloudwatch groups. the log groups for processing jobs and training jobs are still present. I have deleted some old logs in the processing group to make room for new ones but that didnt help also. This happened before and got resolved by its own somehow, and now happened again. Could you please advise on this issue?here is the code for my processing step:script processor using custom docker image from ECRscript_processor = ScriptProcessor(command=["python3"],image_uri=processing_and_splitting_image,role=role,instance_count=processing_instance_count,instance_type=processing_instance_type,base_job_name="data-process",)step_process = ProcessingStep(name="DataPreprocessingStep",code="s3://{}/sagemaker/scripts/processing.py".format(bucket_source),processor=script_processor,inputs=[ProcessingInput(input_name="./data/raw_df.csv",source="s3://{}/sagemaker/data/raw_df.csv".format(bucket),destination="/opt/ml/processing/input",)],outputs=[ProcessingOutput(output_name="train",source="/opt/ml/processing/train",destination="s3://{}/train".format(bucket),),ProcessingOutput(output_name="test",source="/opt/ml/processing/test",destination="s3://{}/test".format(bucket),),],job_arguments=["--train-test-split-ratio", "0.2"],)FollowComment"

Answer: "0The common cause of this issue is due to missing necessary permissions in execution role to create cloudwatch log groups and log streams.Permissions snippet from notebook'es execution role, whose logs are publishing successfully. {            "Action": "logs:PutLogEvents",            "Effect": "Allow",            "Resource": "<<ARN_NO>>",            "Sid": "Logs"        },        {            "Action": [                "logs:DescribeLogStreams",                "logs:CreateLogStream",                "logs:CreateLogGroup"            ],            "Effect": "Allow",            "Resource": "<<ARN_NO>>",            "Sid": "Logs2"        }Please review above IAM statements and modify to your requirement.CommentShareRam_AWSanswered 2 months agorePost-User-8667506 2 months agoHello @Ram_AWS, thank you for your answer. I thought that this would be the result but it seems to be that the script inside the processing step is facing an issue while reading a csv file as follows: /opt/ml/processing/input/code/processing.py:153: DtypeWarning: Columns (14) have mixed types. Specify dtype option on import or set low_memory=False.df_raw = pd.read_csv(f"{base_dir}/input/raw_df.csv").It turns out that whenever I try to solve this by adding low_memory=False, the cloud watch logs won't be published. I am still looking for a solution for this csv file reading problem though, I would be glad if you have something to add here.Share"


Question: Getting error while querying on athena HIVE_INVALID_PARTITION_VALUE

Getting the below error while querying on Athena -HIVE_INVALID_PARTITION_VALUE: Invalid partition value 'Unsaved-2023-03 22:00:00' for TIMESTAMP partition key: ingest_timestamp=Unsaved-2023-03 22%3A00%3A00This query ran against the "due_eventdb" database unless qualified by the query. Please post the error message on our forum  or contact customer support  with Query Id: b923ebaa-8ea4-42f4-bbb4-b5f6b1d6041aI have deleted the following directory "Unsaved-2023-03 22%3A00%3A00" from the S3 bucket still getting the same error.FollowCommentCorvus_L 2 months agoPlease try to remove the partition as well. https://docs.aws.amazon.com/athena/latest/ug/alter-table-drop-partition.htmlShare


Question: How can i store and get user wise data (Cognito  + DataStore) in mobile application

"Hello Teami made 1 POC where i am able to complete all the steps for Cognito as well as i am able to save data in DynamoDB Using app sync with 1 classnow i want to modify/update that poc as i want to store/save the data user wise and get only those records that are save by particular userfor egi have 2 Users namely A and B (Created using cognito)now i have 1 object as Asset which is in DynamoDB where users can perform CURD operationsso if User A added Asset 1, Asset2 , Asset 3and User B added Asset 4, Asset 5So when i login through cognito User A i only want to fetch records of Assets which belongs to User A i.e Asset 1, Asset2 , Asset 3 and like wiseCan you please guide me how can i do thatWhat exactly needs to do for this ? how cognito user and data related to each otheri am a mobile application developer iOS doing all above stuff using SwiftThanksFollowComment"

Answer: "0Based on your question, I understand that you have created a proof of concept (POC) in which users are authenticated using AWS Cognito services and their data is stored in DynamoDB as assets. Now, you want to modify your POC to store assets specific to each user so that when a user logs in, they can only view and manipulate the assets that they have created.You will need to change your current architecture to accomplish this. Each asset record should contain a user identity so that you may filter the assets according to the user who created them.To modify your POC, you can follow these steps:Add a property to the Asset object that will contain the user identification in the data model. This field may be the Cognito user ID of the user that generated the asset.When generating an asset, the CRUD operations should be changed to include the user ID, and when fetching assets, the entries should be filtered based on the user ID. This may be done by utilising AWS AppSync VTL (Velocity Template Language).Modify the authorization rules in your AWS AppSync API to ensure that each user can only access their own assets. You can use the $ctx.identity.userId context variable to accomplish this.By making these changes, your AWS AppSync API can retrieve and store assets based on the user who created them, allowing each user to view and manipulate only their own resources.CommentShareMitul Sarvaiyaanswered a month ago"


Question: Initiate and restore at folder level of S3 bucket vs individual object level

"Is there a way to initiate and restore at folder level of S3 Dep Glacier bucket vs individual object level?  I'm able to initiate and restore/download objects at an individual file level, but wasn't seeing an option to do it at a higher folder level.  I haven't been able to find this scenario in the KB articles or via google searching.  This would be a pretty painful restore process for our client if we had to restore 100 files vs 1 folder containing those 100 files.FollowComment"


Question: No Permission to delete network interface

"I was learning terraform by cloning some tutorial-based git repos (I used many) but it seems that the destroy function wasn't working fully. I have a subnet and VPC in us-east-1 which I am trying to get rid of, but I do not have permissions to delete the VPC or Subnet because there are two network interfaces attached. When I try to detach or delete the Network Interfaces, I get this error: Failed to detach the network interface. API error: "You do not have permission to access the specified resource.".I imagine this is because they were provisioned with Terraform, but even as Root I have no control. The Terraform repos are all gone as well now, so I can't run another destroy function.How can I force delete these? I can't leave them for much longer or I'll get charged.FollowComment"

Answer: "0Accepted AnswerHi,ENIs are still attached to a specific resource, you need to identify that first.Try these steps:Go to Network Interfaces under EC2.Select the ENI Details tab.Review the Description to find which resource the elastic network interface is attached to.Delete the attached service.Let me knowCommentShareEXPERTalatechanswered 3 months agoEXPERTTushar_Jreviewed 3 months agorePost-User-5135114 3 months agoTurned out to be two RDS instances, thanks.For anyone still stuck after this: ensure that your selected region matches your VPC's region when you search for your resource, I made that mistake earlier which is why I couldn't find it.Share"


Question: can I configure MemoryDB for Redis in sentinel mode?

can I configure MemoryDB for Redis in sentinel mode?I can't find any parameter the contains 'sentinel'.FollowComment

Answer: "0'sentinel' is a High Availability feature. If you require HA, see High availability using replication groups. Part of the managed service is to manage this replication and detection of problems and replacement of nodes.CommentShareRodney Lesteranswered a year ago0MemoryDB has HA built into it from the ground up - it is a good practice to start memoryDB with atleast one read replica for HA and quick failover if and when a primary fails. There is no logical reason to run Redis in Sentinel mode on MemoryDB, IMO.CommentShareMahee Gunturuanswered 10 months ago"


Question: GetSpotPlacementScores rate limiting

"I am trying to get spot placement scores using AWS SDK Python client but I keep getting the following response:An error occurred (MaxConfigLimitExceeded) when calling the GetSpotPlacementScores operation: You’ve exceeded your maximum allowed Spot placement configurations. You can retry configurations that you used within the last 24 hours, or wait for 24 hours before specifying a new configuration.Is there some option to either increase API request quota or this service is built in such way that it can be queried once per day?FollowComment"

Answer: "0Hi,The EC2 User Guide states the following regarding querying the Spot placement score:Request configurations limit – We can limit the number of new request configurations within a 24-hour period if we detect patterns not associated with the intended use of the Spot placement score feature. If you reach the limit, you can retry the request configurations that you've already used, but you can't specify new request configurations until the next 24-hour period.For more information about the limitations, please see the docs: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html#sps-limitationsKind regards,Marilyn AWSCommentShareMarilynAWSanswered 2 months ago"


Question: What resources and metrics are in CloudWatch Automatic Dashboards

"Hello,how aws choose the resource and metric visible in Automatic dashboard? The description is:"The dashboard opens, with graphs of key metrics from that service."What are key metrics?FollowComment"

Answer: "1The last line of your statement is correct, it is the AWS's service. Optionally you can make your own custom dashboard and send custom metrics to CloudWatch from your applications and on-premises servers.DynamoDB - Missing metricsIf CloudWatch doesn't list a metric for DynamoDB, then it's probably because DynamoDB doesn't have recent data for that metric. CloudWatch lists only the metrics that were active in the past two weeks. This prevents you from seeing too many older metrics when you call ListMetrics.Please visit the link:https://www.techtarget.com/searchcloudcomputing/tutorial/How-to-create-EC2-custom-metrics-with-Amazon-CloudWatch#:~:text=A%20custom%20metric%20enables%20you,CPU%2C%20hard%20disk%20and%20network.Thnak you to bring the topic to this platform, and again, please do not hesitate to keep writing.CommentSharerePost-User-7136343answered 3 months agoWaizi 3 months agoThanks for the answers.The missings tables metrics are active.For example one of a metric in the automatic dashboard is CosumedReadCapacity. This metric is visible and has data when I open it in the dashboards missing table.Share0To understand the complexity of the metric and automatic dashboard – you have to understand what metric is and how it is named and organised. I am not going to discuss those here.The wording “Automatic dashboard” is a well-defined CloudWatch dashboard which collects automatically compute performance metrics such as CPU, memory, and network from AWS resources for monitoring and alarming. You can say, all AWS resources automatically send their metrics to CloudWatch dashboard. It is quick and easy to get started to drill-down to understand the root cause of performance issues.Optionally you can make your own custom dashboard and send custom metrics to CloudWatch from your applications and on-premises servers.If you click the “All metrics” under the Metrics of the Cloud Watch console, you will see all the metric services which are currently available. Under each of the individual metric – there is “View automatic dashboard”.If you click on it, you see the key metrics. The key metric is the individual name/metric of the metric category of the metric of a service.For further information, please visit:https://www.wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/Please let me know, if you have any further quries.CommentSharerePost-User-7136343answered 3 months agoWaizi 3 months agoWe know we can create our own dashboard, that's why we ask about an automatic dashboard. To see if it is enough for us. How the key metrics for automatic dashboards are chosen? If I understand it correctly, the automatic dashboards contains always same metrics. I will always see the same automatic dashboards for the particular resource. Somebody from the was team has chosen what will be here?Share0And one more question. I will create a new topic if necessary. I expect all resources should be visible under the automatic dashboard. How it is possible some dynamoDb tables are missing here?CommentShareWaizianswered 3 months ago0I did not hear anything from you for the last five days. I hope everthing is fine.CommentSharerePost-User-7136343answered 3 months ago0Hello, I'm trying to answer right below the comment. My last answer was:"Waizi7 days agoThe link points to RDS, not the DynamoDb table, and someone missing tables data not metrics. What info do you need? I can provide some."CommentShareWaizianswered 3 months ago-1Great! It appears to me at times - we need to practice more, we cannot learn all of things at a time. The AWS cloud platform is very large, and it has hundreds of services, the services are decoupling within the services. It is sure, we will get there. We just need to practice, and practice.I am sorry, I need more information from you to answer your last query. But you can check the following link:https://stackoverflow.com/questions/16013189/dynamodb-table-missingSorry for the typing error. The above link may help you how to write a problem with details.  As I advised you before that I am also learning like you.  Thanks a lot for the voting which will help me how to write the answer correctly.CommentSharerePost-User-7136343answered 3 months agoWaizi 3 months agoThe link points to RDS, not the DynamoDb table, and someone missing tables data not metrics. What info do you need? I can provide some.Share"


Question: DNS TXT change stuck in pending for _amazonses entry

"When I originally entered a TXT record set for _amazonses I had copied and pasted the value with an extra space via route53."p0PMfJ_.../In_00G6MtY=" was mistakenly set at "p0PMfJ_.../In_00G6MtY= ".I have since corrected it to strip the whitespace several days ago and had been waiting for it to propagate, but it didn't.  I checked by running this at my command prompt:dig TXT _amazonses.<mydomain>.comIndeed the trailing space remained from the output of that command.I then attempted to force restart the process by deleting the record set and creating a new one. The trailing space remains and the verification status of this record is still pending.Is there possibly something that matches the original value for the TXT recordset and, if it is ignoring the whitespace, does not submit this record set to be propagated?FollowComment"

Answer: "0Hi,If you post your domain name, I'll take a look at your configuration.ScottCommentShareEXPERTAWS-User-6179575answered 3 years ago0UpdateScott was able to see that I had two accounts with two different hosted zones using the same domain name.  One hosted zone was setup in Amazon lightsail and the other was setup in route53.  The lightsail hosted zone was the one registered with the domain servers.  I had been trying to fix the other. I had not realized you wouldn't be able to see the lightsail hosted zones in route53 so had manually added them there mistakenly.With Scott's direction, I deleted the hosted zone in route53 and am managing the _amasonses TXT recordset with lightsail.  Now everything works like a charm!Thank for the assist Scott!CommentSharemhardistanswered 3 years ago"


Question: Create an Athena-queryable CloudTrail with CDK (or CloudFormation?)

"I'm trying to create an app/stack/solution which, when deployed, sets up the necessary infrastructure to programmatically query CloudTrail logs: In particular, to find resource creation requests in some services by a given execution role.It seemed (e.g. from this Querying CloudTrail Logs page in the Athena developer guide) like Athena would be a good solution here, but I'm struggling to get the setup automated properly.Setting up the Trail is pretty straightforward. However, my current attempt at mapping the Athena manual partitioning instructions to CDK generating a Glue table, seems to come up with a table with 0 partitions... And I don't really understand how the partition projection instructions could translate to CDK?There are definitely CloudTrail events in the source bucket/prefix - does anybody know how to make this work?I'm not that deep on either Glue or Athena yet. Current draft CDK for the Glue table below:const cloudTrailTable = new glue.Table(this, "CloudTrailGlueTable", {  columns: [    { name: "eventversion", type: glue.Schema.STRING },    {      name: "useridentity",      type: glue.Schema.struct([        { name: "type", type: glue.Schema.STRING },        { name: "principalid", type: glue.Schema.STRING },        { name: "arn", type: glue.Schema.STRING },        { name: "accountid", type: glue.Schema.STRING },        { name: "invokedby", type: glue.Schema.STRING },        { name: "accesskeyid", type: glue.Schema.STRING },        { name: "userName", type: glue.Schema.STRING },        {          name: "sessioncontext",          type: glue.Schema.struct([            {              name: "attributes",              type: glue.Schema.struct([                { name: "mfaauthenticated", type: glue.Schema.STRING },                { name: "creationdate", type: glue.Schema.STRING },              ]),            },            {              name: "sessionissuer",              type: glue.Schema.struct([                { name: "type", type: glue.Schema.STRING },                { name: "principalId", type: glue.Schema.STRING },                { name: "arn", type: glue.Schema.STRING },                { name: "accountId", type: glue.Schema.STRING },                { name: "userName", type: glue.Schema.STRING },              ]),            },          ]),        },      ]),    },    { name: "eventtime", type: glue.Schema.STRING },    { name: "eventsource", type: glue.Schema.STRING },    { name: "eventname", type: glue.Schema.STRING },    { name: "awsregion", type: glue.Schema.STRING },    { name: "sourceipaddress", type: glue.Schema.STRING },    { name: "useragent", type: glue.Schema.STRING },    { name: "errorcode", type: glue.Schema.STRING },    { name: "errormessage", type: glue.Schema.STRING },    { name: "requestparameters", type: glue.Schema.STRING },    { name: "responseelements", type: glue.Schema.STRING },    { name: "additionaleventdata", type: glue.Schema.STRING },    { name: "requestid", type: glue.Schema.STRING },    { name: "eventid", type: glue.Schema.STRING },    {      name: "resources",      type: glue.Schema.array(        glue.Schema.struct([          { name: "ARN", type: glue.Schema.STRING },          { name: "accountId", type: glue.Schema.STRING },          { name: "type", type: glue.Schema.STRING },        ])      ),    },    { name: "eventtype", type: glue.Schema.STRING },    { name: "apiversion", type: glue.Schema.STRING },    { name: "readonly", type: glue.Schema.STRING },    { name: "recipientaccountid", type: glue.Schema.STRING },    { name: "serviceeventdetails", type: glue.Schema.STRING },    { name: "sharedeventid", type: glue.Schema.STRING },    { name: "vpcendpointid", type: glue.Schema.STRING },  ],  dataFormat: glue.DataFormat.CLOUDTRAIL_LOGS,  database: myGlueDatabase,  tableName: "cloudtrail_table",  bucket: myCloudTrailBucket,  description: "CloudTrail Glue table",  s3Prefix: `AWSLogs/${cdk.Stack.of(this).account}/CloudTrail/`,  partitionKeys: [    { name: "region", type: glue.Schema.STRING },    { name: "year", type: glue.Schema.STRING },    { name: "month", type: glue.Schema.STRING },    { name: "day", type: glue.Schema.STRING },  ],});FollowComment"

Answer: "1Accepted AnswerAt this point of time, the L2 CDK construct for glue table does not have a table properties parameter, which in turn means you won't be able to set partition projection directly on the base object.One way you could handle this is through escape hatches. Using the docs example listed here with one property for ex, the escape hatch would look like the following:const cfnTable = cloudTrailTable.node.defaultChild as glue.CfnTable;const tableInput = cfnTable.tableInput as glue.CfnTable.TableInputProperty;tableInput.parameters = {projection.enabled: 'true'}CommentShareLeela Laguduanswered a year agoEXPERTFabrizio@AWSreviewed a year agoAlex_T EXPERTa year agoYes, following this method worked great thanks! (I actually went with cfnTable.addOverride("Properties.TableInput.Parameters", {...}), but functionally the same) Now the data is correctly discovered by the table :DShare"


Question: If instances of an application send ReceiveMessage request at the same time for SQS is it possible for them to receive the same message?

"In SQS Standard Queues, if, let us say, 3 instances of the same application are running and cosuming messages from that queue (using long polling), if they send the ReceiveMessage request at the exact same time to SQS, is it possible for them to receive the same message?I'm not talking about at-least-once delivery. The application is idempotent, but I want to know if the MessageVisibilityTimeout guarantee that the scenario I described will not occur.FollowComment"

Answer: "1In a distributed system, race conditions can occur that make this possible, or better said, it is not impossible. Idempotency is the solution.CommentShareRodney Lesteranswered 2 months ago0SQS was designed with the architecture you describe in mind - auto-scaled fleets of worker instances all consuming the same queue are a very common pattern.  Receiving the same message is rare (I've never seen it when looking through logs); there's probably no guarantee though and this possibility is covered by the declared at-least-once delivery.CommentShareEXPERTskinsmananswered 2 months agoUri EXPERTa month agoWith standard queues this can happen. Maybe not a lot, but sure can.Share"


Question: How to convert AwsStringOutcome to FString or FName in UE5?

Im using Gamelift for my UE5 game and have some gamelift server sdk code init. One among them is getting the session id using Aws::GameLift::AwsStringOutcome sessionIdAWS = Aws::GameLift::Server::GetGameSessionId(). The question is how can I convert this AwsStringOutcome to Fstring or other UE datatypes so that I can use it as I want?FollowComment

Answer: 0Hi!You should be able to extract the FString from the outcome object that is returned by GetGameSessionId().auto outcome = Aws::GameLift::Server::GetGameSessionId();if (outcome.IsSuccess()){   FString gameSessionId = outcome.getResult();} else {  // error handling goes here}Thanks!CommentShareShashankJ_AWSanswered 23 days ago


Question: I want to use the value of pipelines.CodePipelineSource.sourceAttribute() in another Stage other than synth.

"I am using aws-cdk-lib/pipelines to build CDKPipeline (CodePipeline)I have defined the integration with GitHub below.pipelines.CodePipelineSource.connection()I would like to pass sourceAttribute('CommitId') not in synth, but in subsequent Stage props, etc., to access it.However, an error occurs.Error: Resolution error: Resolution error: Resolution error: Output for step CodeStarConnectionSource(XXX) not configured. Either the step is not in the pipeline, the step implementation did not call 'this.discoverReferencedOutputs()', or this engine does not support Outputs for this step....I am having trouble with discoverReferencedOutputs because it does not exist in CDK V2.I would like to know the solution.cf.https://github.com/aws/aws-cdk/issues/20643FollowComment"

Answer: "0Hi,Have a look at this https://repost.aws/knowledge-center/cdk-cross-stack-reference.Typically I would use SSM parameter store to pass data, but could be not feasible in certain cases.Hope it helps;)CommentShareEXPERTalatechanswered 18 days agotakagi 18 days agoThanks for the response!!I like the idea of using Parameter Store and I do use it.The pipeline is deployed to two accounts, one in the staging environment and one in the production environment. The pipeline itself resides in the staging account.Therefore, it is easy to put the pipeline into the staging account's Parameter Store, but it is a bit cumbersome to put it into the production account's Parameter Store because it requires an Assume Role.So I was hoping to pass the sourceAttribute to the production stage as props, but it seems to be difficult.Share"


Question: Question pertaining to a New Patch for Corretto Java.

"Every compatible version of the Java OpenJDK, from every vendor on the internet, has one overall problem.Arithmetic performed by operators on number values/types, being float and double, are able to gaindenormal or pronormal values, 'Floating Point Errors', alongside the same, produced by method callsmade on java.lang.StrictMath. This is is always quoted as being because of Java adherence to standard IEEE 754,which has a 2008 version, and has a more recent but non-free paper released in 2019.Programmers need range accurate integer and decimal mathematics, at the roots of their language, certainly if that languageis to be a higher level language than Assembly or C.  While there is the workaround approach, involving BigDecimal andBigInteger, and another approach that supplies a calculator class, the big-math library,https://github.com/eobermuhlner/big-math, using and rely on thesestop-gap, work-around solutions is a poor approach.  They are larger in memory than needed; slower, messier insource code to program, debug, understand and edit, exclude their own access to operator syntax, and they are alsonever reified with default Java library classes or interfaces.IEEE 754, alongside floating point arithmetic, mentions traps, state exceptions and flags, phenomena that as of OpenJDK 17Java has not adopted.  It has been the attitude that because 754 doesn't stipulated what happens with underflow or overflow,aside from traps, state exceptions or flags, nor does it stipulate that it is a base 10 system on top of a binary one exactly, thattherefore, because of these, underflow and overflow aren't (and can't be) bugs, by "definition of IEEE 754".  In fact, becausethis seems to mean that 754 is not stated to be either a base 10 or base 2 system, that therefore from base 10's point of view,it could be either.  This leads to one real view that it is incoherent, and therefore that it doesn't technically seem to resolveobjectively, anywhere.  IEEE 754 isn't strict or specific enough for base 10 or overflow/underflow, and trying to justifytoo closely too it creates problems with no solutions.See IEEE 754 2008 https://irem.univ-reunion.fr/IMG/pdf/ieee-754-2008.pdfPp 2, 1.5 Programming Environment Considerations, the first sentence.This state of affairs has made floating point correction, at the locale of the Vendor and of Java ubiquity itself, impossible.Notwistanding calculator classes and comparisons, consider the following three code fragments:**//----------------------------------------------------------//The C Language. Arithmetic only, no comparisons.#include <stdio.h>int main(){    printf("Program has started...");    printf("\n");    printf("\n");    double a = 0.1D;       double b = 0.1D;       double c = a*b;     printf("%lf",c);    printf("\n");    printf("\n");    float d = 0.1F;     float e = 0.1F;    float f = d*e;    printf("%lf",f);    printf("\n");    printf("\n");    printf("Program has Finished.");    return 0;}/*Program has started...0.0100000.010000Program has Finished.*///----------------------------------------------------------//The C++ Language. Arithmetic only, no comparisons.#include <iostream>using namespace std;int main() {    cout << "Program has started..." << endl;    double a = 0.1D;       double b = 0.1D;       double c = a*b;     cout << endl << c << endl << endl;    float d = 0.1F;     float e = 0.1F;    float f = d*e;    cout << f << endl << endl;    cout << "Program has Finished.";    return 0;}/*Program has started...0.010.01Program has Finished.*///----------------------------------------------------------//The Java Language. Arithmetic only, no comparisons.import static java.lang.System.*;public class Start{    public static void main(String ... args)    {    out.println("Program has started...");       double a = 0.1D;       double b = 0.1D;       double c = a*b;       out.println();       out.println(c);      float d = 0.1F;     float e = 0.1F;    float f = d*e;    out.println();    out.println(f);    out.println();     out.println("Program has Finished.");    }}/*Program has started...0.0100000000000000020.010000001Program has Finished.*///----------------------------------------------------------**Other people are aware of these shortfalls, which have gone on for too long a time. Which for programmers needingcontinous mathematical types, in areas of 2D graphics and 3D, has turned length of time into length of misery.See: https://people.eecs.berkeley.edu/~wkahan/JAVAhurt.pdf, andhttps://people.eecs.berkeley.edu/~wkahan/ARITH_17.pdf.While Java has comparators ==, !=, >,<,>=,<= working correctly on float and double (which C++ hasn't), C++ does haverange accurate, base 10 decimal floating point arithmetic on its float, double, long float, long double types, whichdoes prove that this is possible, and in a fast manner.  C decimal arithmetic behaves in terms of its ranges.  I am awarethat C++ taps into SSE, or equivalent, additional hardware bit registers, and similar, to deal with binary carriespast the range end(s) of a floating point type, so that the final base 10 digit calculated and submitted, even if it is straddlingthe end of the bit range, still gets included, in base 10, entirely accurately, with no more pronormal and no less denormalvalues. See https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions.Clearly it is possible to have reciprocal operations resolving to the perfect state of a previous value in place, which Javaalready has implemented, internally.I am aware the Amazon Corretto has been and is willing to patch its JRE/JVM to add new feature and improvements to theirCorretto Java.  It wish to propose and request the following:Is it possible for 64 bit Corretto, on all its Hardware/OS platforms, to produce a patch for Corretto, at least compatiblewith its most recent publically available, stable, version, but compatible moving forwards, that makes its Java floatingpoint arithmetic and StrictMath (or equivalent)  operations and calls (and any necessary closely bound class and interfacerelationships) entirely range accurate, by use of the (now ubiquitous) SSE type hardware, or similar?Such a patch could just alter the default for all execution.  It could also attenuate to a runtime switch, or manifest lineentry level approach. It might even approach to some special annotations approach, which alter denormal and pronormalmode on an off on variables, classes, interfaces, and even data, if this proves to be fast enough.  Or an aggregate of all these couldbe implemented.Can someone in Amazon, actively involved with Corretto Java, kindly respond, with an imminent response or recommendation,only in terms of Java floating mathematics, itself?FollowComment"


Question: Load Balancer via Cloudformation

Is it possible to associate more than one application to an ELB generated by cloudformation using target groups?FollowComment

Answer: "0Accepted AnswerHi,Yes is possible.You can associate a load balancer with multiple target groups by linking them via listener using the aws::ElasticLoadBalancingV2::Listener type:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.htmlAnd in its default actions you can specify target group arns https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.htmlHope it helps ;)CommentShareEXPERTalatechanswered a month agorePost-User-7704228 a month agoThank you for your help. from what I saw in the documentation it is Specifies a target group for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.If it is an ELB classic does it also work?Share"


Question: Out of Sketch Subscribe Memory Error - Stops Shadow Updates

"I am running an Arduino sketch that communicates with AWS through the IoT Core Service.  It is using this SDK:https://github.com/aws/aws-iot-device-sdk-arduino-yunIn the sketch, I am pushing a fluid volume variable to a Thing Shadow using a thing called Volume.   Everything works well for the first 14 shadow updates then I get an error.   Here is a condensed version of the log:AWS IoT SDK Version(dev) 2.2.0-LOG command: setup completed.LOG command: config completed.LOG command: connect completed.LOG command: shadow init completed.LOG command: register thing shadow delta function completed.Resistance: 1553.95 ohmsCalculated volume: 1421.46923LOG command: shadow update completed.Resistance: 1569.67 ohmsCalculated volume: 1375.88024ERR command: shadow update code: -4From the SDK, here is a error description for -4:   OUT_OF_SKETCH_SUBSCRIBE_MEMORY if the number of current subscribe exceeds the configured number in aws_iot_config_SDK.h.That variable is currently set to 15 in my config file.   #define MAX_SUB 15How can I prevent this error from stopping my shadow updates?Thanks,SteveFollowComment"

Answer: 0Problem has stopped happening after adding this code to the sketch:if(myClient.yield()) {Serial.println("Yield failed.");}CommentShare1960pghpiratesanswered 4 years ago0Solved.CommentShare1960pghpiratesanswered 4 years ago


Question: Error : API: rds:ModifyOptionGroup Cross-account pass role is not allowed

"In my cloudformation, when I hardcode the ARN the script works perfect, where as when I try to derive it using function I get the below error.  Any help is appreciatedAPI: rds:ModifyOptionGroup Cross-account pass role is not allowedValue for EnvType is dev and region is ap-southeast-1  SQLOptionGroup:     Type: "AWS::RDS::OptionGroup"    Properties:       EngineName: 'sqlserver-se'      MajorEngineVersion: '14.00'      OptionConfigurations:         - OptionName: SQLSERVER_BACKUP_RESTORE          OptionSettings:            -               Name: IAM_ROLE_ARN              Value: !Join ["", ["arn:aws:iam::${AWS::AccountId}:role/",!Join [ "-", [ "role", !Ref "AWS::Region", !Ref EnvType ]]]]              # Value: "arn:aws:iam::xxxxxxxxxxxx:role/role-ap-southeast-1-dev"Edited by: vinodsrinivas on Sep 22, 2019 9:29 AMFollowComment"

Answer: "0Hi,I was able to fix your template Join statement..Change:!Join ["", ["arn:aws:iam::${AWS::AccountId}:role/",!Join [ "-", [ "role", !Ref "AWS::Region", !Ref EnvType ]]]]To:{"Fn::Join": ["", ["arn:aws:iam::",{"Ref": "AWS::AccountId"},":role/",{"Fn::Join": ["-", ["role", {"Ref": "AWS::Region"},{"Ref":"EnvType"}]]}]]}Hope this helps!-randyCommentShareRandyTakeshitaanswered 4 years ago"


Question: BUG: QuickSight SPICE column imports out of order when using renamed columns

"Copied from https://community.amazonquicksight.com/t/new-custom-sql-spice-import-failures-recent-code-update/9480Was there a recent update to how SPICE imports work, perhaps when used in conjunction with custom SQL? I'm seeing an odd bug involving column orders like so:Given custom SQL that looks like this:SELECT    SOME_VARCHAR_COLUMN_A,    SOME_DATETIME_COLUMN_B,    SOME_INTEGER_COLUMN_CFROM MY_TABLEthat returns rows like this:SOME_VARCHAR_COLUMN_A | SOME_DATETIME_COLUMN_B | SOME_INTEGER_COLUMN_C======================+========================+======================abcdefg               | 1659355922000          | 1234Some other string     | 1659432273000          | 192384719And given a data set where I previously had done something like rename SOME_VARCHAR_COLUMN_A to "Column A", I am now getting errors on SPICE refresh that say the following:Error threshold exceeded for dataset (10000) (maxErrors = 10000)SKIPPED ROWS10001 rows where SOME_DATETIME_COLUMN_B field date values were not in a supported date format.The error file that the refresh dialog looks something like this:ERROR_TYPE     | COLUMN_NAME            | SOME_DATETIME_COLUMN_B | SOME_INTEGER_COLUMN_C | Column A===============+========================+========================+=======================+=========MALFORMED_DATE | SOME_DATETIME_COLUMN_B | abcdefg                | 1659355922000         | 1234MALFORMED_DATE | SOME_DATETIME_COLUMN_B | Some other string      | 1659432273000         | 192384719So, it appears that the fields being served to SPICE from the query result are still being served in the same order (A, B, C), but the column that was renamed is now placed after the other columns in parsing order (B, C, A).As a workaround, I changed my renamed columns back to their original names, but I'm still getting SPICE ingest errors. (I've even confirmed via the CLI with aws quicksight describe-data-set --aws-account-id my-acct-number --data-set-id my-dataset-id that the RenameColumnOperation blocks are gone from the DataTransforms section in the LogicalTableMap).FollowComment"


Question: Cache-control replaced by "no cache" by using CloudFront

"Our web application generator output headers in a sample as shown below.We return a cache-control header with a large value, but it is replaced by no-cache.I don't get why?The direct GET direct URL is:https://app-online.cloud/apps/c3d3fc02-4ed8-4c22-ae21-ffc69af79c82/databases/e4a5beef-d7a2-4972-8f9d-4a53fd0edcd9/modules/c3de71b2-6c08-45a2-901a-1379c3d8dbbb/app/sitesand returns headers:cache-control: max-age2592000,s-max-age=2592001,publiccontent-encoding: gzipcontent-length: 1463content-type: text/htmldate: Sat 05 Sep 2020 18:26:54 GMTetag: 656f9fc7f168eb9ef72a9ba0047340dcserver: Microsoft-IIS/10.0status: 200strict-transport-security: max-age=2592000vary: Accept-EncodingWhen CloudFront is inserted, the URL is https://openarchivaris.nl/app/sites and the headers are:cache-control: no-cachecontent-encoding: gzipcontent-length: 1498content-type: text/htmldate: Sat, 05 Sep 2020 18:29:51 GMTetag: 656f9fc7f168eb9ef72a9ba0047340dcexpires: -1pragma: no-cacheserver: Microsoft-IIS/10.0status: 304strict-transport-security: max-age=2592000vary: Accept-Encodingvia: 1.1 32e4d419823b7f8df8417a8b18c9602d.cloudfront.net (CloudFront)x-amz-cf-id: odc8jGb0jtxwZpalNEAhG7J4HeFQANvgqdJtSBYVm3HzTXjBJpfGGg==x-amz-cf-pop: FRA50-C1x-cache: Miss from cloudfrontThe cloudfront behavior has no Lambda@Edge, cache based on selected request headers "None", object caching: use origin cache headers, no forwarding of cookies, no query stirng forwarding.Origin has HTTPS only and adds a fixed authorization header/value.Edited by: Guido Leenders on Sep 5, 2020 8:48 PMFollowComment"

Answer: "0Found solution.The (public) website is run as part of a .net core web application. That one uses the default response cache settings. However, to set up an asp.net core session, a cookie is exchanged. This cookie never reached the client (browser) due to the cache policies.First test was to replace the cache-control on origin-response using Lambda@edge:'use strict';exports.handler = (event, context, callback) => {const response = event.Records[0].cf.response;if(response.headers\['cache-control'])  {      response.headers\['cache-control'] = \[{           key:   'Cache-Control',           value: 'public, max-age=604800, no-cache="Set-Cookie"'      }];  }  callback(null, response);  };When applying this code in combination with forwarding of the .AspNetCore.Session cookie, the response times on subsequent GETs dropped from say 150 ms to 20 ms. And when served from client cache to 1 ms. Works fine. Note that both the setting of cache control as well as forwarding the ASP.Net cookie is necessary.We tweaked the response cache on asp.net core by something like:CacheControlHeaderValue cc = new CacheControlHeaderValue(){ Public = true, NoCache = true, MaxAge = TimeSpan.FromSeconds(ControllerUtility.Public1DayCacheProfileDuration), NoCacheHeaders = { new StringSegment("Set-Cookie") }};context.HttpContext.Response.GetTypedHeaders().CacheControl = cc;After this change, and WITH forwarding of the ASP.Net cookie enabled, the first user will load the public website pages into CloudFront from where next users will be served.For more details: see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.htmlCommentShareGuido Leendersanswered 3 years ago"


Question: Inbound restriction for security group for Amazon FSx for Lustre?

"The Amazon FSx for Lustre console invites developers to open TCP ports 988, 1021-1023: "The VPC Security Groups associated with your file system’s network interfaces must allow inbound Lustre traffic (TCP ports 988, 1021-1023)"Shall this be open to the world? Is there a way to restrict source? Or is there already a mechanism in place to verify that this "inbound Lustre traffic" coming to the FS is legit?Is this inbound Lustre traffic user traffic on the FS (eg a SageMaker training instance) ? or is it used for some backend admin or S3-FS communication?FollowComment"

Answer: "0Accepted AnswerThe inbound traffic requirements are for the file system's network interfaces, so they apply for the communication between the file system and the client compute instances from which you're mounting and accessing the file system (not for any back-end communication behind the file system.Re: restricting the source, as is standard with Security Groups, you can limit the source of the inbound rules to only the restricted sources you want to allow (based on CIDR blocks, Security Groups, Prefix Lists).CommentShareAWS-User-9252611answered 3 years ago"


Question: Automatically publish the bot when status changes to ready

"HiI am working on an app, and in my use case I'd like to call createBotVersion api of aws-sdk javascript library whenever the bot status changes to READY. Writing a cron job is one solution which will publish all the bots with status READY, but it's a load on server as this call might not be needed on regular basis.Is there any way through which I can listen to the event of bot becoming READY, or maybe I can create a SNS topic or something? Please helpEdited by: nikhilhatcher on Apr 17, 2020 2:48 PMFollowComment"

Answer: "0I solved this using lambda functions, I triggered the lambda function with CloudWatch events, which ultimately worked as CRON job, and published my bots on daily basisCommentSharenikhilhatcheranswered 3 years ago0Thank you for the update. We will plan on incorporating this into our documentation.CommentShareAWS-User-5597149answered 3 years ago"


Question: Using Private CA In AWS IoT

"Hello,For Authentication of Things in IoT we can use Certificate Signing Requests that then get signed using Amazon's WebServices Certificate which in turn is signed by one the Amazons Root CA's.We've found out that because we can't download the intermedia Root Cert:issuer= /OU=Amazon Web Services O=Amazon.com Inc. L=Seattle ST=Washington C=USthat we cannot use this certificate for anything else (for example as certificate for WiFi EAP-TLS.So now we are looking at using a Private CA.We don't want to double up on management of certificates for our devices (Provisioning is difficult enough as it is) so we would like to use our own AWS instance of a private CA for both EAP-TLS identification and IoT identification.In setting the CA in IoT i haven't found a way on how to point it to a CA that is managed by AWS Private CA.is this possible ? Is there a way to like our private CA to be also used by AWS IoT ?Or do we have to start all the way from scratch and have to generate the root CA ourselves first using OpenSSL ?Thanks,TomFollowComment"

Answer: "0Accepted AnswerSorry for the issue, currently AWS IoT does not support using ACM's Private CA's while generating certificates in CreateKeysAndCertificate API. However, you can generate a certificate signed by the private CA and register with AWS IoT without proving the CA (token etc.). We have a feature called Multi Account Registration[1] certificates that will allow you to register the certificates without proving CA ownership.Hope it helps,[1] - https://aws.amazon.com/about-aws/whats-new/2020/04/simplify-iot-device-registration-and-easily-move-devices-between-aws-accounts-with-aws-iot-core-multi-account-registration/CommentShareAWS-User-3247576answered 3 years ago0Hi,During device creation, in the certificate step, you can select "Use my certificate". Isn't that what you're looking for?Edited by: SebastiaanM on Sep 7, 2020 4:29 AMCommentShareSebastiaanManswered 3 years ago0Hi,When i select 'Use my certificate' it first asks me to :"Select or register the CA certificate used to sign your device certificates. To use device certificates that are not signed by a registered CA"under that is has no option to select my Private CA that i just generated in AWS Private CA.If i then select "Register CA" it asks me to sign a 'token' with my private CA (to prove i'm the owner of the CA) using OpenSSL.Seeing i created the Private CA inside the AWS environment, i do not have access to the private key...I was expecting to see an integration of AWS Private CA and AWS IoT..am i expecting too much ?CommentShareclogwoganswered 3 years ago0Hi,I am not familiar with AWS Private CA, but it seems to allow creation of private CA's (which fall under the root CA's of Amazon). So, indeed, if you directly use a root CA as authority, you can't have its private key. But for a private subordinate CA, that should be possible, so you can download all info and use the required SSL commands to register that CA in AWS IOT?Maybe a bit cumbersome though, I agree.BR,SebastiaanCommentShareSebastiaanManswered 3 years ago0Hi,Thank you for your response. I really appreciate it.we only created 1 root Private CA in AWS Private CA and it doesn't fall under the Amazon RootCA's..It's a  self signed Root CA certificate.Fair enough that i cannot access the private key, as you would like to use Amazons hardware storage for private keys,but they should at least be able to hand it over to AWS IoT without having to first generate your own Root Ca using openssl and loosing the only reason for paying for Private Root CA.I wonder if they just haven't gotten to integrating Private CA with IoT yet..You can use it for pure SSL certs like in Elastic Load Balancing and plain AWS web servers.But for anything non-standard (like using it in AWS-IoT or exporting certs for EAP-TLS), we can not even use the Certificate Manager.I was hoping i was missing something, but i think it may not be worth the money in our case.[Amazon official please prove me wrong !!]CommentShareclogwoganswered 3 years ago"


Question: How to select a specific version of the FPGA Developer AMI

How can I select a specific version of FPGA Developer AMI? AWS Console offers only version Ver 1.11.4 for selection.I work with third party tool which is build on top of Vivado and it works fine with Vivado version 2019.2.So I need FPGA Developer AMI version 1.8.x to get Vivado 2019.2.Can anyone advise on how to setup an EC2 instance with a dedicated version of FPGA Developer AMI?Many thanks for reading.FollowComment

Answer: "1In the AMI search results for "fpga developer", the "AWS Marketplace AMIs" tab contains one Centos result (currently Ver 1.11.4 = Vivado 2021.1), and the "Community AMIs" tab contains older and newer versions (I see everything from Vivado 2018.2 to AMI 1.12.1/Vivado 2021.2).  Your desired 2019.2 seems to be there, as "Xilinx_Vivado_2019.2_Developer_AMI-1106_2127-4bcc011b-9616-4225-b422-759294a13f0e-ami-02143f070f6b6157a.4", ami-02e843c903e992366.I have no idea how Amazon selects which AMI goes in the "Marketplace" tab and which go into the "Community AMIs" tab.CommentSharerePost-User-4937222answered a year ago"


Question: installation of GPU code on parallelcluster

"I am trying to use miniconda to install OpenMM, and MD engine that utilizes GPUs. My ParallelCluster configuration is as follows:Head node: c5.2xlargeCompute nodes: g4dn.metal (T4 GPUs)Networked EFS storage from EC2I can install OpenMM with miniconda on the head node, but when I run a test to see if OpenMM works, I get the following error:python -m openmm.testInstallationOpenMM Version: 8.0Git Revision: a7800059645f4471f4b91c21e742fe5aa4513cdaThere are 3 Platforms available:1 Reference - Successfully computed forces2 CPU - Successfully computed forces3 CUDA - Error computing forces with CUDA platformCUDA platform error: Error initializing CUDA: CUDA_ERROR_NO_DEVICE (100) at /home/conda/feedstock_root/build_artifacts/openmm_1675115856424/work/platforms/cuda/src/CudaContext.cpp:140Median difference in forces between platforms:Reference vs. CPU: 6.2955e-06All differences are within tolerance.My head node lacks a GPU, which would explain why the error CUDA_ERROR_NO_DEVICE was given. My next thought was to log in interactively into one of my GPU nodes, either usingsalloc --time=30 --account=centos --nodes=1salloc: Granted job allocation 5orsrun --pty --mem=1g -n 1 --gres=gpu:1 -J modbind -p modbind /bin/bashThe first try with salloc, even though it shows that I'm in interactive mode, doesn't actually log me into the GPU node (the output of lspci -v is exactly the same before and after). The second try with srun simply hangs.I've also referenced the GROMACS on AWS workshop using spack https://catalog.workshops.aws/gromacs-on-aws-parallelcluster/en-US, since OpenMM is included in the list of software for spack, but unfortunately the workshop only compiled GROMACS for CPU architecture, not CPU+GPU. Any help would be much appreciated.FollowComment"

Answer: "1Accepted AnswerHI @blakem,I can confirm the first issue is due to lack of GPU in the head node.To experiment within one of the compute nodes you can submit a job, retrieve the node hostname and then when the job is Running connect to the node with SSH:[ec2-user@ip-10-0-0-33 ~]$ sbatch --wrap "sleep 100"Submitted batch job 1[ec2-user@ip-10-0-0-33 ~]$ squeue             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)                 1    queue1     wrap ec2-user R       0:03      1 queue1-dy-queue1-t2medium-1[ec2-user@ip-10-0-0-33 ~]$ ssh queue1-dy-queue1-t2medium-1Once in the compute node you can try to manually install the package on it.If it works as expected you can automate the installation by using OnNodeConfigured custom bootstrap action: https://docs.aws.amazon.com/parallelcluster/latest/ug/custom-bootstrap-actions-v3.htmlEnricoCommentShareenrico-awsanswered 2 months ago0@enrico-aws, thanks for the quick turnaround and suggestion. I had to wait for 10+ minutes for my GPU node to finish initializing, but once it was running I was able to log into the GPU node.CommentShareblakemanswered 2 months ago"


Question: https:// to https://www does not work

"I created a distribution and in DNS section created A record pointing @klionsky.org to my Destributionso,  https://klionsky.org  and http://klionsky.org do work.However, https://WWW.klionsky.org does not work.403 ERRORThe request could not be satisfied.I tried to add CNAME record for www.klionsky.org to resolve to klionsky.org but that did not help.How can I fix this?thank you!Edited by: DanielAT2021 on Jul 14, 2021 11:42 PMEdited by: DanielAT2021 on Jul 14, 2021 11:43 PMFollowComment"

Answer: "0Check your cname...$ host www.klionsky.orgHost www.klionsky.org not found: 3(NXDOMAIN)Also, your klionsky.org dns entry is pointing directly to cloudfront / distribution IP addresses. You should use CNAME's for host entries that are using distributions. That way the AWS infrastructure can find the best node to serve the content.CommentShareDavid Ganswered 2 years ago0David,I probably don't understand your answer.(A) record has my bare domain name, klionsky.org, that points to the name of my cloudfront / distribution. Is that correct or not?+I added CNAME www.klionsky.org pointing to my distribution... However, I'm still getting an error when trying to access www.klionsky.org.I'm following this articlehttps://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-point-domain-to-distribution:Complete one of the following steps depending on the type of domain that you want to point to your distribution:Choose an address (A) record to point an apex domain (e.g., example.com) to your distribution.If an A record for the apex of your domain is already present in your DNS zone, then you will need to edit that existing record instead of adding another A record.Choose a canonical name (CNAME) to point a sub domain (e.g., website.example.com) to your distribution.CommentShareDanielAT2021answered 2 years ago0I found a problem with my setup:In my certificate I have had only my bare domain name, klionsky.org. Once I added www.klionsky.org it started to work.I have had to delete the old certificate and create a new one with both klionsky.org & www.klionsky.org.CommentShareDanielAT2021answered 2 years ago0Could you instead use A entries for the www and non-www versions of the domain and point them to the Cloudfront default domain (eg sjn12b18snb1.cloudfront.net). Please see here: https://i.imgur.com/OFVGKCv.pngI do this and the CDN seems to function correctly.CommentSharenoobnoobanswered 2 years ago0noobnoob wrote:Could you instead use A entries for the www and non-www versions of the domain and point them to the Cloudfront default domain (eg sjn12b18snb1.cloudfront.net). Please see here: https://i.imgur.com/OFVGKCv.pngIs that route53?"A" records point to a specific IP address."CNAME" records are alias's that point to other records ("A" or "CNAME").You should always create a CNAME to point to a Lightsail distribution.  That way the AWS Cloudfront infrastructure can find the best end point to connect the request to.CommentShareDavid Ganswered 2 years ago0Hi yes it is Route 53.In the screenshot you can see it is an A record but the option selected is "Alias to Cloudfront distribution", so it is not pointing to a specific IP address.Therefore I guess the infrastructure is working as intended?Edited by: noobnoob on Jul 21, 2021 2:11 PMCommentSharenoobnoobanswered 2 years ago0True, it works.However, the terminology is wrong and will probably lead to confusion and misunderstanding when interacting with people who use the more common terms.CommentShareDavid Ganswered 2 years ago0Yes I only worked it out after some playing around.CommentSharenoobnoobanswered 2 years ago0Yes I only worked it out after some playing around.CommentSharenoobnoobanswered 2 years ago"


Question: server IP address could not be found DNS_PROBE_FINISHED_NXDOMAIN

"I have already scoured this forum and other web resources. I tried what was suggested to fix this issue and I have not had success. Here is my issue / question?I have a domain devonacloud.com registered through Route 53. I created a Hosted Zone for this domain. I did not edit any of the records created in the Hosted Zone. I also created an S3 bucket with the same name. I gave this bucket the property of being a static site, I gave it a public access policy, upload a simple html file, and tested the endpoint. The endpoint works as you can see here http://devonacloud.com.s3-website-us-east-1.amazonaws.com/.Finally, I created an alias record for this domain and chose this bucket for that record. I saved the record. Now, when I try to visit this domain I get the dreaded server IP address could not be found message in chrome.Various things I tried were to flush my DNS cache. I also tried:wti@robert-dev:~$ wget devonacloud.com--2020-04-19 18:13:27--  http://devonacloud.com/Resolving devonacloud.com (devonacloud.com)... failed: Name or service not known.wget: unable to resolve host address ‘devonacloud.com’wti@robert-dev:~$ cat /etc/resolv.conf# Generated by NetworkManagernameserver 192.168.14.30nameserver 192.168.14.31wti@robert-dev:~$ dig devonacloud.com; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> devonacloud.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2721robert.risk@we-laptop93:~$ nslookup devonacloud.com;; Got SERVFAIL reply from 192.168.14.30, trying next server;; Got SERVFAIL reply from 192.168.14.31, trying next server;; connection timed out; no servers could be reachedI also visited https://www.whatsmydns.net/#NS/devonacloud.com and noticed that the NS records have not fully propagated. I find that strange because I've been dealing with this issue for a few days.The only off-color thing I can think of is I previously had this domain point to  a static IP I configured on a Lightsail instance. I've deleted the static IP and the Lightsail instance, so I'm surprised if this would cause an issue.When I click on my domain in Route 53, the name servers are:ns-1196.awsdns-21.orgns-1701.awsdns-20.co.ukns-403.awsdns-50.comns-657.awsdns-18.netAnd in its Hosted Zone, the values for the NS record set are:ns-348.awsdns-43.com.ns-955.awsdns-55.net.ns-1200.awsdns-22.org.ns-1950.awsdns-51.co.uk.Should these be the same? Can anyone see what might be causing the server IP address could not be found error and how to resolve it?FollowComment"

Answer: "0Accepted AnswerHi,The nameservers associated with the registrar should be the same as present in the hosted zone, so that correct nameservers are used for resolution.The correct hosted zone is present with the nameservers:ns-348.awsdns-43.com.ns-955.awsdns-55.net.ns-1200.awsdns-22.org.ns-1950.awsdns-51.co.ukas a dig to devonacloud.com using these nameservers gives and IP as seen below:dig devonacloud.com  @ns-348.awsdns-43.com +short52.216.200.122These nameservers should be the ones that are present with the registrar. Hence, When you click on your domain in Route 53, the name servers should be :ns-348.awsdns-43.com.ns-955.awsdns-55.net.ns-1200.awsdns-22.org.ns-1950.awsdns-51.co.ukPlease use the steps mentioned in the following document to add the above-mentioned nameservers associated with the hosted zone to your domain and remove the existing nameservers:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html#domain-name-servers-glue-records-adding-changingHope this helps. Please write back in case you still face the issue post these steps.CommentSharekritibaindail-AWSanswered 3 years ago0Hi! I'm having the same exact issue with my domain. jennariddle.com.Thanks in advance!CommentSharejriddleanswered 3 years ago"


Question: How to cleanup resources when a CodePipeline stage execution fails?

I like to implement an integration test stage as part of a CodePipeline CI/CD pipeline. Within this stage I expect to have two actions: 1) deploy the code to an integration environment using CloudFormation and 2) run a suite of integration tests against this deployment. After that the pipeline would move on to other stages like deploying to production for example.Now assume that the integration test suite fails. How can I ensure that the deployed resources are cleaned up? All documentation and examples I've seen so far don't address this scenario.Sub-question: Would you recommend having a long-lived integration environment that changes alongside production or would you rather create a fresh integration stack from scratch for each pipeline execution? Arguments for the former would be that you would test the actual stack update that would also be applied to the production stack and it would also be faster if your stack contains resources that take a while to create (DynamoDB tables for example). The drawback would be that in case the integration test suite fails the cleanup would need to revert the applied change set instead of just tearing down the entire stack.FollowComment

Answer: "1Hey - CodePipeline events can be monitored so that a failure could trigger an action. There is an existing pattern for custom triggers for AWS CodePipeline with AWS Lambda and Amazon CloudWatch Events.As for your second question, you may also want to consider the costs of running a long-lived integration environment.CommentShareJBanswered 8 months ago"


Question: sam build using docker image fails when .git is included.

"DetailI used "sam init" to create a hello-world (docker image).Then I tried "sam build" and it completed successfully.Then I connected git (code-commit) and ran "sam build" again and it failed.(At this point, the Image is created, but if I ran "sam deploy" it failed.)Same with using the option "--no-cached".Then I deleted ".git" and ran "sam build" again and it worked.("sam deploy" also works fine.)Is this a bug?Or is the specification that git cannot be used with sam?EnvironmentWindows10 (64bit)Python 3.9sam hello-world (Node16, Image)PowerShell / cmd.exeDocker Desktop (WSL2)Dir and files<project dir>* .git* events* hello-world* .gitignore* README.md* template.yamlError message︙Build SucceededBuilt Artifacts  : .aws-sam\buildBuilt Template   : .aws-sam\build\template.yamlCommands you can use next=========================[*] Validate SAM template: sam validate[*] Invoke Function: sam local invoke[*] Test Function in the Cloud: sam sync --stack-name {stack-name} --watch[*] Deploy: sam deploy --guidedTraceback (most recent call last):  File "runpy.py", line 194, in _run_module_as_main  File "runpy.py", line 87, in _run_code  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\__main__.py", line 12, in <module>    cli(prog_name="sam")  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 829, in __call__    return self.main(*args, **kwargs)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 782, in main    rv = self.invoke(ctx)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 1259, in invoke    return _process_result(sub_ctx.command.invoke(sub_ctx))  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 1066, in invoke    return ctx.invoke(self.callback, **ctx.params)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 610, in invoke    return callback(*args, **kwargs)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\decorators.py", line 73, in new_func    return ctx.invoke(f, obj, *args, **kwargs)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 610, in invoke    return callback(*args, **kwargs)  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\metric.py", line 166, in wrapped    metric_specific_attributes["gitOrigin"] = get_git_remote_origin_url()  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\project_metadata.py", line 34, in get_git_remote_origin_url    metadata = _parse_remote_origin_url(str(runcmd.stdout))  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\project_metadata.py", line 104, in _parse_remote_origin_url    return [str(item) for item in pattern.findall(url)[0]]IndexError: list index out of rangeFollowComment"

Answer: 0Accepted AnswerI solved it by upgrading sam.CommentSharesizuanswered 8 months ago


Question: "Correct lambda filter pattern syntax for DynamoDb stream event, where any string in a list matches one of multiple fields"

"In my DynamoDb stream object, I have a field that is an array of strings, i.e. attribute type SS."FOO": {"SS": ["hello"]},I want to filter out the event if any string in that array matches one of "x", "y", or "z" (placeholder values). I can't figure out the correct filter pattern syntax here, but it does seem possible based on the answer in https://repost.aws/questions/QUgqGseyltTceWNYpMF_2tXw/how-to-create-dynamo-db-stream-event-filter-for-a-field-from-array-of-objects. Here's what I've tried:"FOO": {    "SS": {        "anything-but": ["x","y","z"]    }}Can anyone advise on what the filter pattern should look like?FollowComment"

Answer: "0My first thought is that https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax shows the anything-but syntax as being embedded in an array:"Weather": [ { "anything-but": [ "Raining" ] } ]If that doesn't fix it, what I'd try next is something that is definitely an "AND", given there don't seem to be any examples out there using anything-but with multiple items to confirm how it works.https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax shows that, in general, items in a filter array act as "OR", so maybe what you tried is acting like:"anything-but": ["x"] OR "anything-but": ["y"] OR ...which will always be true.Maybe try something like:"FOO": {    "SS": [        {"anything-but": ["x"]},        {"anything-but": ["y"]},        {"anything-but": ["z"]}    ]}CommentShareEXPERTskinsmananswered 2 months ago"


Question: Athena throws an error on auto-generated queries by Quicksight

"Error - "SYNTAX_ERROR: line 5:14: Invalid reference to output projection attribute from ORDER BY aggregation"I have connected athena to quicksight. Since, quicksight doesn't show count beyond 99 in a wordcloud, it groups the rest of the attributes as 'Other' category. When I try to exclude it, athena throws an error. How do I fix it?FollowCommentiwasa EXPERT10 months agoHi.are you using direct query?And are you using a custom query in your dataset?I would like to reproduce the problem and suggest a solution to you, so could you please guide me on how to create a custom query and analysis that I can reproduce?Share"


Question: How do I see execution plans or optimize queries in Babelfish?

How can I get the equivalent to SET SHOWPLAN_ALL or similar SHOWPLAN options / show query execution plans in Babelfish? How can I optimize queries?FollowComment

Answer: "0Accepted AnswerThere a number of options in Babelfish. Consider exploring the docs for a full guide. However, here are the top relevant options:Using explain plan to improve Babelfish query performanceUse PostgreSQL's auto_explain to better understand how the PostgreSQL engine is processing Babelfish/T-SQL queries.It's important to try both options so that users get familiar with the Babelfish engine and how it processes T-SQL. Keep in mind, PostgreSQL and SQL Server are very different engines, and you may need to re-optimize queries for PostgreSQL or eliminate implicit conversions.CommentSharelightanswered 10 months ago"


Question: Plesk Stack sometimes asks for license key - how to fix if it does???

I have found that about 25% of the time when I setup a new Plesk Stack on Lightsail and go to setup plesk for the first time after getting the URL from sudo plesk login that the setup/login screen is asking for the plesk license key.Is there a step I'm missing somewhere / something I should be checking out - and if this does happen is there any way to paste in a value without having to delete the instance and setting it  up a 2nd time?FollowComment

Answer: 0Sorry to hear about the issue. Below are the two documents which you can follow to setup Plesk instance. There is the step you need to confirm the Plesk license key.https://lightsail.aws.amazon.com/ls/docs/en_us/articles/set-up-and-configure-plesk-stack-on-lightsailhttps://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-quick-start-guide-pleskCommentShareAWS-User-2776000answered 2 years ago0@SteveN-AWSThank you for the reply - I have found that when this happens if I reboot the server once or twice it resolves it.The issue occurs at step 6 of https://lightsail.aws.amazon.com/ls/docs/en_us/articles/set-up-and-configure-plesk-stack-on-lightsailIn that it prompts for a license key vs just asking for the email / password - I believe it may have something to do with a connection to a licensing server and the reboot fixes it.CommentShareSFLWAanswered 2 years ago0@SteveN-AWSAs a quick follow up to this upon doing some google searchesI found if I didsudo ls -l /etc/sw/keys/keysand found an XML file it means the License key did not install correctlyI tried plesk bin license -i /etc/sw/keys/keys/LICENSE.xml to install it manually an although it did convert to a key - it didn't do the Web Admin SE editionI ended up deleting the instance and starting over but wasn't sure if there was a way to fix itCommentShareSFLWAanswered 2 years ago


Question: Spot Instance interruption while CodeDeploy is running a deployment to an Auto Scaling group

"Using CodeDeploy for deploying to an EC2 Auto Scaling group, CodeDeploy could disable ASG'S scaling activities by setting HANDLE_PROCS=true. However, what happens if a Spot Instance is interrupted during a deployment?FollowComment"

Answer: "0Accepted AnswerAccording to the documentation, if an instance is terminated during a deployment, the process times out and fails. The timeout window depends on whether the script was in between life cycle events or in the middle of oneCommentShareSunil_Ganswered 3 years ago"


Question: 'MemorySize' value failed to satisfy constraint: Member must have value less than or equal to 3008

"Whenever i try to increase the memory above 3008 MB of my lambda function, i get the error: 'MemorySize' value failed to satisfy constraint: Member must have value less than or equal to 3008. Although it says i can Set the memory between 128 MB and 10240 MB, and i am in a supported region for setting the memory above 3008MB (us-east-1 - AWS Lambda now supports up to 10 GB of memory and 6 vCPU cores for Lambda Functions), its still giving me the error, i'm honestly stuck because i keep getting the error: Error: Runtime exited with error: signal: killedwhich requires more memory, but i cant set it higher than 3008 MB.  Screenshot of errorFollowComment"

Answer: "0Please check this other Answer on the same question.CommentShareEXPERTBrettski-AWSanswered a year agorePost-User-2987259 a year agothank you, i contacted support.Share"


Question: Deployment process takes longer in GGC v1.7.1

"Hi,I observed longer time for Greengrass Core to resume operations on deployment request after updating to GGC v1.7.1 (via OTA).Before, with GGC v1.6.0, from the runtime log stream (/aws/greengrass/GreengrassSystem/runtime), normally I saw ggc system components restarted once after a group New deployment and normally it took around 4-6 seconds for GGC to resume operations.I use following messages for tracking from CloudWatch logs:Received deploymentIdFinished executing the group downloading stepGreengrass Root: /greengrassStarted all system componentsHowever, after updating to V1.7.1, for new deployment, I often see message 4 appears twice. And it takes longer for GGC to resume operations (~24 seconds). From what I observed, the major time portion falls into shutdown stage, i.e. between message-2 and message-3.Is it normal behavior for GGC v1.7.1 to have longer time for deployment process?What is the change in deployment workflow between v1.6.0 and v1.7.1?Note: GGC runs on EC2 instance.Thank youLog: Total 24 seconds from deployment request to resume operations[2019-03-20T23:43:57.707-07:00][INFO]-Start to process new message from the cloud.[2019-03-20T23:43:57.707-07:00][INFO]-Received deploymentId ......[2019-03-20T23:44:09.946-07:00][INFO]-Setting up worker process factory[2019-03-20T23:44:09.946-07:00][INFO]-Found cgroup: pids...[2019-03-20T23:44:10.716-07:00][INFO]-Started all system components[2019-03-20T23:44:10.768-07:00][INFO]-Daemon restarting itself after deployment[2019-03-20T23:44:21.366-07:00][INFO]-Greengrass Root: /greengrass...[2019-03-20T23:44:21.369-07:00][INFO]-Setting up worker process factory[2019-03-20T23:44:21.369-07:00][INFO]-Found cgroup: pids...[2019-03-20T23:44:22.146-07:00][INFO]-Started all system componentsFollowComment"

Answer: "0Hi Quangt3,That's expected behaviour for the deployment process.Thanks,KR-AWSCommentShareKR-AWSanswered 4 years ago"


Question: The bucket does not allow ACLs

"I take my first steps with AWS. I follow this Tutorial step by step:Deploying a high-availability PHP application with an external Amazon RDS database to Elastic Beanstalkhttps://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-ha-tutorial.htmlI successfully started the environment.When I try to upload code files I get an error:Service:Amazon S3, Message:The bucket does not allow ACLs.Failed to deploy application.I learned a little about ACLs. Stackoverflow recommends choosing "ACLs enable" for bucket S3. And that solves the problem, but...But the AWS Developer Guide says:“A majority of modern use cases in Amazon S3 no longer require the use of ACLs. We recommend that you keep ACLs disabled. With ACLs disabled, you can use policies to control access to all objects in your bucket”.How do I proceed, enable or disable ACL?I learned a little about how I can use policies. But I didn't find a simple working example of what policies I should add.To start, I'm trying to migrate a simple small website from other hosting.Friends, can you share best practices or useful working examples on how to do this?Thanks in advance!FollowComment"

Answer: "1Accepted AnswerAs the AWS developer guide says, the use of ACLs isn't recommended any more so it's worthwhile spending time learning how to use bucket policies as they give you much more, fine-grained control over who or what can access the bucket.There are a list of example bucket policies at https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html, and several online tutorials which will explain how to use them.As example, if you had a prefix of upload in your folder, you could allow uploads to the folder with a bucket policy similar to{    "Version": "2012-10-17",    "Statement": [        {            "Sid": "AllowUpload",            "Effect": "Allow",            "Action": ["s3:PutObject"],            "Resource": ["arn:aws:s3:::<EXAMPLEBUCKET>"],            "Condition": {                "StringEquals": {                    "s3:prefix": ["upload"],                }            }        }    ]}you'll need to replace EXAMPLEBUCKET with your bucket name.CommentShareSimon Hanmeranswered a month agoEXPERTskinsmanreviewed a month agoUplloyd a month agoThanks for the link! How did I miss it :)Thank you Simon for the example. I will look deeper into this issue!And of course, thank you for not passing by my question. Respect to you!Share"