Question: .ebextensions commands for Django fail after restart of ec2 instance in Elastic Beanstalk environment

"The deployment done via CI/CD or manually (via Elastic Beanstalk web interface -> Actions) has no issue. But, if the instance is restarted or a re-deployment is done automatically by the autoscaling group (the environment type is load balanced), all the commands in .ebextensions folder fail.In cfn-init-cmd.log this is the error messages:2023-04-06 08:53:54,931 PXXYY [INFO] Test for Command 01_migrate2023-04-06 08:53:54,935 PXXYY [ERROR] Exited with error code 12023-04-06 08:53:54,950 PXXYY [INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++2023-04-06 08:53:54,950 PXXYY [INFO] Config postbuild_1_DjangoWebApp2023-04-06 08:53:54,957 PXXYY [INFO] ============================================================2023-04-06 08:53:54,957 PXXYY [INFO] Test for Command 01_collectstatic2023-04-06 08:53:54,960 PXXYY [ERROR] Exited with error code 1In cfn-init.log:2023-04-06 08:53:54,903 [INFO] -----------------------Starting build-----------------------2023-04-06 08:53:54,910 [INFO] Running configSets: Infra-EmbeddedPostBuild2023-04-06 08:53:54,912 [INFO] Running configSet Infra-EmbeddedPostBuild2023-04-06 08:53:54,915 [INFO] Running config postbuild_0_MyWebApp2023-04-06 08:53:54,935 [INFO] Test failed with code 12023-04-06 08:53:54,946 [INFO] Test failed with code 12023-04-06 08:53:54,950 [INFO] Running config postbuild_1_MyWebApp2023-04-06 08:53:54,961 [INFO] Test failed with code 12023-04-06 08:53:54,962 [INFO] ConfigSets completed2023-04-06 08:53:54,962 [INFO] -----------------------Build complete-----------------------Is there any other log file that I should look into? I did not find anything interesting in django.log and web.stdout.log files.My migrate.config file:    01_migrate:        command: "source /var/app/venv/*/bin/activate && python3 manage.py migrate"        leader_only: trueThe commands in post_actions.config also fail:  01_collectstatic:    command: "source /var/app/venv/*/bin/activate && python3 manage.py collectstatic --noinput"    leader_only: trueFollowComment"

Answer: "0Greetings User-5343824This is expected behavior, looking at your .ebexensions (migrate.config, post_actions.config) your test is leader_only.As mentioned in the Elastic Beanstalk ebestensions documentation.You can use leader_only to only run the command on a single instance, or configure a test to only run the command when a test command evaluates to true.Leader-only container commands are only executed during environment creation and deployments, while other commands and server customization operations are performed every time an instance is provisioned or updated.Leader-only container commands are not executed due to launch configuration changes, such as a change in the AMI Id or instance type.In extension to this Reboots of current instances or the launch of new instances do not trigger the leader_only evaluation.If you need commands like the 01_migrate or 01_collectstatic I would recommend removing the leader_only test. from their definitionmigrate.config file:    01_migrate:        command: "source /var/app/venv/*/bin/activate && python3 manage.py migrate"post_actions.config  01_collectstatic:    command: "source /var/app/venv/*/bin/activate && python3 manage.py collectstatic --noinput"Should you require a constant command to be run within your fleet you could implement the following ebextensioncron-leaderonly-linuxThis .ebextension configures a script on the instances that perform a describe on the Environment Auto Scaling group and if it matches the first instance in the sorted list it will exit 0.This will mean that this script will only exit 0 for one of the instances in your environment.Hope this helpsCommentShareCharlesN_AWSanswered 2 months ago"


Question: Adding Listener in Classic Load Balancer stuck in 'Pending Create'

"I am trying to add my SSL certificate (issued on ACM) into my environment with these settings:Port: 443Protocol: HTTPSInstance Port: 80Instance Protocol: HTTPWhen I click Add, the listener is just stuck in 'pending create'. I had waited more than an hour and its still not created. What could be the issue? Is there a way to check errors to why it is not created?Edited by: Kalesvol on Jul 20, 2020 2:55 PMNvm. I'm an idiot.FollowComment"

Answer: "0Hello,When a listener is created for the Load Balancer in Beanstalk, it goes in "Pending Create". In order to create the listener, you need to click "Apply" to save the changes. This will update the Beanstalk environment and create the defined listener.CommentShareAWS-User-0016272answered 3 years ago"


Question: "Deleted Jenkins custom action type, now receiving errors"

"Hi allI am new to CodePipeLine and CodeDeploy so go easy on me but I have setup a simple pipeline which deploys a JavaScript application to an EC2 instance via GitHub so that any changes I make to the master repo are pushed to the EC2 instance and it works great.Next I wanted to add a validation / test step via Jenkins to play around with the Jenkins plugin for CodePipeLine and I specified "Add Jenkins" in the Test Provider, I got some errors in the validation step (Jenkins related not CPL) so I shut down my EC2 instances for the night.Today I brought them back up and of course the IP has changed for my Jenkins instance, fine, so I try to update the test step in CPL for my Jenkins provider but I can't find where to edit it (the URL to my Jenkins host) so I thought I will just delete and re-create it but it keeps telling me Jenkins V1 already exists when I try to add it back, so not thinking just edit the URL via the CLI I deleted the custom action but now it won't let me re-create it!!!! (using the same method through the browser) it just keeps throwing up the error: "Custom ActionType (Category: 'Test', Provider: 'Jenkins', Version: '1') has been deleted. Create a new version of the action type".If I try to recreate via the CLI it just tells me the above, the only way I can do it is specify version 2?? but then it is missing elements / fields that were originally automatically populated for me via the browser method. I am a bit lost here I just want (for now) to be able to re-add this step via the GUI as I did before - what have I done wrong?ThanksEdited by: 1000101011 on Sep 26, 2017 2:29 PMHmm ok I should have paid attention to this via the CLI:"NAMEdelete-custom-action-type -DESCRIPTIONMarks  a  custom action as deleted. poll-for-jobs for the custom actionwill fail after the action is marked for deletion. Only used for customactions.   WARNING:        You cannot recreate a custom action after it has been deleted unless        you increase the version number of the action.     See also: AWS API Documentation"  ....so does this effectively mean I can no longer create this custom action via the browser because it always try to create version 1? thats crazy.Edited by: 1000101011 on Sep 26, 2017 2:33 PMFollowComment"

Answer: "0Ok so just in case anyone else finds this, i had to create an entirely new version of this custom action using the AWS CLI - I used the JSON template in the AWS CodePipeLine user guide and amended using the old values (luckily I had still got the custom action fields from the original in my terminal buffer):vi <yourfile>.json{"category": "Test","provider": "Jenkins","version": "3","settings": {"entityUrlTemplate": "https://<your_jenkins_ip>:8080/job/{Config:ProjectName}","executionUrlTemplate": "https://<your_jenkins_ip>:8080/job/{Config:ProjectName}/{ExternalExecutionId}"},"configurationProperties": [{"name": "ProjectName","required": true,"key": true,"secret": false,"queryable": true,"description": "The name of the build project must be provided when this action is added to the pipeline.","type": "String"}],"inputArtifactDetails": {"maximumCount": 5,"minimumCount": 0},"outputArtifactDetails": {"maximumCount": 5,"minimumCount": 0}}$ aws codepipeline create-custom-action-type --cli-input-json file://jenkins_provider.json....but I still can't add this now using the browser method, it just try to use Version 1 all the time and errors which is really annoying, don't suppose anyone knows a fix other than contacting AWS? you live and learn huh! (it is just for study purposes this project using my account).CommentShare1000101011answered 6 years ago0Hello,You are right that if custom action is updated via web-console version field is missed. Possible workarounds are to use API/CLI as you've done or create an action with the new name.Thanks for bringing this to our attention! I don't have any ETA, but this issue is added to our backlog.Few notes:CodePipeline does not use 'Server URL' parameter of custom action to communicate with Jenkins. So even if instance's IP has changed Jenkins will be able to poll CodePipeline for jobs (but URL to the job in the CodePipeline web-console will be broken).You can look at CodeBuild service [1] for your unit/integration tests to avoid having dedicated Jenkins instance all the time.Best,Ruslan.[1] http://docs.aws.amazon.com/codebuild/latest/userguide/welcome.htmlCommentShareRuslan_Kanswered 6 years ago"


Question: RDS for multiple small databases

"Hello!In RDS you can run multiple databases on 1 instance, so far so good. But if you create a database in RDS the minimum storage to allocate is 20GB per database. I have about 35 small MySQL-databases (all together make up less than 20GB). Is there a way for them to share the 20GB / run on the same storage and to make it cost-effective (the 35 x 20GB add up to about USD 1000 per year)?Or is RDS not suitable for this specific use case and I need to run it on an EC2-instance instead?ThanksGeorgFollowComment"

Answer: "0The 20GB minimum is for the RDS database INSTANCE. You can create as many MySQL databases as you'd like within that instance without allocating more space. I just tried it to verify, and it happily lets me execute as many CREATE DATABASE statements against the single instance as I'd like.If you do end up needing more than the 20GB you can either manually grow the volume or let RDS autogrow it. But if the databases are small enough you can support quite a few before that is necessary.CommentShareHalTempanswered 3 years ago0Hi HalTemp!Thanks for your reply. You are 100% right. My misunderstanding was, that I would have to use the RDS Console on the website, where the button "Create Database" actually leads to "Create Database Instance". With the SQL Statement "CREATE DATABASE" it works fine.Thanks again!CommentShareG. Saueranswered 3 years ago0You're welcomeCommentShareHalTempanswered 3 years ago"


Question: V2 Lex OrderFlowers Blueprint Lambda Error

"I am following the v2 Lex Developer Guide to create the OrderFlowers Blueprint Lex.  I  followed the steps to add a Lamba function (page 145) in the guide (https://docs.aws.amazon.com/lexv2/latest/dg/lex2.0.pdf).  When I execute the Lex Bot it throws the error below.  Do you have any suggestions what is causing this?  Thank You!Invalid Lambda Response: Your request to Amazon Lex couldn't be completed. Lambda function arn:aws:lambda:us-east-1:994504927747:function:OrderFlowersCodeHook:OrderFlowersCodeHook encountered a problem while processing Amazon Lex request 4c270a5e-4883-4df4-98b7-996be1cbb627. The error message from the Lambda function is Unhandled. Check the Lambda function log for error details, then try your request again after fixing the error.FollowComment"

Answer: 1I believe I found the answer.  The Lex v2 Input and Response Formats are different than Lev v1.  The  Lambda Order Flowers Blueprint uses the v1 format.  Refer to "Migrating a Lambda function" in the documentation: docs.aws.amazon.com/lex/latest/dg/message-lambda.htmlCommentShareJenniferanswered a year ago


Question: Wrong id token when logging in user with 3rd party SAML integrated with Cognito linked with AdminLinkProviderForUser

"Our users have a regular username-password Cognito user in a user pool and we want to allow them to alternatively log in using their SAML Idp.  But, we need the username in their native username-password user in order to grant them appropriate access.  So, we use the AdminLinkProviderForUser feature to link the new user to the existing user in a pre-sign up lambda function.  As a note, we are using the authorization code flow, so we also call the token endpoint after receiving back a code.We use boto3 to send the link request and that looks like this (with <tokens> showing the meaning of the variables):client.admin_link_provider_for_user(UserPoolId=user_pool_id,DestinationUser={'ProviderName': 'Cognito','ProviderAttributeValue': <the username of the existing native cognito user>},SourceUser={'ProviderName': <the name we gave to the idp in cognito>,'ProviderAttributeName': 'Cognito_Subject','ProviderAttributeValue': <the default value generated from the SAML assertion by cognito and provided in the event>})This seems to making a couple of changes:An identity is added to the existing, native cognito user:[{"userId":<the default value generated from the SAML assertion by cognito and provided in the event>,"providerName":<the name we gave to the idp in cognito>,"providerType":"SAML","issuer":null,"primary":false,"dateCreated":1661118033932}]And a new user is created that has the generated Cognito_Subject as its username and that has its own linked identity:[{"userId":<the NameID from the SAML assertion>,"providerName":<the name we gave to the idp in cognito>,"providerType":"SAML","issuer":<the urn for the issuer of the assertion>,"primary":true,"dateCreated":1661118034135}]So, it appears that the existing, native cognito user points to the newly created, external provider user, which, in turn, has an identity that is the external NameID.  I think this appears right, at least conceptually, however, I'm not sure about why the external idp is designed as primary.  But, anyway, this configuration does allow the user to log in and does end with an authorization code being returned.  And, sending the authorization code to the token endpoint does result in id and access tokens being returned.However, when I decode the id token, it turns out that it is for the newly created user that has the Cognito_Subject value as its username (the source user) instead of the existing, native user that was specified as the destination user.  I also tried linking them using the email attribute from the SAML assertion, and while the change appeared to work, in that the new user was created with email address as its username, it still resulted in the source user being used to create the id token instead of the destination user.So, a couple of things I've been thinking about:Based upon the doc, I don't think I've got the users mixed up.  I'm using the existing, cognito native user as the destination when creating the link and the new user, with the external SAML NameID identifier, as the source user.  That seems right to me based upon the doc.The linked identities do seem to be created, but the pointers seem to be like this:  native user in cognito -> external provider user in cognito -> external NameID.But, if that is the correct way to link them, then how does Cognito know to follow the links back to the original native user and return it instead?  I mean, there is certainly a way to do that, but it seems it would be less efficient than if the links went the other direction, so it makes me question whether I'm misunderstanding the doc.To sum up, am I correct to expect the id token to represent the destination user?  Is it correct to link the users in the direction I described?  And, if the answer to both of those questions is yes, then does anyone have any idea why the links might not be working, given what I described we are doing?Thanks in advance to anyone who can help me with this.FollowComment"

Answer: "0Few things to rememberWhen user authenticates with federated linked account, the user will be authenticated as native cognito user and generated tokens will hold identity of native account.Any mapped attributes from federated IdP to native user and will be overwritten with each login.Linking external account (source) to Destination account should be two stepa. Delete the external account source account in user pool.b. Creating a link to native account using AdminLinkProviderForUserCommentSharePravoanswered 9 months ago"


Question: Docker Nginx Config Customizations not Working (Ruby)

"Hi,I understand that Nginx has to be customized by .ebextensions to get proxy pass working correctly. In my research, however, I have seen two methods:.ebextensions/nginx/nginx.conf or .ebextensions/nginx/conf.d/proxy.conf.ebextensions/00-nginx-customizations.configWhere (1) creates a file that either overrides or adds to the current Nginx configuration and (2) has yaml definition of a file that will be created.However, neither of these methods seems to be modifying my Nginx configuration at all. I continue to get this error:2019-07-22 22:40:57    INFO    Environment update is starting.2019-07-22 22:41:34    INFO    Deploying new version to instance(s).2019-07-22 22:41:41    INFO    Successfully pulled ruby:2.3.32019-07-22 22:41:42    INFO    Successfully built aws_beanstalk/staging-app2019-07-22 22:41:49    ERROR   Failed to start nginx, abort deployment2019-07-22 22:41:53    ERROR   [Instance: i-12345] Command failed on instance. Return code: 1 Output: nginx: [emerg] invalid port in upstream "172.17.0.4:$PORT" in /etc/nginx/conf.d/elasticbeanstalk-nginx-docker-upstream.conf:2nginx: configuration file /etc/nginx/nginx.conf test failedFailed to start nginx, abort deployment.Hook /opt/elasticbeanstalk/hooks/appdeploy/enact/01flip.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.2019-07-22 22:41:53    INFO    Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].2019-07-22 22:41:54    ERROR   Unsuccessful command execution on instance id(s) 'i-00ac10fbc84ade699'. Aborting the operation.2019-07-22 22:41:54    ERROR   Failed to deploy application.Any ideas? Any way to check what Nginx configuration is being generated?Thanks,MarkFollowComment"

Answer: "0I figured it out.It turns out nothing was happening because I was runningeb deploywithout committing the changes. So my EXPOSE port in my Dockerfile was getting carried all the way down to the Nginx proxy config. Even though I had fixed it in my Dockerfile, since I hadn't committed it, it wasn't changing.I actually ended up looking at the Dockerfile on the instance, and then looking at the Zip that was uploaded to S3 to eventually figure this out.So make sure you have committed any changes you want uploaded during eb deploy or you can stage them, I believe and run eb deploy --staged.Hope this helps someone.Edited by: MarkAtTes on Jul 23, 2019 9:34 AMCommentShareMarkAtTesanswered 4 years ago"


Question: How to create AutoScalling Group using CDK for existing EC2 instance?

"I have been exploring AWS-CDK recently and programming language I am using is Python. Since I am a newbie in this concept, I am trying to achieve one thing: How can I create AutoScaling Group for existing ec2 instance? I assume somewhere i need to mention the instance id, attached here by as one parameter to ASG.Now what exact issue I am facing is, I am not able to understand how to pass the details of existing ec2 instance while configuring AutoScalingGroup. I am not creating VPC using CDK, instead I created one EC2 instance using console.Any leads would be really helpful!!Below is the code for AutoScalingGroup:{ from constructs import Construct from aws_cdk import aws_autoscaling as autoscalingfrom aws_cdk import (aws_ec2 as ec2, aws_ssm as ssm, Stack)class AutoScalingStack(Stack): def init(self, scope:Construct, id: str,vpc: ec2.Vpc, **kwargs) -> None: super().init(scope,**kwargs)autoscaling.AutoScalingGroup(self, "ASG",vpc=vpc,launch_template= launch_template)PS: I am unable to find AWS CDK tag.FollowComment"

Answer: "0Hi,I would like to inform you that attaching an existing EC2 instance to an AutoScalingGroup created via CDK or CloudFormation is not directly possible.If you would check the CDK Documentation for class AutoScalingGroup - https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_autoscaling/AutoScalingGroup.htmlYou will find there's no such property or method available that can help in attaching existing EC2 instance to ASG.Due to this limitation, your requirement can be completed using AWS Console or AWS CLI, and the process to do so is given in the document -  https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-instance-asg.htmlThe API that is responsible for doing this is 'AttachInstances' - https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachInstances.htmlSo, as a workaround, you may use custom resources in CDK to trigger this API and attach the ec2 instance via CDK if you do not wish to do so via the console.https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.custom_resources/README.htmlIf this is only a one-time requirement, then I'd suggest doing this via console, but if it is something that you would be doing in multiple accounts or regions, then I would recommend using custom resources to automate this process.CommentShareSUPPORT ENGINEERSagar_Tanswered 7 months ago"


Question: How to make updateMany() faster

"i have a documentDb with, let's say mycollection, ewith docs such as{   "_id" : "id string 1",   "field" : "Fieldvalue"   "obj1" : { "until" : ISODate("2022-12-19T00:00:00Z") },   "obj2" : { "id" : 316524 },   "obj3" : { "status" : "available" },   "data" : { },},{   "_id" : "id string 2",   "field" : "Fieldvalue"   "obj1" : { "until" : ISODate("2023-12-19T00:00:00Z"), id: 77, username: "some" },   "obj2" : { "id" : 316524 },   "obj3" : { "status" : "available" },   "data" : { },},...and respectively, i have an indexdb.mycollection.createIndex(    { "field": 1, "obj1.id": 1, "obj2.id": 1, "obj3.status": 1 },    { name: "my_special_index" })but runningdb.mycollection.updateMany(    {        $and: [            { field: "Fieldvalue" },            { "obj2.id": 24569 },            { "obj3.status": "available" },            {                $or: [                    { "obj1.until": { $lt: new Date()} },                    { "obj1.id": 77 }                ]            }        ]    },    {        $set: {            "obj1": { "id": 77, "username": "some", "until": ISODate("2023-12-19T19:51:32.479Z") }        }    })it takes 12 seconds, that is way too much, given the whole collection is ~280k, and the records that match the condition ar 62ki have tried running explain on the find() ( unfortunately, no way to run explain on the updateMany() ) db.mycollection.find(    {        $and: [            { field: "Fieldvalue" },            { "obj2.id": 24569 },            { "obj3.status": "available" },            {                $or: [                    { "obj1.until": { $lt: new Date()} },                    { "obj1.id": 77 }                ]            }        ]    },).limit(100000).explain("executionStats").executionStats;and i get, what are think is good response{"executionSuccess" : true,"executionTimeMillis" : "173.373","planningTimeMillis" : "1.064","executionStages" : {"stage" : "SUBSCAN","nReturned" : "60163","executionTimeMillisEstimate" : "168.929","inputStage" : {"stage" : "LIMIT_SKIP","nReturned" : "60163","executionTimeMillisEstimate" : "151.908","inputStage" : {"stage" : "IXSCAN","nReturned" : "60163","executionTimeMillisEstimate" : "147.511","indexName" : "my_special_index","direction" : "forward"}}}}i tried adding another indexdb.mycollection.createIndex(    { "field": 1, "obj1.id": 1, "obj1.until": -1, "obj2.id": 1, "obj3.status": 1},    { name: "my_special_index_with_until" })but the find().explain() still prefers the first index, and updateMany() doesn't seem to run any fasterso, my question is, what can i do to improve performance, i would expect these to run very fastThanks!FollowComment"

Answer: "0HiWhat is the DocDB version used here?How many indexes for the collection? Update() operations will go faster with less indexes. For the collection you shared, a better index is filed (obj2.id, obj3.status, obj1.id)Is there a way you may add hint to force the index using?From the DocBD doc: https://docs.aws.amazon.com/documentdb/latest/developerguide/functional-differences.html#functional-differences.explainAmazon DocumentDB emulates the MongoDB 4.0 API on a purpose-built database engine that utilizes a distributed, fault-tolerant, self-healing storage system. As a result, query plans and the output of explain() may differ between Amazon DocumentDB and MongoDB. Customers who want control over their query plan can use the $hint operator to enforce selection of a preferred index.From the MongoDB doc: https://www.mongodb.com/docs/manual/reference/method/db.collection.updateMany/ There seems to be a new feature in version 4.2.1 to add hint in the updateMany() function. See if this is available in the DocDB 4.0 version. Maybe not.is there is a way to bulkwrite for the same result using updateMany, and is that going to be faster?If you have support plan, I would suggest reach to us through a support case and our team can help investigate further.CommentShareSUPPORT ENGINEERKevin_Zanswered 4 months ago"


Question: How to deploy N models on N Greengrass devices with a unique Lambda for inference logic?

"Hi,Let's consider an ML edge inference use-case on Greengrass-managed device. The model is unique to each device, however its architecture and invocation logic are the same for all devices. In other words, the same invocation Lambda could be the same for all devices, only the model parameters would need to change across devices. We'd like to deploy a unique inference Lambda to all devices, and load device-specific artifact to each device.Can this be achieved with Greengrass ML Inference? It seems that GG MLI requires each model to be associated with a specific Lambda.Otherwise, is the recommended pattern to self-manage the inference in Lambda? E.g. by loading a specific model from S3 unique a local config file or some env variable?FollowComment"

Answer: "0Accepted AnswerIn IoT Greengrass 1.x, the configuration is unique to each Greengrass Group. This includes Connectors, Lambdas and ML Resources.The same Lambda can be referenced by multiple groups as a Greengrass function, which is likely what you want. This is similar to using one of the GG ML connectors (Object Detection or Image Classification).In addition to your inference code, you'll also need to configure an ML Resource, which has a local name and a remote model. The local name would be the same for all Greengrass Groups, but in each group you will refer to a different remote object (the model) - either S3 or SageMaker job.Every time a model changes, you will need to redeploy the corresponding Greengrass group for the changes to be deployed locally.CommentShareEXPERTMassimilianoAWSanswered 3 years ago"


Question: Unable to connect to another machine from iOS using RemoteWebDriver

"Hello everybody. I'm using AWS Device Farm to run my tests. This is web to mobile testing for video calls, where both desktop pc and mobile phone must be used in one framework. I have a problem to connect to my remote machine in test while using iOS, but everything is fine with Android. I have both Android and iOS applications for mobile testing.The steps I do to run tests using AWS device farm:We have a remote machine with open static IP address where I have a selenium-server-standalone started;I put my project to AWS Device Farm -> Mobile device testing project -> Create a new project;I fill out all the blanks, upload my application, select Java Appium TestNG, set configuration, create device pool and launch run;Project goes to AWS Device Farm and while method 'setup' is invokes both the remote machine and selected mobile device and tests run;When I use my Android application, the test is able to connect to my remote machine and then invoke Android phone, then tests run in parallel on both web pc and mobile device.But when I try to do the same thing with iOS application, I have an unknown problem. I do the same steps with Android. So, the difference is only that it is iOS phone. And when I try to connect to my remote machine, the test skips. Without any log or comment...just skips and that's it.The way I connect to my machine from AWS Device farm mobile project:@BeforeTestpublic void setUp() {//webDesiredCapabilities dc = new DesiredCapabilities();dc.setBrowserName("chrome");dc.setPlatform(Platform.ANY);URL remoteHostURL = new URL("http://x.x.x.x:4444/wd/hub");DRIVER_WEB.set(new RemoteWebDriver(remoteHostURL, dc));//mobilecapabilities = CapabilityManager.getAndroidCapabilities();DRIVER_MOBILE.set(new AppiumDriver<MobileElement>(remoteAppiumHostURL, capabilities));...}What could cause this problem? Cos it works only for Android, but doesn't work for iOS. I'd be very thankful to get any help from you!FollowComment"

Answer: 0The problem was in the version of test spec. We have to use TestSpec V6CommentShareilipskyianswered 2 years ago


Question: Error when trying to purchase reserved instance

"I get the following error when trying to purchase a reserved instance.Error: Your current quota does not allow you to purchase the required number of reserved instances (Status Code: 400; Error Code: ReservedInstancesLimitExceeded; Request ID: 32762496-dfdf-447a-aff2-87cea127a11e)This isn't a very helpful error report because I only have one other instance, and my reserved instance limit is at 20, and I currently have no reserved instances. So what do I do to fix this?FollowComment"

Answer: 0This is common when purchasing a large number of reserve instances. You need to request a quota increase (documentation here).CommentShareC Mencarellianswered 4 months ago


Question: AWS Datasync to transfer the PDF and xml togather

"Dear Team,We have a source system on Premise DC which will upload thousands of PDF and its metadata XML files in Windows NAS.   We need to upload the same to S3 and further process it.  To process, we need to make sure that the pdf and metadata xml file are both available on S3.I wanted to check if there is a way in AWS Datasync which will make sure that PDF and its corresponding Metadata xml file(both will have the same name but different extensions) both are loaded to S3 togather so that we can start the processing as soon as the files are uploaded to S3.Thank you in advance.Regards,Dhaval MehtaFollowComment"

Answer: "0By default, DataSync will copy all files in a directory.  So in your case, both PDF and XML files will be transferred.  If you want to trigger your downstream processing only after all files have been copied, then you can monitor for SUCCESS status on the Task Execution CloudWatch event.  For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html#events.CommentShareJeff_Banswered a year ago"


Question: Workspace Excle Error

"Hello.In my AWS-workspace A error occurred.I coldn’t solve the problem so please tell me the way to fix it.1 Create excel file in my AWS-workspace .2 Then open the excel file on the other person’s AWS-workspace .3 Then displayed “the excel file is broken “.In my AWS-workspace the excel file is completely normal .But in the other person’s AWS-workspace the excel file is broken.We team guessed the message “the excel file is broken “ is correct .My AWS-workspace excel environment might be broken somewhere .I tryed to slove it on the web searching but I couldn’t find any answers.Please tell me if you know anything about this error .Regards,FollowComment"

Answer: 0How is the file being transferred between the your Workspaces instances and the second person's? Or are they on a shared filesystem somewhere?You might try creating a hash of the file on the first instance and comparing it to the hash of the file on the second instance to make sure that the file hasn't been modified in transit. There are a few free MD5 and SHA256 hash tools available for Windows.CommentShareEXPERTBrettski-AWSanswered a month ago


Question: AWS RHEL Pacemaker Cluster Resource awsvip ( ocf:heartbeat:awsvip )

"According to the documentation, this resource requires the following. The question I have is it possible add IAM policies to Role so that no AWS CLI configuration is required.  I was able to get the fence_aws command to work with embeddeing AWS CLI config info by providing specific IAM policies.preconfigured AWS CLI running environment (AccessKey, SecretAccessKey, etc.)- a reserved secondary private IP address for EC2 instances high availablity- IAM user role with the following permissions:* DescribeInstances* AssignPrivateIpAddresses* UnassignPrivateIpAddressesFollowComment"


Question: Lack of Super Users with MSK Cluster using SASL/SCRAM and ACLs

"My question: If MSK doesn't allow you to specify Super Users, is there a fault tolerant way to create ACLs to "mimic" a super user like the one specified in: https://repost.aws/questions/QUPLKdkgDPQ_uH8LaLhB8bew/how-to-create-a-super-user-on-mskIt seems fraught with accidental peril. If you start giving a SASL user access to cluster operations one at a time, you'll accidentally lock the Cluster's ACLs entirely.kafka-acls.sh --bootstrap-server [broker hosts] --add --add-principal="User:my_super_user" --cluster --operation DescribeOops! You'll violate the allow.everyone.if.no.acl.found rule. An ACL for the cluster will be found. It'll just only have the one operation. And since the super.users configuration property isn't supported. You're hosed. No matter how many SASL/SCRAM users you make, you've lost any ability to set or change any more ACLs...This happened to me, because I wasn't sure if I specified ALL for the operation, I would suddenly run into trouble with blocking brokers (as that linked question answer indicates).Is the only solution, in this case, to enable IAM, create an IAM policy that allows you to "do anything", update the ACLs, deactivate IAM?R.I.P super users property if using SASL/SCRAMFollowComment"

Answer: "0Hi,I recommend to first create a "superuser" user that has access to all operations using --operation  ALL instead of one at a time as described in linked post.Another workaround apart from using IAM is to leverage zookeeper to verify acls and to create a super user like so:bin/kafka-acls.sh -authorizer-properties zookeeper.connect=zkp:2181 --add --allow-principal "User:superuser" --operation ALL  --topic '*' --cluster CommentShareBenita-AWSanswered 9 months agowspurgin 9 months agoThanks Benita, do you know if granting ALL actions (including then, the CLUSTER ACTIONS) has the affect of potentially "blocking brokers" as that linked question I mentioned seems to indicate? Or is that statement no longer true?I agree that granting ALL operations works... as long as the ACLs don't change for that User... However, that was part of my question. I'm asking how one could recover a cluster if the zookeeper ACLs on the cluster locked out all SASL users (since "super users" can't be defined in MSK)?ShareBenita-AWS 9 months ago1/ I don't see a reason why adding ACLs on cluster actions will cause brokers to be blocked.2/ Using the zookeeper string to grant principals access will allow you to recover a cluster. Using zookeeper string does not require you to call the APIs as a SASL user. All you need is network access to the zookeeper endpoint.Share"


Question: Route53 Rule Share

"Hello,I shared a Route53 Rule from account A to account B (us-east-2). The resource share is displayed in RAM of account A (Shared by me). But I can't see any resource shared with me in account B (us-east-2) RAM. And in account A Route53, the rule "Sharing Status" is "Not Shared"Any ideas?Thank you.FollowComment"

Answer: "0It's my bad!When I was sharing the resource, after entering the account number to share the resource with I didn't click the "Add" button. How silly.Problem solved.Thank you.CommentShareAmananswered a year ago"


Question: DynamoDB local

"Hello,I work on a project that has the aim to store data in a local DB, preferably a NoSql DB. After several searches, I selected the Amazon Dynamo DB. Is it possible to use it locally for an unlimited period of time and not just use it to develop and test my applications?What is the maximum size of DB? Is it free or is it paid?Thanks you,Best regardsFedericaFollowComment"

Answer: "0Hello!!I have installed and configured DynamoDB locally. Now I want to save on dynamoDB the data that I read from another device through AWS SItewise. The acquired data is saved as stream manager, so json format. I want to insert these JSON documents on DB every time I read the new data and I want to do it through a Lambda function. What commands should you use? Is it possible to use the Lambda function also to create tables and to query the DB?I await your response.Thank you,FedericaCommentSharefedericaanswered 2 years agorichbh7 2 years agoIf you would like to connect with DynamoDB through a lambda function, you will need to use the SDK to connect and add objects to your table. Based on the lambda runtime you choose, you can choose any one of the SDK's here:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.htmlShare0Hi Federica,Yes, you can use DynamoDB for an unlimited amount of time without using the DynamoDB table to test and develop your applications.DynamoDB has a free tier which includes 25 GB of storage, 25 provisioned write capacity units (WCU), and 25 provisioned read capacity units (RCU). Data transfer is also free within the same region. You can use these resources for free for as long as 12 months. [1]Additionally, there is no practical limit on a table's size in DynamoDB. Tables are unconstrained in terms of the number of items or the number of bytes however the maximum item size in DynamoDB is 400 KB. [2]I hope I was able to answer question and that the information provided was helpful.Resources[1] https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=**all&awsf.Free%20Tier%20Categories=**all[2] https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-tablesCommentShareMonicaA-AWSanswered 2 years ago0Hi Monica,Thank you for your answer. Is there a guide to follow to develop the tables locally? Are the tables built using the AWS Lambda function?Thank you,best regardsCommentSharefedericaanswered 2 years ago0You can use any of the CLI commands like normal:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/getting-started-step-1.htmlWhile specifying an endpoint URL:aws dynamodb create-table \--table-name UnifiedTable \--attribute-definitions AttributeName=pk,AttributeType=S AttributeName=sk,AttributeType=S \--key-schema AttributeName=pk,KeyType=HASH AttributeName=sk,KeyType=RANGE \--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \--endpoint-url http://localhost:8000One of my biggest recommendations though would be to use NoSQL Workbench:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.htmlYou can use it to model DynamoDB Tables, and then deploy it to a locally running DynamoDB instance or a deployed remote instance on your AWS account.Best,JustinEdited by: justinlAWS on Aug 30, 2021 11:58 AMCommentSharejustinlAWSanswered 2 years ago"


Question: Question regarding adaptive capacity reblanance

"sourceQuote: "If your application drives disproportionately high traffic to one or more items, adaptive capacity rebalances your partitions such that frequently accessed items don't reside on the same partition."Is it correctly understood that if I have say two partitions (500 items in each) that each stores a series of say "forum-thread" items, if the items in the first partition are accessed more frequently than those in the the second one, then adaptive capacity will take some of the items from the first partition and put it over in the second partition to even it out?Meaning, if I query for all items in each of the two partitions, I might get say 450 in the first partition, and 550 back from the second partition.Is that correctly understood?FollowComment"

Answer: "3Not quite. DynamoDB assigns items to partitions based on the hashed value of your Partition Key. If you drive a lot of traffic to an item collection/partition then Adaptive Capacity will split that partition into two. So if you have 2 partitions and one receives enough traffic so that its close to the partition limit of 1000WCU or 3000RCU then it will split into two, after which you will have 3 partitions.CommentShareEXPERTLeeroy Hannigananswered 9 months agorePost-User-0320074 9 months agoFollow up question: What name is given to the newly created partition? (How do I find out what the name is?)ShareLeeroy Hannigan EXPERT9 months agoPartitions do not have names, they remain abstract to the end-user and are used solely to ensure the data is well distributed. What reason would you like to know a partitions name for? Perhaps you are confusing it with something else, please let me know how I can help.SharerePost-User-0320074 9 months agoSorry, I mean, when you want to access the items in a partition you have to specify a key. So for this newly created partition, what key do I have to specify to access the items in this newly created partition? Are you saying that this partition is not directly accessible to the programmer? A new partition is created under-the-hood so-to-speak? If that's the case, then I wouldn't really say there is a limit of wcu and rcu from the point of view of the programmer.ShareLeeroy Hannigan EXPERT9 months agoYou are correct, from a programmer perspective there is no need to understand the underlying infrastructure. There is literally no limit with DynamoDB in terms of WCU/RCU, you just need to ensure your access patterns are well distributed.Share"


Question: Security HUB RDS snapshots cannot be public finding

"HelloChecking out the Security Hub findings, we have multiple reports of a CRITICAL issue with the description Security Hub*RDS.1 RDS snapshot should be private * but the snapshots that are targeted are deleted and are no longer available in the AWS Console RDS snapshots tab.The Record state of the finding is ARCHIVED, but we don't get why the findings were triggered at all on those snapshots ( and also no trigger was found on the current existing ones ). All the snapshots that we have are encrypted and according with the documentation: If the source is encrypted, DB snapshot visibility is set as Private because encrypted snapshots can't be shared as public. so our snapshots should not have gotten in a public state at any point.So what can be the cause of us seeing those Security Hub findings and how can we make sure we no longer have them?FollowComment"

Answer: "-1All snapshots are evaluated by RDS.1. Findings are triggered by the evaluation of the config rule backed by RDS.1. When the snapshot is deleted Config produces a NOT_AVAILABLE finding for the deleted resource which is translated in Security Hub as Record State = ARCHIVED.CommentSharenmangam-AWSanswered a year agoVille Lahdenvuo 16 days agoSeems like there is some sort of bug in the config rule because we are also getting these CRITICAL SecurityHub findings saying that our automated RDS snapshots are public, which is impossible since they are encrypted (and we have never set them public to begin with).Share"


Question: AWS Gamelift Fleet Instance Capacity not updating on terminated fleet

"I'm testing build compatibility with the free tier for Gamelift. Deleted a fleet and am now receiving a too many instances error when I try to build another one. My fleet console shows empty, but the CLI Describe-fleet-capacity shows me as having an active fleet nor active instances.FollowComment"

Answer: "0Hi, can you provide any fleetId or buildId so we can take a closer look? And in which region?CommentShareLumingAWSanswered a year ago"


Question: install.sh enviroment needs to be documented.

"There's a severe lack of documentation about the environment in which install.sh runs. It would be nice if https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-packaging.html would be updated with information.Things I've had to figure out on my own:install.sh is run explicitly as sh install.sh, ie: any #!/bin/bash is ignored, so don't expect bash features unless you explicitly create an additional bash script and just call it from install.sh.Files extracted from your build are not writeable by the invoking user, so your script will probably need a lot of calls through sudo in it. This is also true of the executable you specify in the fleet config to run for each game server instance. eg: UE4's wrapper script tries to chmod +x the actual executable, which will fail unless you modify the script to sudo chmod +x.Files installed are owned by gl-user-server with gl-user as the group.Open questions of mine that remain:What's the actual user that runs the install.sh script and the game server executable specified by the fleet? This would be helpful in making permissions decisions such as: can I just g+w a directory that logs go into, or do I have to go full on a+w?FollowComment"

Answer: "0Thanks for thee feedback @REDACTEDUSERCommentSharerePost-User-5738838answered 6 years ago0It would be nice to have some updates about this issue.Thank you!CommentSharerePost-User-2524051answered 3 years ago0The documentation about the install script has been updated: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-installPlease let us know if anything is still unclearThank youCommentSharerePost-User-3854098answered 3 years ago0I solved my problem.Thanks Dajun!CommentSharerePost-User-2524051answered 3 years ago0Hi, can you post a default example of the install.sh as required by the server? Basically, I just need a log.CommentSharerePost-User-7570547answered a year ago0[quote="chrisgong, post:7, topic:4357"]#!/bin/bashecho 'Hello World' > install.log[/quote]Hi.But if I do not provide an install.sh the GameLift Fleet fails with: "/local/game/install.sh is empty or does not exist."CommentSharerePost-User-7570547answered a year ago0In this case, I would suggest creating an install.sh file, using Visual Studio Code to make it easier, add the sample code inside for now,#!/bin/bashecho 'Hello World' > install.logand then add it to the root level of the game directory that you're uploading to GameLift. If your server fails to run because of some missing software dependency issue, then you may have to modify the install.sh file with some yum install commands in your install.sh script.CommentSharerePost-User-5100160answered a year ago0In the link referenced, there is a sample install.sh file#!/bin/bashecho 'Hello World' > install.logHowever, I have found more recently that Unreal Engine servers don't need an install.sh script. That may have changed but if they do, I don't believe the server needs anything to be installed in the Amazon Linux environment of the ec2 instances in the fleet in order to run successfully, so that may be why their sample script doesn't include any install commands. However, this may not hold true for other kinds of game servers, for e.g. Unity, non-custom game servers, etc.If your server does have some software dependencies that need to be installed before running, then you'll have to include some yum install commands in your install.sh script.CommentSharerePost-User-5100160answered a year ago0Okay, it might have failed because at least under Windows I have to install the following (see 1st answer) https://answers.unrealengine.com/questions/248909/what-gets-installed-with-ue4prereqsetup-x64exe.htmlLooking now for a file to install the same as with UE4PrereqSetup_x64.exeRelated https://forums.awsgametech.com/t/unreal-linux-dependencies/6631CommentSharerePost-User-7570547answered a year ago0This simple install.sh works for me#!/bin/bashCommentSharerePost-User-7570547answered a year ago0The error now is thisServer process exited without calling ProcessEnding(), exitCode(127)The error means a command is missing.Found this Linux Server (via https://forums.awsgametech.com/t/how-to-correctly-prepare-linux-executables/1370/14), which appears to include the required files. https://github.com/zeliard/GameLift/tree/master/GameLiftLinuxServerHowever, does someone know how I can extract the required files for my build? Build it first?CommentSharerePost-User-7570547answered a year ago0I would suggest remote connecting into an instance in your fleet to check the server logs to see why the server is crashing.CommentSharerePost-User-5100160answered a year ago0I still have this problem but the errorCannot run program "/local/game/install.sh" (in directory "/local/game"): error=2, No such file or directoryPrevents GameLift Fleet from creating an Instance. How can I access this error log? I have tried the following install.sh (created in Visual Studio 2019).#!/bin/bashchmod +x ./GameName/Binaries/Linux/GameNameServersudo -u gl-user-server ln -sf ./GameName/Saved/Logs ./logsor#!/bin/bashor no install.shCommentSharerePost-User-7570547answered a year ago0There is no log, because the install is aborted prior to creating a game instance.CommentSharerePost-User-7570547answered a year ago0Using this Tutorial to setup Linux Server, at the end is install.sh code. https://www.youtube.com/watch?v=E5XNvFCobuE Still fails with the same error:Cannot run program “/local/game/install.sh” (in directory “/local/game”): error=2, No such file or directoryAbove error is misleading, install.sh is present at the correct directory. Thus, this appears to be a AWS GameLift bug.CommentSharerePost-User-7570547answered a year ago0What command are you using to upload the server build?CommentSharerePost-User-5100160answered a year ago0aws gamelift upload-build --name GameNameServer --build-version 1.0 --build-root c:\STAGE\SERVER\LinuxServer --operating-system AMAZON_LINUX --region eu-central-1I can create a Windows build np.CommentSharerePost-User-7570547answered a year ago0What does the directory structure of c:\STAGE\SERVER\LinuxServer look like?CommentSharerePost-User-5100160answered a year ago0This is the default Unreal Engine folder structure (server build target).Root files:install.shGameNameServer.shManifest_DebugFiles_Linux.txtManifest_NonUFSFiles_Linux.txtManifest_UFSFiles_Linux.txtFolders:EngineGameNameCommentSharerePost-User-7570547answered a year ago0I think your install.sh file is formatted incorrectly and as a result it can't be read. Check the line endings on your shell file. There might be carriage return line feed characters (CRLF) if you're on Windows whereas lines in Linux files should end in only line feed characters (LF). If you create the shell script in Visual Studio Code, then that should solve it, assuming you're developing on Windows originally.CommentSharerePost-User-5100160answered a year ago0I opened the install.sh inside VS 2019, removed any spaces and cut/pasted all lines again, still after upload and setting up a fleet, same result.CommentSharerePost-User-7570547answered a year ago0Hi @REDACTEDUSER2 suggestions:Create a new fleet, wait for it to go into ERROR, then SSH to your erred fleet using GetInstanceAccess (see: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html), then, run sudo su to acquire root access, and ls /local/game to see if install.sh is there. If so, run less /local/game/install.sh to see if you can see any abnormalities.Try compress your server files into a zip by yourself. Ensure that it can extract to include install.sh in the root. Then, upload the build to S3 and create a build that way: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.htmlIf these do not work, let us know your region and buildId, and we can take a look for you.CommentSharerePost-User-7108006answered a year ago0Thanks for your suggestion but the error is prior to the creation of an instance. I did not tried to upload a zip yet - in case I continue this very expensive adventure to try setting up GameLift I will consider your suggestion with uploading zipped server files.CommentSharerePost-User-7570547answered a year ago0In your AWS GameLift console's fleet events, you should get the error logs if install script fails, (though in this case, your install script wasn't even run,) Could you check your fleet events to see if there are anything else suspicious?You might know this already, but just FYI that gamelift currently has a free tier which includes 125 hours of c5.large per month (see: https://aws.amazon.com/gamelift/pricing/). Also, you can use SPOT fleets to cut down your costs, and the only downside is that there could be a small chance of instance interruption during your development.CommentSharerePost-User-7108006answered a year ago"


Question: IIoT Security Workshop - CloudFormation error

"Hello there,I am following the IIoT Security Workshop [1] but I got the following error trying to deploy the CloudFormation stack:As suggested in the docs, I used 'us-east-1' region for launching.  The 'Troubleshooting' section in the documentation doesn't mention something regarding this error and wondering if someone faced the same issue before.Would appreciate any help.Thanks![1] https://catalog.us-east-1.prod.workshops.aws/workshops/5b543f4c-1952-4bd9-96c8-b009c16da2bc/en-USFollowComment"

Answer: "1Accepted AnswerHi cvasilak. Thanks for reporting this issue. It appears that the nested Ignition stack is trying to launch an AMI that has been recently deprecated. I'll post a comment here when it's fixed or when more is known. Apologies for the inconvenience.CommentShareEXPERTGreg_Banswered 10 months agoGreg_B EXPERT10 months agoThe workshop owners have fixed it immediately. Please retry and let us know how you go.Sharecvasilak 10 months agoHello @Greg_B,  works great now 👍  thank you for the prompt reply.Share"


"Hi, my website has been hosted in AWS (Mumbai region) and I have been enable SSL by using putty and putty gen, but recently I have been added cloudflare as a DNS server, after that my website is not responding, it's showing "mydomain.com redirected you too many times, ERR_TOO_MANY_REDIRECTS". I have even clear all the cookies in my browser and also tried from different devices using different browsers but it's showing the same result! How can I fix this?FollowComment"

Answer: "0There's a couple of options here:If your SSL option in Cloudflare is currently set to Flexible, be sure to change it to Full or Full(Strict)If you have HTTPS to HTTP or HTTP to HTTPS redirect rules set anywhere, try removing thoseCommentSharetparrottanswered a year ago"


Question: "Real time interactions, training fails"

"I am trying to train a user-personalization solution in AWS personalize. I am exclusively using real time events i.e. I have not imported any users, items and interactions.I have created an event tracker and pumped more than 1000 events with more than 2 events for 25 users (this limit is mentioned in the documentation).However with just the real time interactions ingested by invoking the "put_events" API, the model training fails with the following message :"An error occurred (InvalidInputException) when calling the CreateSolution operation: Dataset group must contain an INTERACTIONS dataset with successfully completed dataset import job or EVENT_INTERACTIONS"Not having an INTERACTIONS dataset with successfully completed dataset import job, I understand and do not have. But what is this EVENT_INTERACTIONS ? I don't see anything mentioned anywhere.Finally, I have to ask, is it possible to train a solution using a user personalization recipe (aws-user-personalization) with only real time events and no other data ?Will appreciate any insights.P.S. This is implemented in python.Edited by: CarcharodonCarcharias on Oct 26, 2020 1:13 AMFollowComment"

Answer: "0Hey CarcharodonCarcharias,As far as I understand, you must meet the 1000 minimum requirement to train a solution version. You cannot get a working solution version/campaign without it. Once you have the model trained on the 1000 interactions, you can incrementally add to this by using putEvents, putItems, and putUsers, but you will not see the changes from these in the getRecommendations (at least for the putevents actions) until you have successfully retrained a new solution version.Workaround: Since you may have the same problem as me, and simply do not have 1000 interactions available, you can try making some "dummy data" to get the model going, set all the dummy data with a "DUMMY" tag in the ITEMS.csv as metadata, and then remove all of these when getting recommendations using a filter. That seems to work well for me.I hope that helps, let me know if there's any confusion.Best,LawrenceCommentSharelaw-dwganswered 3 years ago0Hello LawrenceThanks for sharing your insights. Based on your experience it does seem like I cannot build a corpus of 1000_ events via the putEvents API and then train a model. I MUST import a csv file with 1000_ interactions and train a model on it and then add subsequent events via the putEvents API.This helped to clear a few things.ThanksCommentShareCarcharodonCarchariasanswered 3 years ago"


Question: crawler cannot get snowflake table

"Hi, i have a crawler that connects by jdbc to a snowflake and the process finishes well, but it doesn't create any table, here the output of the cloudwatch:BENCHMARK : Classification complete, writing results to database correosmaskdbINFO : Crawler configured with SchemaChangePolicy {"UpdateBehavior": "UPDATE_IN_DATABASE","DeleteBehavior": "DEPRECATE_IN_DATABASE" }BENCHMARK : Finished writing to CatalogBENCHMARK : Crawler has finished running and is in state READYthe connector is working fine, if i do a test connection it shows that it was successfull"Successfully connected to the data store with connection snowflake-glue-jdbc-connection2."so, i don't know where is the issue and why the logs shows that it has written to catalog when in fact it has not, thanks for your helpFollowComment"

Answer: "0Accepted AnswerIn the crawler output record (not the log) do you see the number of tables that were created?From the limited info from the logs it seems that the Crawler completed correctly.So either:the crawler has created 0 tables , this should mean that the inclusion pattern may be incorrect and pointing to a Not existing SnowFlake Schema , hence no table found and no table created in the catalog.the crawler has created > 0 tables, that this should mean that the role used by the crawler has the right privileges on the target datatabase, but the role you are using to look at the catalog does not have the right privileges to list the tables.can you provide some additional information on the number of tables created by the crawlers (not looking at the Db but at the crawler output page), and the privileges the role used to access the glue console has?thank youCommentShareEXPERTFabrizio@AWSanswered 23 days ago0Based on the logs you provided, it seems like your crawler has completed successfully and is in the "READY" state, but it's not clear if any tables were actually created.One possibility is that the crawler is configured to only update existing tables and not create new ones. You can check the "SchemaChangePolicy" configuration in the logs to see if this is the case.Another possibility is that there was an error or issue when creating the tables, but this was not captured in the logs. You can try running the crawler again and checking the logs for any errors or exceptions that may have occurred.It's also possible that the tables were created in a different schema or location than you were expecting. You can check the Snowflake database to see if any new tables were created and their location.CommentShareStefanoBanswered 24 days agoWill 24 days agoThe SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler.Logs:INFO : Crawler configured with Configuration {"Version": 1,"CrawlerOutput": {"Partitions": {"AddOrUpdateBehavior": "InheritFromTable"}}} and SchemaChangePolicy {"UpdateBehavior": "LOG","DeleteBehavior": "DEPRECATE_IN_DATABASE"}. Note that values in the Configuration override values in the SchemaChangePolicy for S3 Targets.BENCHMARK : Finished writing to Catalogthe Logs doesn't  show any errors all finished okthere are no new tables created in glue nor snowflakeany ideas?Share"


Question: Simple Email Service bulk recipients limit

"I have a customer (a university) who would like to use SES to handle application-generated out-bound emails to their staff and student body.  They expect to regularly send emails to subsets of students that could be a few thousand.  Occasionally they will need to send an email to the entire student body (13,000).  They are curious whether SES can be configured to support these bulk emails as a single request, or if they will have chunk the recipient list into smaller sets.FollowComment"

Answer: "0Accepted AnswerUsing SES you would probably use the send-bulk-templated-email api this does limit the batches to 50 recipients per call, but that type of volume is definitely doable it just requires looping through and calling that API. They would also need to raise their default daily sending limit.It may also be useful to talk with your customer about Amazon Pinpoint. This would allow them to categorize their users based on attributes: student, faculty, etc... and then send emails to segments based on those attributes. You could also create a campaign that targeted the full student body. In addition they'd be able to add SMS and mobile push notifications if they wanted to do that in the future.CommentShareEXPERTAdam_Wanswered 4 years ago"


Question: Building from chrisgongs tutorials - CloudWatch Alarms Bills?

"So I'm building my own custom code from Chris Gongs (CG) excellent YouTube GameLift tutorials, and I'm starting to get charged for something related to CloudWatch, Alarms.  I go there and click Alarms, and I'm not sure if it is logs being generated for a certain lambda func, or ?  I am currently testing my own lambda func run through the Gateway API which I think is the only thing triggering the charge, again built from CG's code.  It's a small cost right now, but I'd like to understand what is causing it, decide if I need it or can turn it off in order to keep costs efficient for production.The Billing says (I'm trying to work within the free tier as much as possible while learning):$0.10 per alarm metric month (standard resolution) - US West (Oregon)0.935 Alarms$0.09.. for the last couple days.Can someone help me understand what is causing this?  Thanks.FollowComment"

Answer: "0I believe those cloudwatch alarms are specifically for the DynamoDB tables we made during that tutorial series. Since I made them provisioned instead of on-demand, cloudwatch alarms are created so that those tables can scale up or down read and write capacity units in the cases of rising or falling read and write traffic. For small-scale testing purposes, they probably aren't needed so the alarms can be deleted. Note that if you have a lot of variable traffic in a production setting, those alarms will probably be needed for provisioned capacity DyanmoDB tables.CommentSharerePost-User-5100160answered 2 years ago0Thanks.  I was thinking of deleting them to see if the cost's disappeared.  Thanks for the confirmation.CommentSharerePost-User-5424407answered 2 years ago"


Question: How would you upgrade a 1.9 game dll to a 1.10 game gem dll?

"As the title above says, I'm trying to update my game from using the old game dll method that cryengine/lumberyard 1.9- used to the new game gem dll method that was introduced in 1.10.I have been able to copy my over my code and merged my <game name>Game.h/cpp since i was mostly testing the other parts of my code in there.Though I am noticing the gems that I have used for my game are saying that the includes are not valid or something.EDIT: Clarification on the Gem includes. I am trying to use the includes that are exposed by the gems to use in the game gem dll but VS and compiler are saying that the include paths are not valid.Follow"

Answer: "0Accepted AnswerBe sure try update both the gem.json for your project and the gem.json for your game gem.In my TutorialSeries project, that means:dev\TutorialSeries\gems.jsondev\TutorialSeries\Gem\gem.jsonThe second one ends up looking like:    {"Dependencies": [{"Uuid": "352fef7706634c92814c587e84d7165a","VersionConstraints": ["~>0.1"],"_comment": "CryLegacy"},{"Uuid": "453b88cf44d041709924810814c70a70","VersionConstraints": ["~>0.1"],"_comment": "PhysicsWrapper"}],"GemFormatVersion": 3,"Uuid": "7a17c44ce76744e1b646e6d8556372c8","Name": "TutorialSeries","DisplayName": "TutorialSeries","Version": "0.1.0","LinkType": "Dynamic","Summary": "A short description of my Game Project Gem.","Tags": ["Game"],"IconPath": "preview.png","IsGameGem": true}SharerePost-User-9817984answered 6 years ago0Right, "Project Configurator > Create New" created the project folder and a "Gem" folder within that. Moved all of my game dll code into the Source folder. That works fine. The problem that I am having is with Other Gems, such as my SQLite or Cubism3 gems, where when I try to use their buses via including their busses in C++, i.e. "#include <SQLite/SQLiteBus.h>", doesnt work. VS and the compiler say that it cannot find those kind of files that other gems expose via the Include folder in each gem.SharerePost-User-8564951answered 6 years ago0When you create a new gem, the new gem comes already with that what was previously the module of the game. You would need to paste the stuff from your module into that gem-module, paste the stuff from the .waf_files into the gem waf_files list and move the files accordingly.SharerePost-User-5460328answered 6 years ago0Still looking for an answer to this.I cant use any of the gems buses since they rely on includes and the game gem is not adding include paths for gems.SharerePost-User-8564951answered 6 years ago0Have you added dependencies in to your gem.json file?Look at Gems/Multiplayer/gem.json for an example.Adding the dependencies causes the include paths to be included in your gem.SharerePost-User-3816634answered 6 years ago0Sorry for the troubles @REDACTEDUSERSharerePost-User-5738838answered 6 years ago0ok, that worked.Now, why in the hell does that work and why it isnt something that happens by default.SharerePost-User-8564951answered 6 years ago0I'm not sure, but it stumped me for awhile too.But from my tutorial, I saidThis updated our gem.json file in our project (dev\TutorialSeries\gems.json) to include this new gem. You may think this is enough, but you’d be wrong! (Like I was was :( ).:PSharerePost-User-9817984answered 6 years ago"


Question: Proactive maintenance

"Hi, after having in incident in a production environment, my customer is trying to understand in which services are subject to proactive maintenance by AWS, and how this will affect them.In his words:"Is there any official AWS documents that describes the approach to AWS making changes & maintenance to the environments, like the VPN proactive maintenance and how and what is communicated to customers.I have basically said...If it is a change/maintenance that will have service impact (e.g. on a storage gateway or an RDS instance etc) we receive advanced warning on the change and timing.If it is seen to be non service impacting (i.e change on resilient infrastructure e.g. VPG) this is carried out without notification to customer."The incident was related to upscaling a VPN gateway which was not notified to the customer, that is why the customer is now concerned on which maintenance events are notified and which are not, and what services are more likely to undergo a maintenance.ThanksFollowComment"

Answer: 0Accepted AnswerMaintenance alerts are sent via PHD and email to the customers. Email notices are sent to the contacts listed under the root account and often missed by customers due to the fact that the account email is tied to one team whereas the notice may be related to a service used by another team. Most common are the VPN/DX maintenance alerts in my experience. PHD Health Tools can used to add some automation in such cases as it allow Chime/Slack integration among other and could be helpfulCommentShareEXPERTRizwan_Manswered 5 years ago


Question: How to use sagemaker-pyspark in batch inference

"am trying to execute the code belowENDPOINT_NAME = "my-endpoint"from sagemaker_pyspark import SageMakerModelfrom sagemaker_pyspark import EndpointCreationPolicyfrom sagemaker_pyspark.transformation.serializers import ProtobufRequestRowSerializerfrom sagemaker_pyspark.transformation.deserializers import ProtobufResponseRowDeserializerfrom pyspark.sql.types import StructType, StructField, MapType, StringType, IntegerType, ArrayType, FloatTypeattachedModel = SageMakerModel.fromEndpoint(    endpointName = ENDPOINT_NAME,    requestRowSerializer=ProtobufRequestRowSerializer(        featuresColumnName = "col1"    ),    responseRowDeserializer=ProtobufResponseRowDeserializer(schema=StructType([        StructField('prediction', MapType(StringType(), FloatType()))    ])))data=SageMakerModel.transform(attachedModel, df['col1'])I keep getting the below error thoughpy4j.protocol.Py4JError: An error occurred while calling o58.__getstate__. Trace:py4j.Py4JException: Method __getstate__([]) does not exist        at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)        at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)        at py4j.Gateway.invoke(Gateway.java:274)        at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)        at py4j.commands.CallCommand.execute(CallCommand.java:79)        at py4j.GatewayConnection.run(GatewayConnection.java:238)        at java.lang.Thread.run(Thread.java:748)any ideas ?FollowCommentAWS-Raghu 9 months agoCan you share more details on the container that you are using here? Is it one of the SageMaker supported DLCs - https://github.com/aws/deep-learning-containers/blob/master/available_images.mdHave you tested the inference on local?Share"

Answer: "0Hi there,it would seem to me that there maybe an discrepancy in when one of your outputs is returned, they should only be returned after an if else statement and defined within the if else statement. Here is a resource that seems to address a problem similar to yours, perhaps applying a similar strategy will produce significant results.Hopefully this will provide some insight into your problem.Regards NNCommentShareNtiyiso Ngonyamaanswered 9 months agoexorcismus 9 months agoHi Ntiyiso, where do you suggest to add such logic ?ShareNtiyiso Ngonyama 8 months agoHi there exorcismus, I would suggest applying the logic to your predictions in the model itself if applicable.Shareexorcismus 8 months agoHi Ntiyiso, the model and the endpoint works fine and am able to use them for prediction, am not sure how/why implementing that logic affects being invoked from spark, what do you think ?ShareNtiyiso Ngonyama 8 months agoHi exorcismus, it's possible that pyspark version and pyarrow settings aren't compatible with your os and/vm configurations similarly what sudopip was experiencing.Share"


Question: SSO of CLI error

"Hello,I am trying to create an SSO for the CLI at AWS.I used the provided document from AWS:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html#sso-configure-profileIt gives me the URL to log in from my Browser, but I can't complete the step when it is asking to add my alias or username, but not able to log in.Is the issue as I didn't prepare the SSO for the console using AAD?FollowComment"


Question: "Unable to satisfy 100% MinSuccessfulInstancesPercent requirement"

"Hi there,I am new to AWS.Can someone please assist me in setting up an AWS parallele cluster, using spot instances and SGE.I keep getting the following error and I have no idea why:"Cluster creation failed.  Failed events:AWS::AutoScaling::AutoScalingGroup ComputeFleet Received 0 SUCCESS signal(s) out of 4.  Unable to satisfy 100% MinSuccessfulInstancesPercent requirement"Am I missing something in the config file?Thanks in advance,MFollowComment"

Answer: "0Hi,can you please post the following information:Environment:AWS ParallelCluster / CfnCluster version [e.g. aws-parallelcluster-2.4.1]OS: [e.g. alinux]Scheduler: [e.g. SGE]Master instance type: [e.g. m5.xlarge]Compute instance type: [e.g. c5.8xlarge]How to reproduce:A clear and concise description of the steps to reproduce the behavior.Additional context:Any other context about the problem. E.g.:configuration file without any credentials or personal data.pre/post-install scripts, if anyscreenshots, if usefulif the cluster fails creation, please re-execute create action using --norollback option and attach /var/log/cfn-init.log, /var/log/cloud-init.log and /var/log/cloud-init-output.log files from the Master nodeif a compute node was terminated due to failure, there will be a directory /home/logs/compute. Attach one of the instance-id.tar.gz from that directoryif you encounter scaling problems please attach /var/log/nodewatcher from the Compute node and /var/log/jobwatcher and /var/log/sqswatcher from the Master nodeThanksCommentSharelukeseawalkeranswered 4 years ago"


Question: Cannot reach IPv4 Public IP or Public DNS (IPv4)

"Seemingly out of nowhere, I cannot connect to my instance via its IP's. Can SSH fine. Have checked security groups – the relevant ports are open.Tried associating a new elastic IP, same issue. Tried a new EC2 Instance, same issue. Completely stumped.Edit: I've also tried using an older snapshot (where the server worked as expected) and I get the same issue, I think this rules out a linux config issue?Any help appreciated.Instance ID: i-08307058dea01d38bEdited: on Feb 13, 2019 5:12 AMFollowComment"

Answer: 0Terminated the instance.CommentShareMR JH BRIGHTMOREanswered 4 years ago


Question: Allowing my customer's users into my Cognito-authentication-based LMS

"I've developed several native Android and IOS apps as well as a Wordpress LMS that employ a Cognito authentication environment that's working very well authenticating tens of thousands of users with accounts in a single user pool.Now I have an external customer that wants to provide access to my organization's LMS courses to their users.  Their users are authenticated in their portal, and they do not want their users to have to login to my environment or maintain credentials in my environment.  They just want to provide a link to my courses in their portal and then allow their users to seamlessly access these courses.I know there's got to be a way to do that (to have my Cognito environment trust their environment to authenticate their users) using something like Cognito Federated Identities and SAML configuration (or some similar combination) but I'm getting lost understanding first the high-level design of such a solution and then of course the particular implementation.Thank you in advance for any guidance you may give!FollowComment"


Question: AWS Managed AD ADFS user sign-on URL is not accessible outside of ADFS server.

"We have setup a test ADFS on a Windows Server 2019 EC2 in our AWS Managed Active Directory. We have enabled the ADFS sign-on page(example URL: https://sts.contoso.com/adfs/ls/idpinitiatedsignon.aspx).ADFS is successful for signing in with our AD credentials, and for accessing our AWS Console when tested from our ADFS server.The issue is that this URL is only opening when directly logged into the ADFS Windows Server. This sign-on URL is not available from another Windows 2019 EC2 test server that is within the same VPC and subnet. All Security Group ports, and Windows Firewalls are temporarily off on both EC2s. The servers can ping each other and using Nmap it displays all the open ports on the ADFS server.Route 53 has a hosted zone for this AWS Managed domain name, and both the ADFS server and test Windows 2019 server have DNS entries for them.We need to test accessing the ADFS sign-on from outside of the ADFS server. Is there another ADFS URL that is for this purpose or another ADFS configuration that is missing?Both links below were used for setting up ADFS on AWS Managed ADhttps://aws.amazon.com/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/Thank you.FollowComment"

Answer: "0Hello! According to your description, you might be running into either DNS resolution issues or the traffic being blocked by the instance. Please do a nslookup on a separate EC2 instance for the domain name the ADFS website has. If you cannot resolve it, that would explain the issue you are having. If the Managed AD DNS can resolve it, you might need to set a conditional forwarder to ensure the DNS traffic for the zone is sent to the VPC's Route 53 resolver (which is VPC Network address +2, so for example if your VPC is 10.0.0.0/16 then the DNS is 10.0.0.2)If you are able to resolve it, then check the security groups, network acl's and route table. Ensure that TCP 443 is allowed. You can run this Powershell command to validate connectivity:test-netconnection <domain or IP address of ADFS> -port 443CommentShareSUPPORT ENGINEERFrancisco_Lanswered a year agoAWS-User-4415410 a year agoHello Francisco, thank you for your assistance on this question. You guided us to the right direction, and we ended up resolving the issue using the Route 53 Resolver Endpoints. We followed this article, https://aws.amazon.com/blogs/networking-and-content-delivery/integrating-your-directory-services-dns-resolution-with-amazon-route-53-resolvers/ .Share"


Question: AWS  patching policies deployment

"Good day ,Is there a posibility to deploy patching policie with sdk ,API , cli.Because I've only found how to deploy baselines and everything else , but not policies.FollowComment"

Answer: "1Accepted AnswerIf the intent is to automate deploying patching policies then it can be done via cloudformation. Below i am linking the workshop that has more information.https://catalog.us-east-1.prod.workshops.aws/workshops/7c0ea253-6462-41cd-af76-3850c92458fa/en-US/deploymentCommentShareDhilipanswered 11 days agorePost-User-0608631 10 days agoThanks,You've saved me a lot of timeShareDhilip 10 days agoGlad this was helpful!Share"


Question: Show relevant values in a report filter based off top n values in another filter

"I am building a report that has multiple chart views all based off the top n companies. I would like to make available an individual filter for certain views to filter on transportation company. In that filter, i would only like the top n companies to be visible to filter on. Is this achievable? So if top N filter shows x,y,z but there are A-Z companies available to choose from, id only like x,y,z to be visiable in my filter since the top n filter was set to top 3 which equal x,y,z.Thank you in advance for any help.FollowComment"


Question: Non-proxy API integration with Java Lambda fails when error message contains newline characters

"See discussion in https://stackoverflow.com/questions/61474701/aws-api-gateway-integration-response-lambda-error-regex-fails-matching-when-re/72107597#72107597To summarise, given an API Gateway non-proxy (also know as HTTP I think) integration with a Java 8 Lambda, if the lambda handler throws an Exception but the error message in the Exception contains new line characters then the returned JSON from the API is invalid (missing required double quote characters) and doesn't match response patterns so gets the default status code (in my case 200).I'd really like to see this fixed as it is an annoying bug in AWS non-proxy integration that should be pretty easy and obvious to fix.Can this be passed to the appropriate team for fixing please?FollowComment"


Question: mariadb installation issue in amazon linux ec2 instance

"Hi, Can you please help to install maria db in amazon linux ec2 instance. While i was trying to install the server with the below command i am getting the following error as unable to find a match. am i missing anything ?[ec2-user@planetm ~]$ sudo yum install -y mariadb-serverLast metadata expiration check: 4:46:51 ago on Sat Mar 18 17:35:23 2023.No match for argument: mariadb-serverError: Unable to find a match: mariadb-server[ec2-user@planetm ~]$FollowComment"

Answer: "2HiWhich AMI are you using? On Amazon Linux 2023, you need to try "yum install -y mariadb105-server".On RPM based system, you can list the packages available using "yum list | grep -i maria" to find available versions if the above command does not work--SydCommentShareSydanswered 2 months agolzell a month agoThanks! There is also "yum list available maria*"Share0Could you please advise which AMI you are using, the latest Amazon Linux 2023 AMI or Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type, and also check the version of PHP.  Every question has its own merit - I actually do not know your situation.If you use Amazon Linux 2 AMI, please apply the following commands:$sudo yum update -y$sudo amazon-linux-extra | grep mariadb$sudo amazon-linux-extra install -y mariadb10.5  ((note, choose your own version)For Amazon Linux 2023 AMI follow the link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2023.htmlCommentSharerePost-User-7136343answered 2 months ago"


Question: Access Denied Excemtion when Using AWS Elastic Transcoder on website

"I am getting an 403 error when trying to use AWS Elastic Transcoder on my test site and I can’t seem to figure out where the problem lies. I have checked in my IAM policies and identity pools etc. to no avail.The error:GET https:// elastictranscoder.us-east-1.amazonaws.com/2012-09-25/pipelines/xxxxxxxxxxxxx-xxxxxx 403 (Forbidden) index.html:xxx AccessDeniedException: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/Cognito_Unauth_Role/CognitoIdentityCredentials is not authorized to perform: elastictranscoder:CreateJob on resource: arn:aws:elastictranscoder:us-east-1: xxxxxxxxxxxxx:pipeline/xxxxxxxxxxxxx-xxxxxx AWS.config.region = ‘xx - xxx - x’; // RegionAWS.config.credentials = new AWS.CognitoIdentityCredentials({  IdentityPoolId: "xx-xxx-x:xxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx”,});var elastictranscoder = new AWS.ElasticTranscoder();var button = document.getElementById('button');button.addEventListener('click', function() {  var params = {    PipelineId: ‘xxxxxxxxxxxxxx’,    /* required */    Input: {      Key: “xxxxxxxxxx / xxxxxxx.xxx”    },    OutputKeyPrefix: ‘xxxxxxx / ‘,    Outputs: [{      Key: ‘xxxx.xxx’,      PresetId: ‘xxxxxxxxxxxx’,    }, ],  };  elastictranscoder.createJob(params, function(err, data) {    if (err) console.log(err, err.stack); // an error occurred    else console.log(data); // successful response  });});FollowComment"

Answer: "0Solution! turns out I didn't know that I needed to include the AWS access key and secret key in the options section of the elastic transcoder constructor.var elastictranscoder = new AWS.ElasticTranscoder(options = {  accessKeyId: 'xxxxxxxxxxxxxx',  secretAccessKey: 'xxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx'}CommentShareClarelanswered 4 years ago"


Question: Cloudformation - AWS::RDS::DBInstance.Properties.StorageEncrypted behavior change

"Until a couple of weeks ago CF was able to successfully create an RDS passing an empty string to AWS::RDS::DBInstance.Properties.StorageEncrypted, e.g:    "Instance": {      "Type": "AWS::RDS::DBInstance",      "DeletionPolicy": "Snapshot",      "Properties": {         ...        "StorageEncrypted": "",      }    } ``It seems that this behavior was changed and now we explicitly need to pass true/false.Can anyone confirm that the behavior actually changed?This is causing a lot of pain for us because on every deployment we apply the respective CF template.For all the DBs we have created with StorageEncrypted: ""  CF now fails with the error Properties validation failed for resource Instance with message: #/StorageEncrypted: expected type: Boolean, found: StringIf we replace StorageEncrypted: "" by StorageEncrypted: false  it will recreate the DB instance - which obviously we don't want to happen.FollowComment"

Answer: "0Have you tried removing StorageEncrypted: "" entirely?  The default is "false" and if you're lucky this won't trigger a stack update.  Worth a try I think.The best solution though, when you've got time, is to convert your DB to encrypted for best practice.  The process is in summary:snapshot the DB, encrypt the snapshot, then restore (and if you can’t tolerate an outage that long, you’ll need a more complex process involving DMS)resolve stack drift by updating the stack with “DeletionPolicy: Retain” on the DBInstance, then updating the stack with the DBInstance removed, then importing the DBInstance into the stack with “StorageEncrypted: true”.CommentShareEXPERTskinsmananswered 9 months ago"


Question: Java SMTP forced to use TLSv1

"I recently started getting SSL Handshake exceptions when trying to connect to SMTP server email-smtp.us-west-2.amazonaws.comThe underlying error isjavax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)]The only way to get arround this error was to re-enable TLSv1 protocol from java.securityDoes that mean that SMTP server does not support TLSv1.2 ?Is anyone else having this issue? It's pretty recent development for my setup.Edited by: DimaElimu on Jul 28, 2021 10:00 AMFollowComment"

Answer: "0The answer turned out to be my use of outdated jars. When I updated to more modern libraries, it started using proper TLSv1.2CommentShareDimaElimuanswered 2 years ago"


Question: Quicksight disable allow inviting new users by email using cmd/sdk

Hello! Is there anyway to disable the allow inviting new users by email via command line/SDK? A customer wants to make sure that any user  on their account using QuickSight won't be able to invite new users by email.FollowCommentzhangyuanyuan 3 months agogood questionShare

Answer: "1Accepted AnswerYou have the option to disable the invite by email option while setting up the account.If customer already has the account up and running with this option enabled, they can create a support case to have the option disabled from back end.(This option is not exposed via API)CommentShareAWS-User-9130822answered 2 years ago0Yes, it is possible to disable the ability to invite new users by email in QuickSight using the AWS Command Line Interface (CLI) or the AWS SDK. To do this, you will need to use the UpdateAccountCustomization operation in the QuickSight API.Here is an example of how you can use the AWS CLI to disable the ability to invite new users by email in QuickSight:aws quicksight update-account-customization \  --aws-account-id 123456789012 \  --namespace default \  --account-customization '{"enableInviteNewUsersByEmail":false}'In the example above, you would need to replace '123456789012' with the actual AWS account ID for your QuickSight account, and 'default' with the namespace that you want to update. You can also specify additional settings in the account-customization parameter, such as the default email sender name and address.Alternatively, you can use the AWS SDK to call the UpdateAccountCustomization operation in the QuickSight API directly, as shown in the following example:# Import the AWS SDKimport boto3Create a QuickSight clientquicksight = boto3.client('quicksight')Update the account customization settingsresponse = quicksight.update_account_customization(  AwsAccountId='123456789012',  Namespace='default',  AccountCustomization={    'EnableInviteNewUsersByEmail': False  })I hope this helps! Let me know if you have any other questions.CommentShareRobert Dahlborganswered 6 months ago"


Question: reserve capacity for specific period

is it possible to reserve capacity during specific time daily like 9:00 to 18:00 IST ?FollowCommentHemant Chugh a month agohttps://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.htmlShare

Answer: "0Your question is not properly clear but if you are talking about AWS EC2 then yes, it is possible to reserve capacity for your EC2 instances during specific times of the day using AWS Scheduled Reserved Instances.To create a Scheduled Reserved Instance, you can use the AWS Management Console, AWS CLI, or AWS SDKs. When creating the reservation, you will need to specify the following information:Instance typeAvailability zoneStart and end time for the reservationNumber of instances to reserveInstance tenancy (dedicated or default)and read the AWS documentation for more details https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.htmlCommentShareUsman Ahmadanswered a month ago"


Question: Adding columns to  Timestream table in the AWS web query editor

First...is it possible?I am trying to add a column to a table called "MedFlaminator". I just created the table and it has the default layout. Two columns exist:measure_namevarcharMEASURE_NAMEtimetimestampTIMESTAMPMy query looks like this:alter table MedFlaminatoradd column feedback_score intI have tried all kinds of combinations of this query. I am getting the following error:10:58:16 AM FailedThe query syntax is invalid at line 1:1alter table MedFlaminator add column feedback_score intWhat is wrong here?FollowComment

Answer: "0Accepted AnswerI found my answer. Although Timestream uses sql language the database tables are not managed the same way. Timestream tables get columns automatically added based on what data you send them. I highly recommend watching this deep dive (it really isn't that hard). This video is very, very worth while.CommentShareflycastanswered a year ago"


Question: When to propose AWS Network Firewall vs 3rd party options?

"When to propose AWS Network Firewall vs 3rd party such as Paloalto VM Series for network inspection, IDP/IPS etc. In which scenarios native soltuion will not work?FollowComment"

Answer: "0Hi,Can not speak for 3rd party firewalls but as far as AWS Network Firewall is concerned here is some useful information that you can go through:You can see the list of features supported here: AWS Network Firewall FeaturesCompliance validation for Network FirewallBlog explaining Deployment models/design patternsIf you want to try hands-on you can always try the workshop/labAWS Network Firewall FAQsHope this helpsCommentShareEXPERTTushar_Janswered a year ago"


Question: AWS CDK : How can I remove an AWS target group which a FargateService depends on?

"I manage a project which uses AWS CDK. All Fargate services in this project can be accessed through two load balancers. Each service thus lives in two target groups - one for each load balancer.I need to remove one of the load balancers. The first step for this is to remove the add_targets from the load balancer listeners created by CDK :                httpslistener.add_targets(                    service_name + "_target",                    target_group_name=service_name + "-https",                    targets=[                        target.load_balancer_target(                            container_name=service_name,                            container_port=service_list[s]["port"],                        )                    ],                    conditions=[                        elbv2.ListenerCondition.host_headers(                            sorted(service_list[s]["domains"])                        )                    ],                    priority=service_list[s]["priority"],                    port=80,                    [...]                )When I attempt to update the relevant CDK stack, it fails with the following message :Export test-service-stack:ExportsOutputRefalbhttpslistener[servicename]targetGroup805DF3FB5647F5C5 cannot be deleted as it is in use by test-servicestack[servicename]24F3888EThere is no explicity dependency by any service on the target groups set up in the CDK stack. The above piece of clode is the "nearest" I get when it comes to manage the target group. No matter what I try, it fails with the above message.How can I resolve this issue with AWS CDK? Right now, I am unable to remove the redundant load balancer. I'd rather not make changes directly in the AWS console, as this most likely will result in conflicts with the AWS CDK state.FollowComment"

Answer: "0Hello,This could be achieved by using the UpdateService API call. You can view the following doc for more information:https://aws.amazon.com/about-aws/whats-new/2022/03/amazon-ecs-service-api-updating-elastic-load-balancers-service-registries-tag-propagation-ecs-managed-tags/You can try to update the ECS service using CDK with the parameters defined in the above document.CommentShareAditya_Tanswered 9 months ago"


Question: Lab 4 from Coursera

"Hi, Everyone:I'm having issues with Coursera AWS Cloud Technical Essentials with lab 4, I'm having a hard time creating routes. Any suggestions or guidance will be great, I' following the directions and my notes and still struggling with these steps.FollowComment"


Question: IAM Authentication is not available for RDS Instances engines

"Hi Everyone, hope you all are doing great 😁 !!I became aware that not all RDS instances engines and or versions support IAM authentication. After some search I did not find any reference related to this, neither in AWS nor any IaC tool. I did some trial and error in AWS website and came to this conclusion:Amazon Aurora : All Versions supportMySQL : Versions >= 8MariaDB : Version >= 10.6PostGre : Version != 13.7-R1Oracle : Not AvailableMS SQL : Not AvailableCan someone confirm what I found or indicate some official source related to it?For some context, I work on an Open Source Project Named KICS. that checks for vulnerabilities and misconfiguration in Infrasture as Code files like Terraform and CloudFormation. Feel free to check out and try it it's free! 🚀FollowComment"

Answer: 1Accepted AnswerYou can find information on IAM Authentication for RDS here: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDSFeaturesRegionsDBEngines.grids.html#Concepts.RDS_Fea_Regions_DB-eng.Feature.IamDatabaseAuthentication  and for Aurora here: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html#UsingWithRDS.IAMDBAuth.AvailabilityThere is some nuance; i.e. db.t2.small Aurora instances do not support IAM authentication.CommentShareChris Pollardanswered 10 months ago


Question: Redshift MV vs Table

"suppose I have a fact table named my_table.  Now I create a MV for it without any filter nor aggregation.like this:create materialized view public.my_mv diststyle keydistkey (distkey_column)sortkey(      sort_key_column1,      sort_key_column2 ...) auto refresh yesas select * from my_tablethe MV has the same distkey style and sortKeys.do we get any benefits from using the MV instead of base table?FollowComment"

Answer: "4Accepted Answerthe scenario you mentioned, where the materialized view (MV) has the same distribution key, sort keys, and no additional filters or aggregations, you would not gain any significant benefits by using the MV instead of the base table.Materialized views are useful in cases where you want to:Precompute complex or time-consuming aggregations: Since the MV stores the pre-computed results, queries using the MV will be faster.Optimize the data for specific query patterns: You can choose different distribution keys or sort keys to optimize the MV for certain query patterns, improving performance.Reduce the load on the base table: If you have a highly concurrent system with many queries, using an MV can help offload some of the load from the base table, improving overall performance.However, in your example, since the MV and the base table have identical distribution keys, sort keys, and no additional filters or aggregations, the MV is essentially just a redundant copy of the base table. Querying either the base table or the MV would yield a similar performance.In this scenario, it would be more beneficial to simply use the base table and avoid the overhead of managing and refreshing the materialized view.CommentShareEXPERTsedat_salmananswered 2 months ago"


Question: workdocs permission

"How do I set permissions for a single document (power point) in MyDocs, without it automatically sending an email? My goal is to embed the PPT on our wiki and make it visible to all Amazon Employees, but I need to make the PPT accessible with permissions in My Docs first, but obviously NOT send an email to everyone.FollowComment"


Question: Deploying StackSets to OUs with nested OUs

"Hi. I'm trying to deploy a StackSet from the browser console. One target is an OU with a nested OU and an account. It works with no problem, the account in the nested OU is traversed and the stack is deployed to both accounts: the shallow one and the nested one in the child OU.But when I try to deploy it to an OU that has only OUs as children and no accounts it says that the Accounts list is empty.As there is defintely existing functionality to traverse nested OU accounts, the second case behaviour looks like a bug. Can it be fixed? ThanksFollowComment"

Answer: "0Hello there!I have tested the use-case that you mentioned where deployments are made on an OU having only OUs as children but no accounts. However, I haven’t received any errors as such by doing so. Moreover if one or more child OUs are actually empty in the specified OU, there will be no errors thrown by CloudFormation and deploys to OUs that have accounts. (If auto deployment is enabled, for any new accounts added to the empty OUs targeted by the StackSets, a CREATE stack instance operation will be initiated).Finally you can make use of Account Filter Type while deploying to have a much better control on deployments to limit deployment targets to individual accounts or include additional accounts with provided AWS Organizations units (OUs) with your Create, Update, or Delete operations.CommentShareSUPPORT ENGINEERSurya Sakalaanswered 8 months ago"


Question: AWS Transit Gateway Peering Daisy Chain

"Can a AWS Transit Gateway peering be daisy chain in the AWS Gov Cloud?   If you have multiple TGWs in the same region, ie.   TGW-A peer with TWG-B but TWG-B is also peer with TGW-C, TGW-D and TGW-E  where TGW-C, TGW-D, TGW-E is attach to a VPC.  Is this a good design or Is there an alternative design?FollowComment"

Answer: "1Hello,TransitGateway supports Inter as well as Intra-region Peering.See below blog for more information on this topic:https://aws.amazon.com/blogs/networking-and-content-delivery/aws-transit-gateway-now-supports-intra-region-peering/As for Peering you can do fully mesh of TGW peering as shown in the Whitepaper below:https://docs.aws.amazon.com/whitepapers/latest/hybrid-connectivity/aws-dx-dxgw-with-aws-transit-gateway-multi-regions-more-than-3.htmlTypically 1 TGW per region is used but yes, technically you can have multiple TGWs within 1 region and can do Intra-region peering between them.CommentShareEXPERTTushar_Janswered 10 months ago"