Question: Pinpoint Email: CreateConfigurationSetEventDestination API Issue (PHP)

"I'm trying to create an event destination for a configuration set using the https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-pinpoint-email-2018-07-26.html#createconfigurationseteventdestination but it always saying that the Pinpoint Application that I'm trying to add does not exist. I can confirm that the Pinpoint application does exist and is active. The API and Pinpoint also use the same region and account and using the CLI to create it works fine.Here's the example payload that I'm passing to the endpoint:[       'ConfigurationSetName' => 'test,                'EventDestination'     => [                    'Enabled'             => true,                    'MatchingEventTypes'  => ['CLICK'],                    "PinpointDestination" => [                        "ApplicationArn" => 'arn:aws:mobiletargeting:{REGION}:{ACCOUNT_ID}:apps/{ProjectId}',                    ],                ],                'EventDestinationName' => 'test',]The result is:{"message": "Could not find the Pinpoint application: 'arn:aws:mobiletargeting:{REGION}:{ACCOUNT_ID}:apps/{ProjectId}'" }Does anyone experience having similar issue with this particular endpoint?FollowComment"

Answer: "0Hello,Since you are able to create an event destination with the help of CreateConfigurationSetEventDestination CLI command as well as via using console, it doesn't seem to be an IAM or policy related issue.My suggestion here would be to go through you Lambda code once more and check the configuration of configuration set and event destination. As BadRequestException generally mean that the request being made does not follow the proper format or is having wrong set of data. Refer below documentation for creating configuration set[+] https://docs.aws.amazon.com/pinpoint-email/latest/APIReference/API_CreateConfigurationSet.htmlFurther, if you believe the API request is being made properly via your code and is still giving this error, then I would recommend you to open a support case with AWS for further information. If a support case has already been created please be assured we will get back to you and assist you in the best way possibleCommentShareTanya_Ganswered 6 months agorePost-User-6922654 6 months agoYep, a support case has been created. I was certain that I'm passing the correct (and existing) Pinpoint ARN on the endpoint.I've also ruled out the following possible cases just to make sure I did not mess up the configuration:a. I've checked the regions between the session of the API I'm using vs the region where the pinpoint application is located. Both of them are using "us-east-1" since I was able to get the region from the session using the .getRegion method, plus the endpoint will return an error that you are finding a Pinpoint application from a different region if they were different.b. I've also tried using different Pinpoint Applications but all of them return the same results saying that the application does not exist.c. The Pinpoint ARN format as I've got the value from the get-application CLI command and the endpoint will return an error if the ARN has an invalid format.Share"


Question: EC2 vs Fargate for periodic workloads

Context:Workload will be periodic and predictableDon't want to go with on-demand EC2 since most of the time it won't be active.Questions:How we can only spawn an ec2 when we need and close it after it's done with a task?Would fargate be a better choice for this situation?FollowComment

Answer: "0AWS Batch would be highly recommended here.CommentShareRajarshi_Danswered 8 months ago0Also if the processing does not take long (less than 15 minutes), you can consider using Lambda functions - https://aws.amazon.com/lambda/faqs/If your processing can take longer than 15 minutes, you can also consider AWS Step Functions Standard Workflows - https://aws.amazon.com/step-functions/faqs/Both Lambda functions and Step Functions are completely serverless. You don't have to worry about provisioning any infrastructure.CommentShareEXPERTIndranil Banerjee AWSanswered 8 months ago"


Question: Lightsail Container Linux Deployment fails

"Hi,I've tried to deploy an Alpine Linux (AMD64) on a Lightsail Container with one Node and 1GB of RAM.After starting the deployment I get the following error message:[24/Aug/2022:13:08:44] [deployment:3] Creating your deployment[24/Aug/2022:13:09:55] [deployment:3] Started 1 new node[24/Aug/2022:13:10:59] [deployment:3] Started 1 new node[24/Aug/2022:13:11:57] [deployment:3] Started 1 new node[24/Aug/2022:13:12:20] [deployment:3] CanceledAny ideas why this happens? It happens with other Linux distributions too , like Ubuntu 20.4It runs locally on my docker installation though.Best Regards,FrankFollowComment"

Answer: "0Hello,This appears to be a duplicate of your post https://repost.aws/questions/QU8i3bF2BZQZiwKfxGw5CfgQ/how-to-deploy-amazon-linux-on-a-lightsail-container-service in which Syd provided a really informative answer.If the issues are different, please provide more details.CommentShareAWS-Andyanswered 9 months ago"


Question: DRAM zeroed out by fpga-clear-local-image?

"Hi, our application relies on DRAM being cleared (zeroed out) before starting execution on the FPGA. So far, we've been manually zeroing out DRAM through our own mechanism, but I noticed that the description of fpga-clear-local-image states that it "Clears the specified FPGA image slot, including FPGA internal and external memories that are used by the slot."Does this mean that if we do fpga-clear-local-image followed by an fpga-load-local-image, we can rely on DRAM being zeroed out when the AGFI we load starts running?Relatedly, can we also rely on URAMs being zeroed out when going through the same process (clear then load)?Edited by: user2 on Nov 7, 2019 10:23 AMFollowComment"

Answer: "0Accepted AnswerHello,The DRAM is guaranteed to be "cleared out", which means the contents will be wiped, but this does not guarantee the data is zero.  UltraRAM is initialized to 0 on CL load (note no clear is needed).Thanks,-AsifCommentShareawsasifanswered 4 years ago"


Question: Lightsail down?

"For the last 30 minutes, whenever I open the Lightsail console I see the following Error message:** "We're having trouble displaying your resources. Please try again in a minute."**My VPS is running a web server and currently is unreachable (returns status 502).I am not sure if I did something wrong or if it is an AWS failure incident and if I can do anything to fix it.I have very sensitive data on my VPS and I would like to know if I can recover them.FollowCommentGeroen_AWS a year agoHello, thank you for your question. If you want to check if AWS Services are running healthy, you can always refer to the Service Health Dashboard: https://status.aws.amazon.com/ . You can also access a personalised version in your console, via https://phd.aws.amazon.com/phd/home , to understand what the impact - if any - there is on your resources.With the information above, it's hard to reconstruct what could have gone wrong. Did you by any chance perform any actions on the server prior to noticing the failure?Share"

Answer: "0Hello,Thank you for using Lightsail.That message indicates that our web application has retried calls to the server and is unable to load data about your resources. Some of our team members have seen that when they enter a wifi dead zone and can't connect to the internet.If this issue persists after you've ensured your network connection is stable, reach out to customer support. You can assist us in pinpointing this issue by providing them with a recording of the failing network calls (known as a HAR) and having it escalated to the Lightsail Frontend team. Do not post HAR files in a publicly accessible venue to avoid sharing personal data.Here are the instructions for Chrome for your reference:Open Google Chrome and go to the page where the issue is occurring.Look for the Vertical ellipsis button ( ⋮ ) and select More Tools > Developer Tools.From the panel opened, select the Network tab.Look for a round Record button in the upper left corner of the tab, and make sure it is red. If it is grey, click it once to start recording.Check the box Preserve log.Click the round Clear button (on the right-hand-side of the Record button) to clear out any existing logs from the Network tab.Refresh the page to reproduce the issue that you were experiencing before. The network requests will be recorded as you reproduce the issue.Once you have reproduced the issue, in Chrome, click Download button (or right-click in one of the rows under the Name column under the Network tab, and then save the file to your computer: Save all as HAR with Content).Regards,GabrielCommentShareGabriel - AWSanswered a year ago"


Question: "MySQL audit logs returning very little information, and none of it meaningful"

"I'm experimenting with the MariaDB Audit Plugin, on an RDB MySQL 5.7.33 instance. And I don't appear to be getting much.My settings areSERVER_AUDIT_EXCL_USERS-SERVER_AUDIT_FILE_PATH/rdsdbdata/log/audit/SERVER_AUDIT_EVENTSCONNECT, QUERYSERVER_AUDIT_FILE_ROTATIONS-SERVER_AUDIT_QUERY_LOG_LIMIT1024SERVER_AUDITFORCE_PLUS_PERMANENTSERVER_AUDIT_INCL_USERS-SERVER_AUDIT_LOGGINGONSERVER_AUDIT_FILE_ROTATE_SIZE4When I look at the logs in the console, I see "audit/server_audit.log" and "audit/server_audit.log.1" through "audit/server_audit.log.9:"When I attempt to view any of them, all I see is something on the order of this:only a few very recent entries, none of them the slightest bit meaningful. And rather pointedly, absolutely none of the traffic I am personally generating is showing up.FollowCommentTouchtonecorp 10 months agoDays later, and still noting gets any bigger than a few hundred bytes, and it looks like the audit files are being constantly cleared and reset.Share"

Answer: "0Accepted AnswerTurns out I misunderstood the semantics of one of the option group parameters:I thought "SERVER_AUDIT_FILE_ROTATE_SIZE" meant to keep 4 rotations. Not to rotate as soon as it hit 4 bytes. Changing that parameter to 65535 and cycling the option group solved the problem.Maybe it's time for me to (as George Washington put it in a dispatch to the Continental Congress), "retire to the back-country, and live in a wigwam."CommentShareTouchtonecorpanswered 10 months ago"


Question: Media Live service in Java

"HelloI have to develop an application in Java where I have to use the service mediaLive with other aws services. In the documentation (https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples.html), I didn't find a code example for mediaLive to begin with it.Could you tell me how can I develop it or give me links that can help me in my task?Best regardsMariemFollowComment"

Answer: "0Hi Meriem,We are currently still in the process of improving and adding to our documentation but here are some example codes that show how to create an Internet Security Group, an Input and a Channel.private static String createInputSecurityGroup(AWSMediaLive client, String sourceCIDR) {System.out.println("Creating an input security group");InputWhitelistRuleCidr c1 = new InputWhitelistRuleCidr().withCidr(sourceCIDR);ArrayList<InputWhitelistRuleCidr> cidrs = new ArrayList<InputWhitelistRuleCidr>();cidrs.add(c1);CreateInputSecurityGroupRequest createISGRequest = new CreateInputSecurityGroupRequest().withWhitelistRules(cidrs).withTags(Collections.singletonMap("this_is", "an_input_security_group"));CreateInputSecurityGroupResult createISGResult = client.createInputSecurityGroup(createISGRequest);System.out.println("Input Security Group creation completed");return createISGResult.getSecurityGroup().getId();}private static String createInput(AWSMediaLive client, String isgId, String inputType) {System.out.println("Creating a input");CreateInputRequest createInputRequest = new CreateInputRequest().withName("Test").withType(inputType).withInputSecurityGroups(Arrays.asList(isgId)).withTags(Collections.singletonMap("this_is", "an_input"));CreateInputResult createInputResult = client.createInput(createInputRequest);System.out.println("Input creation completed");return createInputResult.getInput().getId();}private static String createChannel(ArrayList<String> inputList, AWSMediaLive client) {System.out.println("Creating a channel");NetworkInputSettings networkInputSettings = new NetworkInputSettings();InputSettings inputSettings = new InputSettings().withNetworkInputSettings(networkInputSettings);ArrayList<InputAttachment> inputAttachments = new ArrayList<>();for (String inputId : inputList) {InputAttachment inpAttach = new InputAttachment().withInputId(inputId).withInputAttachmentName("example.reference." + inputId).withInputSettings(inputSettings);inputAttachments.add(inpAttach);}// HLS output destinationArrayList<OutputDestinationSettings> hlsOutputDestinationSettings = new ArrayList<OutputDestinationSettings>() {{add(new OutputDestinationSettings().withUrl("https://example.com/a"));add(new OutputDestinationSettings().withUrl("https://example.com/b"));}};AudioCodecSettings audioCodecSettings = new AudioCodecSettings().withAacSettings(new AacSettings().withBitrate((double) 96000));AudioDescription audioDescription = new AudioDescription().withAudioSelectorName("default").withName("audio1").withCodecSettings(audioCodecSettings);VideoDescription videoDescription = new VideoDescription().withName("video1").withHeight(720).withWidth(1280).withCodecSettings(new VideoCodecSettings().withH264Settings(new H264Settings().withBitrate(4500000)));OutputGroup hlsOutputGroup = createHlsOutputGroup();EncoderSettings encoderSettings = new EncoderSettings().withTimecodeConfig(new TimecodeConfig().withSource("EMBEDDED")).withAudioDescriptions(audioDescription).withVideoDescriptions(videoDescription, frameCaptureVideoDescription).withOutputGroups(udpOutputGroup, hlsOutputGroup, frameCaptureOutputGroup);InputSpecification inputSpecification = new InputSpecification().withMaximumBitrate("MAX_50_MBPS").withCodec("HEVC").withResolution("SD");CreateChannelRequest createChannelRequest = new CreateChannelRequest().withName("TestChannel").withInputAttachments(inputAttachments).withDestinations(new OutputDestination().withId("utpOutputDestination").withSettings(udpOutputDestinationSettings),new OutputDestination().withId("hlsOutputDestination").withSettings(hlsOutputDestinationSettings),new OutputDestination().withId("frameCaptureOutputDestination").withSettings(frameCaptureOutputDestinationSettings)).withEncoderSettings(encoderSettings).withInputSpecification(inputSpecification).withTags(Collections.singletonMap("this_is", "a_channel"));CreateChannelResult createChannelResult = client.createChannel(createChannelRequest);System.out.println("Channel creation completed");return createChannelResult.getChannel().getId();}private static OutputGroup createHlsOutputGroup() {OutputGroupSettings outputGroupSettings = new OutputGroupSettings().withHlsGroupSettings(new HlsGroupSettings().withDestination(new OutputLocationRef().withDestinationRefId("hlsOutputDestination")).withHlsCdnSettings(new HlsCdnSettings().withHlsBasicPutSettings(new HlsBasicPutSettings()))// Redundant manifests.withBaseUrlManifest("http://example.com/manifest/a").withBaseUrlContent("http://example.com/context/a").withBaseUrlManifest1("http://example.com/manifest/b").withBaseUrlContent1("http://example.com/context/b").withRedundantManifest(HlsRedundantManifest.ENABLED)// No not use timed metadata with fMP4.withTimedMetadataId3Frame(HlsTimedMetadataId3Frame.NONE).withHlsId3SegmentTagging(HlsId3SegmentTaggingState.ENABLED));OutputSettings outputSettings = new OutputSettings().withHlsOutputSettings(new HlsOutputSettings()// Configure this channel with fMP4.withHlsSettings(new HlsSettings().withFmp4HlsSettings(new Fmp4HlsSettings().withAudioRenditionSets("program_audio"))).withH265PackagingType(HlsH265PackagingType.HEV1));// Do not specify an audio description when using fMP4Output output = new Output().withOutputName("HLS output").withVideoDescriptionName("video1").withOutputSettings(outputSettings);OutputGroup outputGroup = new OutputGroup().withName("HLS group 1").withOutputGroupSettings(outputGroupSettings).withOutputs(output);return outputGroup;}ZachCommentShareZacharyb-AWSanswered 2 years agoAWS-User-5967542 a year agohi, how to use MediaLive with output/destination as MediaPackage ?Share0Hi Mariem,Thank you for reaching out on the AWS MediaLive forums with this question.  Here is a link to the AWS Java SDK for AWS MediaLive.https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/medialive/AWSMediaLive.htmlPlease let me know if this is helpful,ZachCommentShareZacharyb-AWSanswered 2 years ago0Thank you zack for answering my question.I'm a beginner in aws services and I have to read all the documentation in details to know how using all these methods and theirs parameters to have a correct code for mediaLive service. Please, there isn't a complete sdk java code example for mediaLive as the the other services?regardsCommentSharemeriemiaganswered 2 years ago0Hi zackThank you very much. That helps me a lot.MariemCommentSharemeriemiaganswered 2 years ago0Do we have the sample code ready now?CommentShareMediaLiveLearninganswered 2 years ago"


Question: Newbie here. CNAME vs Alias

"I have a Domain say "www.example.com" which is hosted on Salesforce. I have a CNAME (www) record that points "www.example.com" to Salesforce Host Server. I do not have a IP address, so no 'A' Record. So far, it all works fine. The problem is "example.com" (naked domain) is a dead end for users. I was wondering that I could use Alias record that points "example.com" to "www.example.com". So to say both "example.com" and "www.example.com" both should point to the same Salesforce Host Server. But I see a note that got me confused.URL: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.htmlParagraph: Unlike a CNAME record, you can create an alias record at the top node of a DNS namespace, also known as the zone apex. For example, if you register the DNS name example.com, the zone apex is example.com. You can't create a CNAME record for example.com, but you can create an alias record for example.com that routes traffic to www.example.com (as long as www.example.com doesn't already have a CNAME record).My confusion -  "(as long as www.example.com doesn't already have a CNAME record)" got me offtrack. CNAME record for www.example.com has to exist, right? Along with CNAME if I also create a ALIAS record will that not solve my problem?FollowComment"

Answer: "1Alias record can point to other Route53 or AWS resources but not to external DNS names or IP addresses.What is meant by that "as long as..." is that the www.example.com record cannot be type CNAME but should instead be any other type of record such as A record pointing to an IP address or to an AWS resource.CommentShareEXPERTToni_Sanswered 9 months agoCorporate 9 months agoHi Toni. Thanks for your response.Can you explain this with an example? As I said, I am a newbie.I am working with a Domain and External Hosting Server only. Not with an AWS resource or an IP address. Is this possible?CNAME record: www CNAME pointing to Salesforce.XXXXXXXXXX.XXX.XX (Host Server)Alias record: 'A' record using the Zone APEX {DomainName.com} pointing to www.{DomainName.com}.Share"


Question: Internal services use ApiGateWay

"Hi, everyone! I have three internal services, is it possible for me to build my own service interact with the three services by apigateway?FollowComment"

Answer: "2Accepted AnswerIf you are asking if it is possible to use API Gateway only within your VPC(s)/account(s) (where callers are also internal) then API Gateway can be configured as a Private API, where only your VPC/accounts can interact with it. See here for an overview.Using Amazon API Gateway, you can create private REST APIs that can only be accessed from your virtual private cloud in Amazon VPC by using an interface VPC endpoint. This is an endpoint network interface that you create in your VPC.Using resource policies, you can allow or deny access to your API from selected VPCs and VPC endpoints, including across AWS accounts. Each endpoint can be used to access multiple private APIs. You can also use AWS Direct Connect to establish a connection from an on-premises network to Amazon VPC and access your private API over that connection.If you want to expose private services within your VPC to the public Internet, you might be looking for a Private Integration:The API Gateway private integration makes it simple to expose your HTTP/HTTPS resources within an Amazon VPC for access by clients outside of the VPC. To extend access to your private VPC resources beyond the VPC boundaries, you can create an API with private integration.CommentShareAaron Doddanswered 10 months ago0Yes you can. There are two different concepts to understand here:a) Creating a private endpoint for API Gatewayb) Having API Gateway access private resources inside a VPCFor the first, refer to this blog - https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/or refer to the AWS documentation - https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-apis.htmlFor the second, refer to this blog - https://aws.amazon.com/blogs/compute/understanding-vpc-links-in-amazon-api-gateway-private-integrations/or refer to the AWS documentation - https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.htmlCommentShareEXPERTIndranil Banerjee AWSanswered 10 months ago"


Question: need help with workspaces

"Thank you in advance!I have a workspace and a worker who logs in every day.I need to retain the workspace but remove access from the worker.  The only option I see is to delete the instance, however I have saved work on the instance and configurations I dont want to delete and have to re-doI dont see a way to change/remove user or change password.  So not sure how to accomplish removing the user without deleting the workstation ??FollowComment"

Answer: "0Hey  alwayslearning123Unfortunately, you cannot retain your Workspace because before removing a user from a WorkSpace, you must delete the WorkSpace assigned to that user first.[1]But you can create a new WorkSpace instance and still keep your old data.Amazon WorkSpaces regularly takes snapshots of both root and user volumes when your WorkSpaces are healthy[2]. You can use these snapshots to recreate your new WorkSpace.[2]Please also note that deleting a WorkSpace is a permanent action and cannot be undone. The WorkSpace user's data does not persist and is destroyed. If you need further  help with backing up user data, contact AWS Support.I  hope this answers your question.RegardsBrendaReferences:[1]https://docs.aws.amazon.com/workspaces/latest/adminguide/manage-workspaces-users.html[2] https://aws.amazon.com/about-aws/whats-new/2019/09/amazon-workspaces-introduces-workspaces-restore-to-healthy-state/CommentShareBrendaManswered 2 years ago0thanks!CommentSharealwayslearning123answered 2 years ago"


Question: multi model endpoints in sagemaker?

"is there a list of containers documented somewhere , that support multi model endpoints ?FollowComment"

Answer: "2maybe this list can help youhttps://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.htmlfirst, choose your region then elect your algorithm then it will show you the docker registryCommentShareEXPERTsdtslmnanswered a month ago0Hi,For information about the algorithms, frameworks, and instance types that you can use with multi-model endpoints, see the official document. Note that it has both cpu and gpu back-end instances. You can always bring your own if not already supported.Hope it helps.CommentShareTina Qiananswered a month agoclouduser a month ago@Tina_Qian - thanks, i went through the documentation, but one thing is not clear to me, are we compressing two trained models into one zipped/tar file?ShareTina Qian a month agoActually not. Basically, the  SageMaker manages the lifecycle of models hosted on multi-model endpoints in the container's memory. Instead of downloading all of the models from an Amazon S3 bucket to the container when you create the endpoint, SageMaker dynamically loads and caches them when you invoke them. When SageMaker receives an invocation request for a particular model, it first routes the request to an instance behind the endpoint, then downloads the model from the S3 bucket to that instance's storage volume. Finally, it loads the model to the container's memory (CPU or GPU, depending on whether you have CPU or GPU backed instances) on that accelerated compute instance. If the model is already loaded in the container's memory, invocation is faster because SageMaker doesn't need to download and load it.Maybe the pictures from  https://aws.amazon.com/cn/blogs/machine-learning/save-on-inference-costs-by-using-amazon-sagemaker-multi-model-endpoints/ is easy to follow and understand.Hope it helps.Share"


Question: Deleting User - Do files remain?

I need to delete a user from our system access.  When I delete the user does all of their uploaded files remain in the system or do they delete too?FollowComment

Answer: "0Hi, deleting a user from IAM will not undo or delete the user's past actions. You do not have to worry about previously uploaded files being deleted.From AWS documentation, deleting a user removesThe userAny user group memberships—that is, the user is removed from any IAM user groups that the user was a member ofAny password associated with the userAny access keys belonging to the userAll inline policies embedded in the user (policies that are applied to a user via user group permissions are not affected)Any associated MFA deviceDocumentation for reference: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deletingHope it helps clarify your question :)CommentSharezwhuanganswered a year ago"


Question: "ECS: Should I use ALB healthchecks, container healthchecks, or both?"

"For ECS services that integrate with my ALB, should I be using the Load Balancer healthchecks or ECS container healthchecks? I'm currently using the ALB healthchecks, but am seeing a Health Status of Unknown in the ECS console (see attached image). I also noticed that ALB connected services are slow to register as healthy with my ECS cluster (compared to services that just use ECS container healthchecks). What is the way to perform healthchecks for ECS services integrated with ALB?FollowComment"

Answer: "0The status is UNKNOWN because the ECS health check is not defined.It is UNKNOWN as per specifications.https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.htmlIf you are using ALB health checks, there is no need to add ECS health checks as well.If the health check path accessed by the ALB health check check checks the normality of the application, then there should be no problem.If ALB is slow to become healthy, it may be a good idea to review the health check thresholds, etc.Incidentally, if both health checks are set, the task will be replaced if one of them becomes UNHEALTHY.CommentShareEXPERTRiku_Kobayashianswered 16 days ago0No need of setting up health checks for ecs container if ALB health check is already in place. Incase your ALB health check is slow then revisit your health check setting in the target group attached with your ALB and look for below.Healthy thresholdPathCommentShareRavi Shankeranswered 15 days ago0I've just been asking myself the same question.I'm sure the previous answers are correct that there is no strict requirement to add ECS health checks, but I absolutely hate that the ECS console is going to report a health status of UNKNOWN forever if I just rely on the ALB.Therefore I am planning to add the ECS health checks anyway.Would be great if AWS could make this a bit more intuitive, maybe add a status of NOT REQUIRED if the health checks are really not required.CommentShareSeverus Dentonanswered 14 days ago"


Question: It is possible to split the billing of the kinesis firehose into the different ones that we had

"Our billing increased by around 35% and we want to know how it is split it the billing by the different kinesis firehose. We are not able to do that, there exist a way to do it?We have been digging into the cost-management and impossible.Thanks in advanceFollowComment"

Answer: "1You would need to use Cost and Usage Report for this.For large accounts/organization we generally recommend creating the report on your Management Payer account (in case with Organizations with multiple accounts), and set it up with hourly granularity, include resource IDs, and use Parquet format so you could later easily query it with Athena.Though, if you have only one account, with limited amount of services that you use, you might decide that initially (to start with) you could create the report in CSV format, use either daily or monthly granularity, but still include resource IDs.The reports are delivered to S3 bucket that you choose or create. Note that it may take around 24 hours for the first report to get delivered, and it's not retroactive (you will only see the data in that report starting from this month and going forward). Then, if it's created in CSV format, you can just download it from your bucket and investigate. However, we recommend setting it up in Parquet format so that you could then easily query the report in Athena service, simply using SQL. It will contain columns related to all services that you use, including the column "resource ID". So, you'll be able to see how much each resource (within each service that you use) costs you.Some additional useful links from CUR documentation:querying CUR with AthenaCUR data dictionary with the list of possible columns and some sample valuesCUR use casesCUR query library with sample queries for AthenaCommentShareEXPERTNataliya_Ganswered 4 months ago"


Question: How to get the full list of words that Amazon Transcribe can recognize for a specific language?

"Hello everybody,in order to improve the transcription results, we're preparing custom vocabularies. We have a large corpus of text and would like to find all words in our corpus that are not yet in the vocabulary of Amazon Transcribe. Where do we find all words that Amazon Transcribe can recognize?Thank you in advance!Best regardsRustamFollowComment"

Answer: "1I know this doesn't answer your question directly but I'm wondering whether you have seen this https://aws.amazon.com/blogs/machine-learning/improving-speech-to-text-transcripts-from-amazon-transcribe-using-custom-vocabularies-and-amazon-augmented-ai/Might give you something to start from.CommentShareKishananswered a year agoRustam a year agoThank you for the link, @Kishan! It is still useful even it doesn't solve my question.Building up your custom vocabulary from low-confidence prediction is definitely a possible alternative.Share"


Question: EC2 Instance not connected to internet?

"HiI have a free tier EC2 Instance with Kali linux running on it, but for some reason I can't ping any website, I can't do apt update or apt upgrade and I can't install any python packages showing me an error in resolving name resolution.Can someone help? Thanks in advance.FollowComment"

Answer: 2Hi - Not very sure on your infra set up whether using Internet Gateway or NAT but these resource would help to troubleshoot more.https://aws.amazon.com/premiumsupport/knowledge-center/ec2-connect-internet-gateway/https://aws.amazon.com/premiumsupport/knowledge-center/ec2-internet-connectivity/CommentShareEXPERTAWS-User-Nitinanswered 8 months agoEXPERTIndranil Banerjee AWSreviewed 8 months ago


Question: Parameter store error in ECS

"We want to call parameter store values through our code dotnet application.We are seeing the below error in our ECS container logs.ParameterStoreHelper : Something went wrong ; The service returned an error with Error Code ParameterNotFound and HTTP Body: {"__type": "ParameterNotFound"}We are using the below code for the functionality.Dictionary<string, string> values = new();AmazonSimpleSystemsManagementClient client = new AmazonSimpleSystemsManagementClient(Amazon.RegionEndpoint.USWest2);var bucketName = client.GetParameterAsync(new GetParameterRequest { Name = "testbucketname", WithDecryption = true }).Result;values.Add("TestBucketName", bucketName.Parameter.Value);Could any one help us how we can resolve this issue and call parameter store values in our applicationThanks in advance,Anil Kumar V.FollowComment"

Answer: "0Accepted AnswerLooks like the app can't find a parameter...?Are you sure parameter is in this region you are calling?Do you app have an permission to access PS?"testbucketname" is the name of the parameter in parameter store right?CommentShareLuke Doroszanswered 24 days ago0Hello Luke, thank you for your reply, we have created parameter in the right region. our app has access to parameter store and "testbucketname"  is the name of the parameter in parameter store. Please let us know in case if we have missed anything related to configuration.CommentShareanil kumar vanswered 22 days ago0Does your task definition include a proper IAM role definition with permission for ssm:GetParameters for your parameter store?CommentShareLuke Doroszanswered 22 days ago0Check this out: https://medium.com/@niamhbgibbons/using-aws-parameter-store-for-ecs-application-secrets-99b8b0556ca8might be helpfulCommentShareLuke Doroszanswered 22 days ago"


Question: Device farm mshop automation : I am getting error related to chrome browser when I try to perform after webview switch

"Hello,I am executing mshop automation from my dev-desktop to device farm.When I perform webview switch and try to perfrom some action, I am getting below error :2023-04-06 14:42:27 [main] INFO  — [GET_TEXT] {SOFTWARE_TITLE_ON_DP} 187ms Value: 'Microsoft 365 Personal | 12-Month Subscription, 1 person | Premium Office apps | 1TB OneDrive cloud storage | Windows/Mac (Email delivery in 2 hours-No CD)'BeforeWebViewSwitchurl/dp/B08C85B28L2023-04-06 14:42:52 [main] INFO  — Switched context to amazon.in by type PARTIAL_URLWebview switch done/dp/B08C85B28L2023-04-06 14:42:52 [main] INFO  — [IS_PRESENT] {ADD_TO_CART} 90ms Value: 'true'org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: unknown error: operation is unsupported on Android(Session info: chrome=111.0.5563.116)(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.13.0-170-generic x86_64)Build info: version: 'unknown', revision: 'unknown', time: 'unknown'I am currently using Public devices. I have created a project and then created a device pool with same.I am currently using the free device minutes for execution.Can somebody help me in resolving this.FollowComment"

Answer: "0Hello, thank you for sharing your query. I believe you are facing errors in performing webview switch in chrome driver.  You may try the below workaround which helps in installing the compatible Chrome Driver version to the Chrome Browser on the device :1. First, add the attached file 'chromedriver-new-wrapper.txt ' to the root of your test package zip file.2. Then, add the following code to your test spec file’s install phase in order to fix the $DEVICEFARM_CHROMEDRIVER_EXECUTABLE:      - chrome_web_version=$(adb shell dumpsys package com.android.chrome    | grep versionName | cut -d"=" -f2|sort |tail -n 1)      - >-        if [ $(echo $chrome_web_version | cut -d"." -f 1) -ge 70 ];        then          proper_chromedriver_version=$(curl -L https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$(python    -c "import sys;print(\".\".join(sys.argv[-1].strip().split(\".\")[:-1]))" $chrome_web_version) 2> /dev/null )          curl -L "https://chromedriver.storage.googleapis.com/$proper_chromedriver_version/chromedriver_linux64.zip   " -o /tmp/chromedriver_linux64_new.zip 2> /dev/null;          unzip /tmp/chromedriver_linux64_new.zip -d /tmp >/dev/null;          mv /tmp/chromedriver $(echo "$DEVICEFARM_CHROMEDRIVER_EXECUTABLE"-orig);          rm -rf $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;          cp $DEVICEFARM_TEST_PACKAGE_PATH/chromedriver-new-wrapper* $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;          chmod +x $DEVICEFARM_CHROMEDRIVER_EXECUTABLE;          $DEVICEFARM_CHROMEDRIVER_EXECUTABLE -v;        else          echo "Defaulting to devicefarm chromedriver version";        fi;Content of  'chromedriver-new-wrapper.txt '  (create the file with below content) :#!/bin/bash# Wrapper for chromedriversighandler() {    pkill chromedriver-orig    exit}trap sighandler SIGINT SIGTERMDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )LOG_FILE="/tmp/chromedriver_wrapper.log"WRAPPER=$( basename "${BASH_SOURCE[0]}" )POSTFIX="-orig"if [ ! -f $LOG_FILE ]then  touch $LOG_FILE  chmod 777 $LOG_FILEfiecho $DIR/${WRAPPER}${POSTFIX} $@ >> $LOG_FILE # Launch real chromedriver and parser on background so script could handle the signals{    $DIR/${WRAPPER}${POSTFIX} $@ 2>&1 | \    while read line ; do        echo $line        # echo $line >> $LOG_FILE         port=$(echo "$line" | grep -Po '.*Received adb response:\K.*' | tr -d ' ')        if [ -n "$port" ] && [ "$chrome_devtools_remote_port" != '' ];        then                echo "[CHROMEDRIVER-WRAPPER] Will Tunnel $port to $chrome_devtools_remote_port for $udid">> $LOG_FILE ;                adb -s $udid forward tcp:$port $chrome_devtools_remote_port; # Uses ADB wrapper for forwarding                chrome_devtools_remote_port="";        else            port=$(echo "$line" | grep -Po 'host-serial:.*:forward:tcp:\K.*?(?=;)')            if [ -n "$port" ];            then                if [ "$port" -gt 1024 ];                then                    echo "[CHROMEDRIVER-WRAPPER] Will Tunnel $port">> $LOG_FILE ;                    ip="$(ip -4 addr show eth0 | grep -Po '(?<=inet\s)\d+(\.\d+){3}')";                    echo curl -H "Content-Type: application/json" -X POST -d '{"ip_address":"'"$ip"'","host_port":"'"$port"'","harness_port":"'"$port"'"}' http://localhost:31007/tunnel >> $LOG_FILE ;                    curl -H "Content-Type: application/json" -X POST -d '{"ip_address":"'"$ip"'","host_port":"'"$port"'","harness_port":"'"$port"'"}' http://localhost:31007/tunnel >> $LOG_FILE 2>&1 ;                else                    chrome_devtools_remote_port=$(echo "$line" | grep -Po 'host-serial:.*;\K.*');                    udid=$(echo "$line" | grep -Po 'host-serial:\K.*?(?=:)');                    echo "[CHROMEDRIVER-WRAPPER] Preparing to Tunnel $chrome_devtools_remote_port for $udid">> $LOG_FILE ;                fi;            else                port=$(echo "$line" |grep 'port'| grep -oP '\s*\d+\s*$'| grep -oP '\d+');                if [ -n "$port" ] && [ "$port" -gt 1024 ];                then                    echo "[CHROMEDRIVER-WRAPPER] Will Tunnel $port">> $LOG_FILE ;                    ip="$(ip -4 addr show eth0 | grep -Po '(?<=inet\s)\d+(\.\d+){3}')";                    echo curl -H "Content-Type: application/json" -X POST -d '{"ip_address":"'"$ip"'","host_port":"'"$port"'","harness_port":"'"$port"'"}' http://localhost:31007/tunnel >> $LOG_FILE ;                    curl -H "Content-Type: application/json" -X POST -d '{"ip_address":"'"$ip"'","host_port":"'"$port"'","harness_port":"'"$port"'"}' http://localhost:31007/tunnel >> $LOG_FILE 2>&1 ;                fi            fi        fi    done} &pid=$!wait $pidYou need to define the $DEVICEFARM_CHROMEDRIVER_EXECUTABLE  environment variable which is the the version of the Chrome browser.Having said that, in case you face further challenges, please feel free to open a support case with AWS using the following link.CommentShareSUPPORT ENGINEERSubhayu_Manswered 2 months ago"


Question: Unzip Component Not Working

"Recipe{"RecipeFormatVersion": "2020-01-25","ComponentName": "com.example.HelloWorld","ComponentVersion": "5.0.15","ComponentType": "aws.greengrass.generic","ComponentDescription": "My first AWS IoT Greengrass component.","ComponentPublisher": "WaterExpert","ComponentConfiguration": {"DefaultConfiguration": {"accessControl": {"aws.greengrass.ipc.mqttproxy": {"com.example.HelloWorld:pubsub:1": {"policyDescription": "Allows access to publish to my/topic.","operations": ["aws.greengrass#PublishToTopic","aws.greengrass#PublishToIoTCore","aws.greengrass#GreengrassCoreIPC"],"resources": ["my/topic"]}}}}},"Manifests": [{"Platform": {"os": "linux"},"Name": "Linux","Lifecycle": {"Run": "python3 {artifacts:path}/main.py"},"Artifacts": [{"Uri": "s3://braydenggctest/main2.zip","Digest": "re9Y7xzQgB8jbZtE0Y3Xg2sd0dZGl3Ydb048fPhDvH0=","Algorithm": "SHA-256","Unarchive": "ZIP","Permission": {"Read": "OWNER","Execute": "NONE"}}]}],"Lifecycle": {}}I can manually unzip the file after deployment but the deployment fails to unzip it (trys to run main.py but file doesn't exist. I can manually unzip and then restart ggc and it'll read it)FollowComment"

Answer: "0Accepted AnswerHi,In order to use archived artifacts in the lifecycle of a component within the recipe, you have to specify the unarchived path of the artifacts which is {artifacts:decompressedPath}. In your case, this will be as shown below where main2 is the name of the zip file and main.py is file inside it."Lifecycle": {"Run": "python3 {artifacts:decompressedPath}/main2/main.py"},Thanks,SaranyaCommentShareSaranyaanswered 2 years ago"


Question: Glue - Job editor error - Exception encountered while creating session

"Hi everyone,Since a few days I have problems with Glue, I can not run any Glue Studio notebook and I always get this exception:Exception encountered while creating session: An error occurred (ResourceNumberLimitExceededException) when calling the CreateSession operation: Failed to meet resource limits for operationTraceback (most recent call last):File "/home/jupyter-user/.local/lib/python3.7/site-packages/aws_glue_interactive_sessions_kernel/glue_pyspark/GlueKernel.py", line 113, in do_executeself.create_session()File "/home/jupyter-user/.local/lib/python3.7/site-packages/aws_glue_interactive_sessions_kernel/glue_pyspark/GlueKernel.py", line 580, in create_session**additional_args)["Session"]["Id"])File "/home/jupyter-user/.local/lib/python3.7/site-packages/botocore/client.py", line 415, in _api_callreturn self._make_api_call(operation_name, kwargs)File "/home/jupyter-user/.local/lib/python3.7/site-packages/botocore/client.py", line 745, in _make_api_callraise error_class(parsed_response, operation_name)botocore.errorfactory.ResourceNumberLimitExceededException: An error occurred (ResourceNumberLimitExceededException) when calling the CreateSession operation: Failed to meet resource limits for operationI've checked all service limits and everything seems fine.Anyone else with this problem? Any solution?Thank you!!FollowComment"


Question: How to force stop a hung aws rds cluster

How to force stop a hung aws rds cluster.  I was upgrading aurora pg 14.5 to 15.2 and cluster is hung in upgrading ...log says .. database system shutting downFollowComment


Question: "Appsync created with CDK, Query not showing results"

"I created an AppSync API via the console, referencing an existing table.  It works well (query list returns all the table records)I then created an AppSync API via CDK.  I copied into my project the schema from the console version.  I defined the table.  I added a Resolver for the "query list"I see the datasource and schema in the cdk version if API. From the console I run the list query.  The response is:{   "data": {     "listMyTables": {       "nextToken": null,       "items": null     }   } }I see in the CloudwatchLogs the full table has been retrieved.  Perhaps there is some "mapping" between the schema.graphql and the cdk parameters, so the information can populate the "items" in the response?FollowComment"

Answer: "0Hello,I understand that you have created AppSync API using CDK, which is returning null response for listMyTables query.Here is a blogpost example on creating AppSync API, using CDK:https://aws.amazon.com/blogs/mobile/building-scalable-graphql-apis-on-aws-with-cdk-and-aws-appsync/In order to troubleshoot this issue, we require details that are specific to AppSync API deployment in your account. We need to evaluate schema definition, resolver, data source, permissions and AppSync logs for your API. Please open a support case with AWS, including these details, using this linkCommentShareSUPPORT ENGINEERIsha_Kanswered a year ago0Thank you Isha.  I opened a support case and received a helpful answer.    I ended up having to provide more detail in my resolver.  I copied the code that was generated in the "console" created api, and pasted it in like below.  With this change, the API functioned as expected:change from this:datasource.createResolver({        typeName: 'Query',        fieldName: 'listCctSharedCallRoutingGlobalDbs',        requestMappingTemplate: MappingTemplate.dynamoDbScanTable(),        responseMappingTemplate: MappingTemplate.dynamoDbResultList(),      });to this:datasource.createResolver({      typeName: 'Query',      fieldName: 'listCctSharedCallRoutingGlobalDbs',      requestMappingTemplate: MappingTemplate.fromString(`      #set( $ListRequest = {        "version": "2018-05-29"      } )      #if( $context.args.nextToken )        #set( $ListRequest.nextToken = $context.args.nextToken )      #end      #if( $context.args.limit )        #set( $ListRequest.limit = $context.args.limit )      #end      $util.qr($ListRequest.put("operation", "Scan"))      $util.toJson($ListRequest)    `),      responseMappingTemplate: MappingTemplate.fromString(`      #if( $ctx.error)        $util.error($ctx.error.message, $ctx.error.type)      #else        $util.toJson($ctx.result)      #end      `),    });CommentSharerePost-User-2237886answered a year ago"


Question: Custom domain for iot endpoint

"I want a custom domain for my mqtt endpoint like mqtt.abc.example.org.I followed this guide https://aws.amazon.com/it/blogs/iot/migrating-devices-aws-iot-custom-domains/All seems to be correct compared with screenshot on guide, but when I domosquitto_pub --cert test-2022b.pem --key test-2022b.key -h mqtt.abc.example.org -p 8883 -d  -t 'test/pippo' -i pub -m "Ciao mondo" --tls-version tlsv1.2 --cafile AmazonRootCA1.pemI got:Client pub sending CONNECTOpenSSL Error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedError: SuccessI also tried with this Python srcipt:from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClientmyMQTTClient = AWSIoTMQTTClient("myClientID")myMQTTClient.configureEndpoint("mqtt.abc.example.org", 8883)myMQTTClient.configureCredentials("AmazonRootCA1.pem", "test-2022b.key", "test-2022b.pem")myMQTTClient.connect()Result: ssl.SSLCertVerificationError: ("hostname 'mqtt.abc.example.org' doesn't match either of 'iot.eu-west-3.amazonaws.com', '*.iot.eu-west-3.amazonaws.com'",)If I use  xxxxxxxxx-ats.iot.eu-west-3.amazonaws.com it works.Server side I use a certificate issued by aws.FollowComment"

Answer: "0Can you please check the certificate your domain is returning? It should look like this:$ openssl s_client -showcerts -servername mqtt.abc.example.org -connect mqtt.abc.example.org:8883CONNECTED(00000003)depth=2 C = US, O = Amazon, CN = Amazon Root CA 1verify return:1depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazonverify return:1depth=0 CN = mqtt.abc.example.orgverify return:1write:errno=0Based on your error message though, I think it won't look like that.CommentShareEXPERTGreg_Banswered a year agoAWS-User-1432942 a year agoI have different results. On windows machine I get alwaysVerify return code: 20 (unable to get local issuer certificate)On linux machine, 1 works, the other give me the seme error as windows machine.If I add to openssl --CAfile AmazonRootCA1.pem it works on every machine.ShareGreg_B EXPERTa year agoWhat is the output when it works? In particular, what CN is returned?Share"


Question: "Bitnami failing to restart. (Drupal, AWS Lightsail)"

"Hi, I'm looking for help resolving a troubling issue regarding bitnami failing to start.  One of my Lightsail instances using bitnami LAMP, with Drupal, is failing to restart. This issue is honestly outside of my wheel-house but its fallen on me to try and fix it.  I have tried figuring it out now for about 72 hours.  Following several posts on the topic, I have run the following diagnostics, and received the following results down below.A. free -mB. df -hC. systemctl status bitnami.serviceD. sudo journalctl -xeRESULTSA. free -mtotal        used        free      shared  buff/cache   availableMem:            1982         191        1500           5         289        1643Swap:              0           0           0B. df -hFilesystem      Size  Used Avail Use% Mounted onudev            981M     0  981M   0% /devtmpfs           199M  416K  198M   1% /run/dev/xvda1       59G  5.1G   52G   9% /tmpfs           992M     0  992M   0% /dev/shmtmpfs           5.0M     0  5.0M   0% /run/lock/dev/xvda15     124M   11M  114M   9% /boot/efitmpfs           199M     0  199M   0% /run/user/1000C. sudo systemctl status bitnami.service● bitnami.service - LSB: bitnami init scriptLoaded: loaded (/etc/init.d/bitnami; enabled; vendor preset: enabled)Active: failed (Result: exit-code) since Mon 2023-02-13 17:06:13 UTC; 5min agoProcess: 3722 ExecStart=/etc/init.d/bitnami start (code=exited, status=1/FAILURE)Tasks: 29 (limit: 2353)Memory: 240.6MCPU: 1.825sCGroup: /system.slice/bitnami.service├─947 php-fpm: master process (/opt/bitnami/php/etc/php-fpm.conf)├─951 php-fpm: pool www├─952 php-fpm: pool www├─953 php-fpm: pool www├─954 php-fpm: pool www├─955 php-fpm: pool www├─956 php-fpm: pool www├─957 php-fpm: pool www├─958 php-fpm: pool www├─959 php-fpm: pool www├─960 php-fpm: pool www├─961 php-fpm: pool www├─962 php-fpm: pool www├─963 php-fpm: pool www├─964 php-fpm: pool www├─965 php-fpm: pool www├─966 php-fpm: pool www├─967 php-fpm: pool www├─968 php-fpm: pool www├─969 php-fpm: pool www├─970 php-fpm: pool www└─982 /opt/bitnami/mariadb/sbin/mysqld --defaults-file=/opt/bitnami/mariadb/conf/my.cnf --basedir=/opt/bitnam>Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 964 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 965 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 966 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 967 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 968 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 969 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 970 (php-fpm) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Unit process 982 (mysqld) remains running after unit stopped.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: Failed to start LSB: bitnami init script.Feb 13 17:06:13 ip-172-26-2-48 systemd[1]: bitnami.service: Consumed 1.754s CPU time.D. sudo journalctl -xeFeb 13 19:49:48 ip-172-26-2-48 dhclient[421]: XMT: Renew on eth0, interval 10100ms.Feb 13 19:49:48 ip-172-26-2-48 dhclient[421]: RCV: Reply message on eth0 from fe80::c2:f4ff:fe6b:8e02.Feb 13 19:49:53 ip-172-26-2-48 sshd[18843]: Received disconnect from 24.199.118.157 port 45194:11: Bye Bye [preauth]Feb 13 19:49:53 ip-172-26-2-48 sshd[18843]: Disconnected from authenticating user root 24.199.118.157 port 45194 [preauth]Feb 13 19:49:58 ip-172-26-2-48 sshd[18845]: Received disconnect from 187.95.162.20 port 22203:11: Bye Bye [preauth]Feb 13 19:49:58 ip-172-26-2-48 sshd[18845]: Disconnected from authenticating user root 187.95.162.20 port 22203 [preauth]Feb 13 19:50:08 ip-172-26-2-48 sshd[18847]: Received disconnect from 34.78.185.36 port 35536:11: Bye Bye [preauth]Feb 13 19:50:08 ip-172-26-2-48 sshd[18847]: Disconnected from authenticating user root 34.78.185.36 port 35536 [preauth]Feb 13 19:50:34 ip-172-26-2-48 sshd[18849]: Received disconnect from 103.211.217.103 port 45502:11: Bye Bye [preauth]Feb 13 19:50:34 ip-172-26-2-48 sshd[18849]: Disconnected from authenticating user root 103.211.217.103 port 45502 [preauth]Feb 13 19:50:35 ip-172-26-2-48 sshd[18851]: Received disconnect from 139.59.121.221 port 33362:11: Bye Bye [preauth]Feb 13 19:50:35 ip-172-26-2-48 sshd[18851]: Disconnected from authenticating user root 139.59.121.221 port 33362 [preauth]Feb 13 19:50:56 ip-172-26-2-48 sshd[18853]: Received disconnect from 159.223.202.231 port 36660:11: Bye Bye [preauth]Feb 13 19:50:56 ip-172-26-2-48 sshd[18853]: Disconnected from authenticating user root 159.223.202.231 port 36660 [preauth]Feb 13 19:50:58 ip-172-26-2-48 dhclient[421]: PRC: Renewing lease on eth0.Feb 13 19:50:58 ip-172-26-2-48 dhclient[421]: XMT: Renew on eth0, interval 9500ms.Feb 13 19:50:58 ip-172-26-2-48 dhclient[421]: RCV: Reply message on eth0 from fe80::c2:f4ff:fe6b:8e02.Feb 13 19:51:12 ip-172-26-2-48 sshd[18859]: Connection reset by 104.191.174.129 port 40154 [preauth]Feb 13 19:51:39 ip-172-26-2-48 sshd[18862]: Received disconnect from 222.119.64.11 port 54872:11: Bye Bye [preauth]Feb 13 19:51:39 ip-172-26-2-48 sshd[18862]: Disconnected from authenticating user root 222.119.64.11 port 54872 [preauth]Feb 13 19:51:39 ip-172-26-2-48 sshd[18864]: Received disconnect from 34.78.185.36 port 37170:11: Bye Bye [preauth]Feb 13 19:51:39 ip-172-26-2-48 sshd[18864]: Disconnected from authenticating user root 34.78.185.36 port 37170 [preauth]Feb 13 19:51:54 ip-172-26-2-48 sshd[18866]: Received disconnect from 187.95.162.20 port 21810:11: Bye Bye [preauth]Feb 13 19:51:54 ip-172-26-2-48 sshd[18866]: Disconnected from authenticating user root 187.95.162.20 port 21810 [preauth]Feb 13 19:52:01 ip-172-26-2-48 CRON[18870]: pam_unix(cron:session): session opened for user bitnami(uid=1000) by (uid=0)Feb 13 19:52:01 ip-172-26-2-48 CRON[18871]: (bitnami) CMD (cd /opt/bitnami/stats && ./agent.bin --run -D)Feb 13 19:52:01 ip-172-26-2-48 CRON[18870]: pam_unix(cron:session): session closed for user bitnamiFeb 13 19:52:02 ip-172-26-2-48 sshd[18868]: Received disconnect from 103.211.217.103 port 36608:11: Bye Bye [preauth]Feb 13 19:52:02 ip-172-26-2-48 sshd[18868]: Disconnected from authenticating user root 103.211.217.103 port 36608 [preauth]Feb 13 19:52:08 ip-172-26-2-48 dhclient[421]: PRC: Renewing lease on eth0.Feb 13 19:52:08 ip-172-26-2-48 dhclient[421]: XMT: Renew on eth0, interval 9660ms.Feb 13 19:52:08 ip-172-26-2-48 dhclient[421]: RCV: Reply message on eth0 from fe80::c2:f4ff:fe6b:8e02.Feb 13 19:52:24 ip-172-26-2-48 sshd[18948]: Received disconnect from 159.223.202.231 port 39616:11: Bye Bye [preauth]Feb 13 19:52:24 ip-172-26-2-48 sshd[18948]: Disconnected from authenticating user root 159.223.202.231 port 39616 [preauth]Feb 13 19:52:27 ip-172-26-2-48 sshd[18950]: Received disconnect from 139.59.121.221 port 38756:11: Bye Bye [preauth]Feb 13 19:52:27 ip-172-26-2-48 sshd[18950]: Disconnected from authenticating user root 139.59.121.221 port 38756 [preauth]Feb 13 19:52:39 ip-172-26-2-48 sshd[18952]: Received disconnect from 24.199.118.157 port 60840:11: Bye Bye [preauth]Feb 13 19:52:39 ip-172-26-2-48 sshd[18952]: Disconnected from authenticating user root 24.199.118.157 port 60840 [preauth]Feb 13 19:53:18 ip-172-26-2-48 dhclient[421]: PRC: Renewing lease on eth0.Feb 13 19:53:18 ip-172-26-2-48 dhclient[421]: XMT: Renew on eth0, interval 9150ms.Feb 13 19:53:18 ip-172-26-2-48 dhclient[421]: RCV: Reply message on eth0 from fe80::c2:f4ff:fe6b:8e02.Feb 13 19:53:19 ip-172-26-2-48 sshd[18954]: Received disconnect from 34.78.185.36 port 46468:11: Bye Bye [preauth]Feb 13 19:53:19 ip-172-26-2-48 sshd[18954]: Disconnected from authenticating user root 34.78.185.36 port 46468 [preauth]Feb 13 19:53:28 ip-172-26-2-48 sshd[18960]: Received disconnect from 103.211.217.103 port 39666:11: Bye Bye [preauth]Feb 13 19:53:28 ip-172-26-2-48 sshd[18960]: Disconnected from authenticating user root 103.211.217.103 port 39666 [preauth]Feb 13 19:53:28 ip-172-26-2-48 sshd[18962]: Received disconnect from 222.119.64.11 port 59804:11: Bye Bye [preauth]Feb 13 19:53:28 ip-172-26-2-48 sshd[18962]: Disconnected from authenticating user root 222.119.64.11 port 59804 [preauth]Feb 13 19:53:44 ip-172-26-2-48 sudo[18973]:  bitnami : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/usr/bin/journalctl -xeFeb 13 19:53:44 ip-172-26-2-48 sudo[18973]: pam_unix(sudo:session): session opened for user root(uid=0) by bitnami(uid=1000)I'm so frustrated with this error!  I really need help trying to overcome it.Thank you in advance for any help you might offer.MyaFollowComment"

Answer: 0Accepted AnswerI was able to resolve this issue by replacing httpd.conf file located in  /opt/bitnami/apache/conf/ file with a backup copy that was made by openssl when it was run to setup ssl. I still have no idea what caused the original error in the first place but its fixed.-- M.CommentShareMya_Bee_802answered 3 months ago


Question: "Getting "{"errorType":"Error","errorMessage":"ENOENT: no such file or directory, open" error on linking local file path to `GoogleAuth` class 'keyFile' property of googleapis"

"I am trying to invoke googleapis through AWS lambda. I am using a google service account to generate server-server authentication.we have stored the service account details in a JSON file name 'config.json'. Inorder to invoke API for google, we need to create auth object using the 'GoogleAuth' class and pass the config file path as a value to the 'keyfile' property. Though we have provided the correct path location of the file, lambda could not recognize the path and throw error.For path, I have tried absolute, and relative paths, using Path package with '__dirname", process.env.cwd(), used environment variable etc. I even tried with assets too. I am using AWS cdk to form cloud formation using nodejs. My intention is to invoke google apis using service account credentials with AWS lambda.import {GoogleAuth} from 'google-auth-library' const auth = new GoogleAuth({    keyFile: 'path/to/file',    scope: SCOPES})undefinedERRORUncaught Exception {"errorType":"Error","errorMessage":"ENOENT: no such file or directory, open '/keys/config.json'","code":"ENOENT","errno":-2,"syscall":"open","path":"/keys/config.json","stack":["Error: ENOENT: no such file or directory, open '/keys/config.json'","    at Object.openSync (node:fs:601:3)","    at Object.readFileSync (node:fs:469:35)","    at Object.<anonymous> (/var/task/index.js:533512:28)","    at Module._compile (node:internal/modules/cjs/loader:1254:14)","    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)","    at Module.load (node:internal/modules/cjs/loader:1117:32)","    at Module._load (node:internal/modules/cjs/loader:958:12)","    at Module.require (node:internal/modules/cjs/loader:1141:19)","    at require (node:internal/modules/cjs/helpers:110:18)","    at _tryRequireFile (file:///var/runtime/index.mjs:912:37)"]}FollowComment"

Answer: "0As mentioned in the NodeJS API error documentation:[+] https://nodejs.org/api/errors.htmlENOENT (No such file or directory): Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.Taking a deeper look at the error, it seems that the error originates from fs readFileSync() function.I am able to replicate this error using fs : const path = require('path');  const fs = require('fs');  exports.handler = async (event) => {     return fs.readFileSync('/keys/config.json') };Assuming that the function has the below directory structure:Function-nameindex.jskeys/config.jsonThe path specified is /key/config.json which will not work as the actual path of the file in the above directory structure is /var/task/key/config.json in lambda execution environment. We need to provide 'keys/config.json'  as shown in the link below: const path = require('path');  const fs = require('fs');  exports.handler = async (event) => {     return fs.readFileSync('keys/config.json')}; // or /var/task/keys/config.jsonMy config.json file contains text 'ABC' and the function returns '65 66 67' (ASCII values) as expected.CommentShareManav_Banswered 2 months agorePost-User-5469480 2 months agoI am not getting above one. Since the KeyFIle prop of GoogleAuth requires filePath to json file. How can I reference the same? That prop is not required content instead file Path. Though I reference the correct file path, that was not recognized by the Lambda environment.Share"


Question: Impact of having a 'dedicated server' vs using Amazon CloudFront CDN on SEO

"One of my customer is using 'http://whois.domaintools.com/ to check the IP details for their website hosted on AWS.In the 'IP Address' section, they see IP a.b.c.d - 3,882 other sites hosted on this server.Their Route 53 www.example1.com resolves to Amazon CloudFront distribution.Compared to some other websites, which shows 'p.q.r.s is hosted on a dedicated server' (who is using NLB/ALB) i.e. www.example2.com pointing to NLB.Does the 'dedicated server' vs '3882 other sides hosted on this server' affect the search engine ranking in any way?FollowComment"

Answer: "0Accepted AnswerSearch Engines are quite familiar with the nature of CDNs and how IP scopes are being reused across the network. From the perspective of what you described I'm not aware of any potential issues or penalties from SEO point of view.In fact, in many cases CDNs affect the SEO rating positively provided they are configured correctly. That positive effect comes from the improved security, faster page loading due to image indexing and other optimizations. Don't worry about the indicator showing you multiple IPs.CommentShareDmitriy_Nanswered 3 years ago"


Question: Increase EKS Fargate storage

"Each pod running on Fargate receives 20 GB of container image layer storage. Is there a way to increase this storage? I noticed there is a way for ECS, but could not find anything for EKS.FollowComment"

Answer: "2Today, you can't update the ephemeral storage associated with an EKS Fargate pod. My suggestion would be to look into mounting an EFS volume.CommentShareChris Pollardanswered a year agoHassan a year agoUnfortunately, EFS volume mounting won't work as 2 of our images are already bigger than 20GiB.Share1hello,I understand you want to know if it is possible to increase storage on EKS, well by default, Fargate tasks that are launched with platform version 1.40 include a task storage size of 20 GiB as a single ephemeral volume. If you need more than 20 GiB of storage, you can configure more storage using two options:1.Use Fargate's ephemeral storage option for storage up to 200 GiB. Ephemeral storage is non-persistent storage.2.Use Amazon Elastic File System (Amazon EFS) volumes for scalable file storage. Amazon EFS volumes provide[1]however this options are only compatable with  fargate ECS storage not EKS  meaning it you can't increase it using either of the above mentioned method as eks doesn't support ephemeral storage(non-persistent)Reference link1.https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.htmlCommentSharestevenanswered a year agoHassan a year agoThat's unfortunate, I don't understand why Amazon doesn't provide this feature for EKS.EFS volume mounting won't work as 2 of our images are already bigger than 20GiB.Share"


Question: CodeBuild takes long time to start build

"Hi AWS,when I start build it takes time about 2 mins to  start the buildafter that it takes much time about 3 mins to build the imageP.S. we pull the image from ECR then start building it,and on running the test cases it takes long time about 9 mins to start the testing stepsso overall the build takes about 18-20 mins/build which is too much timethe build should start under these conditionsPULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENEDfrom Github,we work on eu-Central-1 (Frankfurt)with compute 15 GB memory, 8 vCPUsPrivileged is truealso I have enabled the local cache which did nothingFollowComment"

Answer: "0Hello,I would like to state that the initial process for Provisioning and Building an image might take some time because to pull the image, you would need to access ECR endpoint, login to ECR, get the image, then download the image. So it would require a short amount of time to do that.Coming on to the testing steps for the build. The test case for the build to run might short amount of time or a long amount of time depending on the test cases. For example if you just have ECR login as a test then it would short amount of time. However, if your build contains a chain of command and use-case which need to be validated or run in order to get an output, then it might take more time for the total build to complete.It also depends on the source code repo, whether the test is being performed on the source code or not. This might also be related to the long wait time for build.Please refer the following document on how to Improve Build Performance and Save Time Using Local Caching in AWS CodeBuild:[+] https://aws.amazon.com/blogs/devops/improve-build-performance-and-save-time-using-local-caching-in-aws-codebuild/Note - Please refer to the type of caching best suited for your use-case.CommentShareSUPPORT ENGINEERrePost-User-0470248answered 6 months agoRodaina Sokkar 6 months agoHello,The initial state I meant the very first beginning when I click start build it takes too long to start on the very first command of the pipeline which is not pulling the image or login to ECR it's some other commands,it really takes about 2 mins to start the first command,and about the testing yeah we use test case scenarios so yeah you're right it may be a code thing,and about the local caching I have tried it already and nothing differsShare"


Question: RDS Upgrade - Postgres 12.7 -> Aurora - best way with zero or little downtime

"Good evening ... as the subject states, we are currently running an RDS version of postgres 12.7 and wish to migrate over to Aurora.  I would assume the easiest would be to create an aurora read replica, test all functions (including postGIS), and once confirmed things work, promote that and should be good however the create aurora read replica is not showing on the console.  I saw a few threads about that being a big but that was months ago.This database gets thousands of updates every minute, so really trying to keep the downtime to nothing or as little as possible, so any guidance or help is appreciated.FollowComment"

Answer: 1I've seen the same issue too - I found this discussion which suggests it's a console bug only and the workaround is to use CLI.https://www.reddit.com/r/aws/comments/qcbgfr/option_to_create_aurora_read_replica_of_rds/CommentShareEXPERTskinsmananswered a year ago1This could be a good use case for DMS with continuous replication:use DMS for ongoing replicationmove read endpoints to Auroramove write endpoints to Aurorahttps://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.mysql2rds.replication.htmlCommentShareYoungCTO_quibskianswered a year ago


Question: Not able to login to EC2 instance through putty.

We were not able to login into my EC2 instance through putty and giving error "Network error: Software caused connection abort". We saw on AWS console that EC2 instance was running but still not able to login and also saw that CPU utilization for some period is showing nothing and suddenly showed utilization after few minutes.After that we restarted the EC2 instance and we were able to connect it .Can anyone help me to know why this has happened?FollowComment

Answer: "0Hey there! Warm greetings.You have mentioned that you cannot connect to your instance via PuTTY. Which is giving you an error “Network error: Software caused connection abort”.With regards to the error experienced, this error is usually experienced when using PuTTY to connect to the instance, and occurs when the session is left idle for some time, which causes PuTTY to break the connection. This can be resolved by setting a keepalive by navigating to "Connection" -> "Seconds between keepalives", and setting a value greater than 0. For more information on the error I have added a reference document [1].Further more the CPU utilisation could have showed nothing and after a few minutes showed that it was being utilised because the instance was in a stop state. When it comes to CloudWatch metrics it takes about 5 minutes before it is populated, unless you have detailed monitoring configured which takes about 1 minute to populate the CloudWatch metrics [2].References:[1] https://superuser.com/questions/294824/putty-network-error-software-caused-connection-abort[2] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.htmlCommentShareAntonioanswered a year ago"


Question: Central cloudwatch logs group for vpc flowlogs from multiple accounts

"Hi,I need to sent all the vpc flowlogs to a central cloudwatch group. now I can send it to cloudwatch of the local account's group. but I need to send it to a central cloudwatch log group.can you please help?FollowComment"

Answer: "0Have you taken a look at this blog - https://aws.amazon.com/blogs/architecture/stream-amazon-cloudwatch-logs-to-a-centralized-account-for-audit-and-analysis/CommentShareEXPERTIndranil Banerjee AWSanswered 10 months agoshanmukhaswamy 10 months agoHi we have this architecture in place already and here the target is s3 bucket. but I need to send vpc logs to central cloudwatch log groups and not to s3 bucket. thanks. please advice.ShareIndranil Banerjee AWS EXPERT10 months agoI am not sure if this can be achieved in a straight-forward way as Jason has mentioned. The subscriptions are only possible to Kinesis Data Streams, Kinesis Data Firehose, Opensearch or Lambda. Typically when customers use centralized logging solutions, they use Opensearch or 3rd party solutions like Splunk and KDF can send logs to Splunk and some other tools, or use S3.Share0As you know VPC FlowLogs can publish to Amazon S3 or Amazon Cloudwatch.Publishing flow-logs directly to a log group in another account is not possible, because the VPC Flow-log executes as a service role that you specify with a trust relationship to vpc-flow-logs.amazonaws.com. This service role must exist inside the account that the flow logs reside, it is not possible to assume a role in another account. This process is outlined here.If you try you will receive the following error: An error occurred (InvalidParameter) when calling the CreateFlowLogs operation: LogDestination must belong to the same account as the API caller.If VPC Flow-logs pushes logs to an S3 bucket in another account, the the bucket policy grants permission which means that the flow-log uses a service role in the source account, and the bucket policy allows the write from the service role in the source account.However, if you must publish to a CloudWatch group in another account, you could publish to the CloudWatch group locally in the same account, and the use CloudWatch subscriptions to push the log to Amazon Kinesis streams, Amazon Kinesis Firehose, or to AWS Lambda, which can then publish to CloudWatch log groups in a different account.Without understanding your use-case, I would suggest sharing the data centrally using Amazon S3 as you do today. When the log lands in the central S3 bucket you could use a Lambda trigger add it to CloudWatch if you must.  Something to note, publishing to a CloudWatch log group costs $0.50 per GB in us-east-1, and storing it costs $0.03 per GB. Publishing to S3, will use Kinesis Firehose and Amazon S3:  Kinesis Firehose will cost $0.029 per GB and then storage in Amazon S3 would be $0.023 per GB .CommentShareJason_Nanswered 10 months ago"


Question: "error in lambda , no clue why"

"hi,  we are geting this error in the logs and have no clue why, we have a lambda which does a scan on dynambd, the lambda seems to throw an error count at the time, there seems to be nothing in dynamdb, this is the error, can anyone tell me why this is happening?{"errorType": "ValidationException","errorMessage": "Invalid FilterExpression: Expression size has exceeded the maximum allowed size; expression size: 4172","code": "ValidationException","message": "Invalid FilterExpression: Expression size has exceeded the maximum allowed size; expression size: 4172","time": "2022-09-07T16:12:20.819Z","requestId": "RG2TJNCJ36LIHKIHPJ8V7BQ3ARVV4KQNSO5AEMVJF66Q9ASUAAJG","statusCode": 400,"retryable": false,"retryDelay": 6.469955607178434,"stack": ["ValidationException: Invalid FilterExpression: Expression size has exceeded the maximum allowed size; expression size: 4172","    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:52:27)","    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:686:14)","    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)","    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)","    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10","    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)","    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:688:12)","    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"]}FollowComment"

Answer: "2From the error message, your filter expression seems to be more than 4KB, which is the maximum allowed.It is mentioned in the documentation - https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ServiceQuotas.htmlunder the Expression Parameters section - "The maximum length of any expression string is 4 KB. For example, the size of the ConditionExpression a=b is 3 bytes."CommentShareEXPERTIndranil Banerjee AWSanswered 9 months agoEXPERTBrettski-AWSreviewed 9 months agoSpormeon 9 months agoi'm not sure it is that, as at the exact same time a CORS error is thrown, would the CORS error cause a limit rate?ShareIndranil Banerjee AWS EXPERT9 months agoFrom the error message, it does not look like having to do with CORS. The error is being thrown when the lambda function is trying to do a scan on DynamoDB and from the error message what I can see is that the filter expression max length is being violated.ShareDenis 5 months agoI'm getting the same error when trying to update a item via the management console:Invalid ConditionExpression: Expression size has exceeded the maximum allowed size; expression size: 4255The item has 17KB which is way lower than the 400KB limit for items in DynamoDB.Share"


Question: ECS agent never register instance with loop in userdata script

"Hi,I'm trying to launch an EC2 based ECS cluster with the docker  rexray plugin installed using a cloudformation adapted from https://aws.amazon.com/blogs/compute/amazon-ecs-and-docker-volume-drivers-amazon-ebs/ .In the blog post, the user-data script waits for the ecs service to become responseive by curling in loop ecs metada url (http://localhost:51678/v1/metadata) and in my cloudformation script I'm doing exactly the same.... Properties:      UserData:        Fn::Base64: !Sub |          #!/bin/bash          yum install -y aws-cfn-bootstrap          yum update -y          /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ECSInstanceConfiguration --region ${AWS::Region}                    /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource ECSScalingGroup --region ${AWS::Region}          exec 2>>/var/log/ecs-agent-install.log          set -x          until curl -s http://localhost:51678/v1/metadata; do sleep 1; done          # service ecs stop          # docker plugin install rexray/ebs REXRAY_PREEMPT=true EBS_REGION=${AWS::Region} --grant-all permissions          # service docker restart          # service ecs start      AssociatePublicIpAddress: true      EbsOptimized: 'true'When I launch a new stack with my user-data without the loop "until curl" part the ecs agent starts pretty quickly and register the instance with my ecs cluster properly. However by just adding the loop part, the ecs service never becomes responsive and template goes one until it fails by timeout.I am using an ECS optimized ami (ami-04e333c875fae9d77 region sa-east-1).What may be preventing the ecs service from starting properly? How should I adapt my script in order to install the docker plugin to add extra EBS for my volumes?the entire LaunchConfiguration declaration can be seen below.ECSInstanceConfiguration:    Type: AWS::AutoScaling::LaunchConfiguration    Metadata:      AWS::CloudFormation::Init:        config:          packages:            yum:              jq: []          commands:            01_enable_ecs_cluster:              command: !Sub |                 cat <<EOF >> /etc/ecs/ecs.config                ECS_CLUSTER=${ECSCluster}                ECS_ENABLE_TASK_IAM_ROLE=true                 ECS_ENABLE_CONTAINER_METADATA=true                 ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance                EOF          files:            /etc/cfn/cfn-hup.conf:              content: !Sub |                [main]                stack=${AWS::StackId}                region=${AWS::Region}              mode: 00400              owner: root              group: root            /etc/cfn/hooks.d/cfn-auto-reloader.conf:              content: !Sub |                [cfn-auto-reloader-hook]                triggers=post.update                path=Resources.ECSInstanceConfiguration.Metadata.AWS::CloudFormation::Init                action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ECSInstanceConfiguration --region ${AWS::Region}                runas=root          services:            sysvinit:              cfn-hup:                enabled: 'true'                ensureRunning: 'true'                files:                - "/etc/cfn/cfn-hup.conf"                - "/etc/cfn/hooks.d/cfn-auto-reloader.conf"         Properties:      UserData:        Fn::Base64: !Sub |          #!/bin/bash          yum install -y aws-cfn-bootstrap          yum update -y          /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ECSInstanceConfiguration --region ${AWS::Region}                    /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource ECSScalingGroup --region ${AWS::Region}          RET=0          exec 2>>/var/log/ecs-agent-install.log          set -x          until curl -s http://localhost:51678/v1/metadata; do sleep 1; done          # #docker plugin install --alias cloudstor:aws --grant-all-permissions docker4x/cloudstor:18.03.0-ce-aws1 CLOUD_PLATFORM=AWS AWS_REGION=${AWS::Region} EFS_SUPPORTED=0 DEBUG=1          # service ecs stop          # docker plugin install rexray/ebs REXRAY_PREEMPT=true EBS_REGION=${AWS::Region} --grant-all-permissions          # service docker restart          # service ecs start                AssociatePublicIpAddress: true      EbsOptimized: 'true'      ImageId: !Ref ClusterInstanceImageIdParameter      InstanceType: !Ref ClusterInstanceTypeParameter      IamInstanceProfile: !Ref ECSInstanceProfile      KeyName: !Ref KeyNameParameter      SecurityGroups:      - !Ref ECSInstanceSecurityGroupFollowComment"

Answer: "0Ok, the issue was that  ecs service initialization depends on the finalization of user-data scripts. In order to change this behavior the proper user-data script is for ECS optimized Linux AMI 2 is: #!/bin/bash          yum install -y aws-cfn-bootstrap          yum update -y          /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ECSInstanceConfiguration --region ${AWS::Region}                    sed -i '/After=cloud-final.service/d' /usr/lib/systemd/system/ecs.service          systemctl daemon-reload          exec 2>>/var/log/ecs-agent-reload.log          set -x          until curl -s http://localhost:51678/v1/metadata; do sleep 1; done          docker plugin install rexray/ebs REXRAY_PREEMPT=true EBS_REGION=${AWS::Region} --grant-all-permissions          systemctl restart docker          systemctl restart ecs          /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource ECSScalingGroup --region ${AWS::Region}CommentShareepchavesanswered 4 years ago"


Question: A break shorter than comma

"I am trying to make the following sentence be said naturally by Amazon Polly (using Matthew neural voice) :<speak><prosody rate="80%">For each number i from 1 to n, we add i to the sum. <mark name="end"/></prosody></speak>It needs a break after i, but not as large as a comma. I tried using <break time="0.1s"/>, but no matter how small a time I specify, the break is same as a comma. Is there a way I can cause a natural break after i?FollowComment"

Answer: "0Hi AlwaysLearning, I am a Polly user, I hope my solution can help you.<speak><prosody rate="80%">For each number i from 1 to n, we add i <break time="100ms"/> to the sum. <mark name="end"/></prosody></speak>Please note. "ms" is for milliseconds, so you can vary the length as you like, the maximum break allowed should be 10 seconds.CommentShareLBajardanswered 6 months agoAlwaysLearning 6 months agoThis does not work. 100ms adds as much a break as a comma. So does 50ms. Please try this in the console.Share"


Question: Amazon Base AMI stopped working

"Hello,we had a working setup, which unexpectedly stopped working: deep learning containers on AWS Batch. Our stack consisted of:Compute environments with p3.2xlarge and g4.2xlarge instancesAmazon ECS-optimized GPU AMI (late 2020 and 2021 versions)Docker base image: nvcr.io/nvidia/cuda:10.2-cudnn8-devel-ubuntu18.04Our container has a simple nvidia-smi check. This setup worked throughout February, yesterday we ran some jobs on P3 instances, which started failing. We tried running them on G4, they work as expected.. Since nvidia-smi fails, there must be some sort of CUDA or NVIDIA driver mismatch. Regardless, the AMI IDs and base docker versions have not changed between our tests.The P3 instance itself has the following NVIDIA configuration:NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0We tried the updated AMIs but the issue persists. Any ideas what might be causing these issues?FollowComment"

Answer: "0Hi,Have you been able to solve this issue?I'm experiencing a similar error with a compute environment with p2 instances. I'm trying to run a tensorflow training job that previously has been able to run on GPU, but now it does not find the GPU from the docker container. By manually entering the docker container I have also verified that nvidia-smi fails from within the container, but it works if I manually create a container with GPU mounted from the same docker image and the same instance. It seems like the docker container created by the batch job does not get access to the GPU anymore, even though I specify 1 GPU in the job definition.My compute environment is using ami-0c5652efc27d66bb3 with instance type p2.xlarge. I have also tried using earlier versions of the ami, but it did not solve the problem.CommentSharethepersanswered 2 years ago0@thepers Yes. We were able to deduce that the Batch Console for submitting jobs is buggy!Even though we requested a GPU in the job definition AND in the job submission form, the job instance itself in the Batch Console displays a GPU value of "--".Try using the AWS CLI command "batch submit-job", it worked for us. Please confirm later if it is an issue AWS should be fixing.Edited by: mihaj on Feb 24, 2021 10:39 PMCommentSharemihajanswered 2 years ago"


Question: CDK code refactoring - best practices regarding constructs vs simple classes - logical IDs and stateful resources

"Hi,regarding CDK code refactoring - sometimes I would like to create parent classes which will instantiate some child resources.usually I am create a construct - inheriting from Constructe.g. class Parent(Construct)This has the benefit of adding the parent id to the children ids/names. but also this can cause resources to change logical id when moved around (and thus recreated).On the other hand, I could use simple classes without inheriting Construct. this will have all the refactoring value, but without the logical id changes, but also without the naming hierarchy.Are there any other reasons to favor one over the other?After researching this, i'm adding my take on this below as the answerFollowComment"

Answer: 0Accepted AnswerMy take on the issue:https://medium.com/cyberark-engineering/the-tale-of-aws-cdk-refactoring-logical-ids-and-lost-resources-fe9d91dfecd6CommentShareroybanswered 8 months ago


Question: In cloudwatch dashboards how can I get the number widget to update correctly while I change the time range on the top?

"In cloudwatch dashboard, we can select the time range from the top where it's also possible to select a custom time range so is it possible for us to show the aggregate results in the number widget which has been created. Here, the period was selected to be 1 day and after that, if we select the time range to be anything beyond 1 day (say 3 days, 1 week, 1 month, etc.), we will not be able to see the accurate data as we can't see aggregate values for time range more than 1 day. Is there any way we can fix this so that it shows the correct data?FollowComment"

Answer: "1Accepted AnswerTry looking at the widget settings, under the options, and pick "Time range value shows the value from the entire time range." See if this works for you.CommentShareAWS-SAanswered 9 months ago"


Question: AWS Lightsail - Migrate from Virginia to Paris

"Hi,when we try to migrate our instance from Virginia to Paris, we have the following erros:ErrorCreateInstancesFromSnapshot[eu-west-3]The Amazon Linux blueprint amazon_linux_2016_09_0 is not available in eu-west-3InvalidParamsCould you please help us?Best regards,José Amado.FollowComment"


Question: Making UI elements through LUA

I'm wondering the best approach given the current UI methods we have. Looking to create a inventory like system or a visual queue of actions. Seems like the layout columns and grid would be great for these things. But how do I get new things to populate. Do I make place holders and disable them. I don't see a way to instantiate a UI slice.Follow

Answer: 0Accepted AnswerHi @REDACTEDUSERGreat question. I assume that you are using v1.9?One way to do this is to use the DynamicLayout component. Add it to the same UI element as the LayoutColumn. Then from Lua you can set the number of elements in the LayoutColumn and it will resize to fit that many elements. To set the number of elements use:UiDynamicLayoutBus.Event.SetNumChildElementsThere is an example of using the DynamicLayout in the FeatureTests UiComponents level. It currently uses FlowGraph but is being updated for the next release to use Lua.Components to support Drag and drop are coming soon. Also a CloneElement method that you can call from Lua.SharerePost-User-4854644answered 6 years ago0One additional note. In v1.9 you can instantiate a UI slice at runtime. It has to be flagged as a dynamic slice to do that (set the flag in the Asset Browser). Then use the UiSpawnerComponent to spawn an instance of a dynamic slice.SharerePost-User-4854644answered 6 years ago0@REDACTEDUSERI was able to get the UiSpawnerComponent to work which is awesome. Need to play with it more to get a better understanding on how to use it effectively. Currently this is the flow I gotSpawn a UI Dynamic slice of a Image -> use the spawner Notification bus to get the Slices EntityID -> change the setimagepath to change the image to what I want to show now that I have the EnitityIDNot very elegant or maybe it is not sure. If you have suggestion on how I may make it better please feel free to let me know.SharerePost-User-7445312answered 6 years ago0Hi @REDACTEDUSERhttp://docs.aws.amazon.com/lumberyard/latest/userguide/fg-node-ref-ui-component-dynamiclayout.htmlKeep us updated =)SharerePost-User-8946916answered 6 years ago0Hi @REDACTEDUSERThe recently released v1.10 release of Lumberyard has examples of using the DynamicLayoutComponent from Lua in the SamplesProject UiFeatures example level. There is also a CloneElement on the UiCanvasBus that is exposed to Lua.Also see the new Draggable and DropTarget components. There are examples using them for an inventory style UI in the UiFeatures level.SharerePost-User-4854644answered 6 years ago


Question: translate SNS notifications from SSM to useful readable informations

"Hello,I'm receiving SNS notification after run command (AWS_applypatchbaseline) , but it is containing only instance ID and run command result (failed, success...).Example below :{"commandId":"a55a64ed-b532-4cf0-a9fd-redacted","documentName":"AWS-ApplyPatchBaseline","instanceId":"mi-0529853redacted","requestedDateTime":"2023-03-09T10:00:07.38Z","status":"Failed","detailedStatus":"Failed","eventTime":"2023-03-09T10:19:54.568Z"}I would like to translate this to instance name + run command **output **(where I can see installed KB)Any directions where I should look at ?FollowComment"

Answer: "0Hello,In regards to monitoring run Command and Maintenance Windows tasks, one can configure Amazon SNS notifications for command tasks. [1]The summary that is currently sent from SNS includes fields such as eventTime, documentName etc [2] which I can see in your example message as well.In regards to customization query of an SNS message [3], generally one can leverage a Lambda function instead as a target if and when possible with service. Then, configure that Lambda function to publish a custom message to the Amazon SNS topic. This will help filter for the information you require for a specific use case.In this specific case scenario, I would recommend you to open a case with our Premium Support team for SSM service to confirm if Lambda can be used as a target.I hope the above shared information shed light on your customization query. Please feel free to reach out if you have any questions.References:[1] https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html[2] https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html[3] https://repost.aws/knowledge-center/change-sns-email-for-eventbridgeCommentShareSUPPORT ENGINEERYash_Canswered a month ago"


Question: This site can’t be reached

My WordPress website is showing This site can’t be reached error on the browser. I have hosted my website on AWS lightsail instance.Web: ahmednaazim.comPlease help to resolve the issue.FollowComment

Answer: "1Check that the server's public IP is 13.42.232.161, that is what DNS is returning.Check that the subnet's route table has a route to an Internet Gateway.Check that the Security Group(s) assigned to the instance allows TCP port 80 from 0.0.0.0/0.CommentShareEXPERTkentradanswered a month ago0It appears your domain is registered with a third party and not with AWS, as well as your NS. Could you please check whether your A record is mapped with the domain name, and your security groups rule. Check your instance is on or off.You could have been reached your server limit for your instance, you can resolve this issue by requesting an increase to your EC2 service quotas.You can also follow this link for furhter information.https://repost.aws/questions/QUsakk012zQsmQJpFCSegJoQ/this-site-cant-be-reached-using-lightsail-with-a-wordpress-instance-and-a-route-53-domain-nameCommentSharerePost-User-7136343answered a month ago"


Question: Cloudformation CloudFront CachePolicy showing invalid request provided

I am using AWS CLI together with a yaml file to deploy my CloudFront resource. I am aiming to add a CachePolicy to my CloudFront distribution but I am always getting an "Invalid request provided" error on Cloudformation in AWS console. Is my yaml wrong or am I missing something?Here is a snippet of the cache policy and response headers policy I am using:FollowComment

Answer: "2Accepted AnswerIf you have provided CookieBehavior, HeaderBehavior, and QueryStringBehavior with whitelist value, then you must also provide a list of values that must be included for those parameters. The values should be listed in the the corresponding Cookies, Headers, and QueryStrings parameter for each config.Example for HeadersConfig:          HeadersConfig:             HeaderBehavior: whitelist            Headers:              - AuthorizationCommentSharejoahnaanswered 9 months agoEXPERTToni_Sreviewed 9 months ago"


Question: XCTestUI failing to run on AWS device farm

"hello,I'm trying to set up iOS automation testing using XCTestUI & AWS device farm, but all tests are failing when are ran in device-farm:" container_create_or_lookup_app_group_path_by_app_group_identifier: client is not entitled "To me, it looks like XCTestUI bundle can't access (or find) app group container, but I can't figure out why.I double and triple checked AppGroups permissions but i'm not seeing anything wrong there.Same test are running ok in xcode emulator or on several real devices I have been using. So maybe there's something else I specifically need to be doing for aws device-farm?Any help would be greatly appreciated!FollowComment"

Answer: "0Hi there,As described in our documentation, we resign all apps on AWS Device Farm devices for public device testing. In order to test entitlements (like App Groups) for iOS (https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html), as well as features which we disable via our public device MDM strategy, please reach out to aws-devicefarm-support@amazon.com for information about private devices, which enable you to skip app resigning. Note that these are significantly more expensive than public devices, and a longer-term commitment.Thank you,JonCommentSharesimsjon at AWSanswered 2 years ago"


Question: IAM abac tag problems: User is not authorized to perform: execute-api:Invoke on resource

"I'm trying to call an api-gateway endpoint from my web app but getting the error:User: arn:aws:sts::<number>:assumed-role/my_identity_pool_auth_role/CognitoIdentityCredentials is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:eu-west-2:********9277:<api-gateway id>/test/GET/themeI have a user pool set up in which I've created two groups, one of which I'd like to give access to execute the endpoint mentioned above.The user pool group has an iam role attached with no permissions, but the following trust relationships:{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Principal": {                "Federated": "cognito-identity.amazonaws.com"            },            "Action": [                "sts:AssumeRoleWithWebIdentity",                "sts:TagSession"            ],            "Condition": {                "StringEquals": {                    "cognito-identity.amazonaws.com:aud": "<identity pool id>"                }            }        }    ]}and a tag with:key: user_rolevalue: end_user_basicThe identity pool auth role has permissions and trust relationship below:{    "Version": "2012-10-17",    "Statement": [        {            "Sid": "VisualEditor0",            "Effect": "Allow",            "Action": [                "cognito-identity:*",                "mobileanalytics:PutEvents",                "cognito-sync:*"            ],            "Resource": "*"        },        {            "Sid": "VisualEditor1",            "Effect": "Allow",            "Action": "execute-api:Invoke",            "Resource": "arn:aws:execute-api:eu-west-2:*:<api-gateway id>/*/GET/theme",            "Condition": {                "StringEquals": {                    "aws:PrincipalTag/user_role": "end_user_basic"                }            }        }    ]}{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Principal": {                "Federated": "cognito-identity.amazonaws.com"            },            "Action": [                "sts:AssumeRoleWithWebIdentity",                "sts:TagSession"            ],            "Condition": {                "StringEquals": {                    "cognito-identity.amazonaws.com:aud": "<identity pool id>"                },                "ForAnyValue:StringLike": {                    "cognito-identity.amazonaws.com:amr": "authenticated"                }            }        }    ]}In the identity pool settings, I have 'authenticated role selection' set to 'user default role' and 'attributes for access control' set to 'use custom mappings' with the below:Tag key for principal: user_roleAttribute name: user_roleAnd when I make the request, my id token has a payload something like below:{  "sub": ...,  "cognito:groups": [    "<the correct cognito user group>"  ],  "iss": ...,  "cognito:username": ...,  "origin_jti": ...,  "cognito:roles": [    "<the correct iam role with tag attached>"  ],  "aud": ...,  "event_id": ...,  "token_use": "id",  "auth_time": ...,  "exp": ...,  "iat": ...,  "jti": ...,  "email": ...}so the user belongs to the correct group with the correct iam role applied.I'm new to AWS so I'm sure i'm missing something daft but if somebody could point me in the right direction I'd be grateful.As an aside, if I remove the condition below:"Condition": {                "StringEquals": {                    "aws:PrincipalTag/user_role": "end_user_basic"                }            }from the identity pool auth role, I can make the api call successfullyFollowComment"


Question: Athena ODBC - Multiple Catalogs

"Hello. We have multiple catalogs (data source) in Athena that we would like to access in Power BI. We have set up an ODBC connection and include authentication option -- tested the connection successfully. In Power BI service, we can only see AWSDataCatalog. I found the following post on a workaround:https://repost.aws/questions/QUmVMMXsHoT6qdsr0D4NYSWg/athena-odbc-connector-for-power-biEssentially, we would need to write an SQL statement. Our desired state is to be able to return all our catalogs in Power BI (two of these are also cross account). When I wrote the following query in the SQL Statement section, I receive an error:select * from xacc_athena_data_catalogAn exception occurred: ODBC: ERROR   (1040) An error has been thrown from the AWS Athena client. Error Message: SYNTAX_ERROR: line 1:15: Table xacc_athena_data_catalog.default.xacc_athena_data_catalog does not existLooking for suggestions to expose all the catalogs in Power BI service through Athena ODBC. Thank you!FollowComment"

Answer: "0Could you please enable the driver debug logging in ODBC Data Source Administrator (page 33 in documentation [1]), then re-run the query and upload the driver logs in a support case with Athena support team ? We can debug the issue and raise a request with development team if needed.LINKS:[1] https://s3.amazonaws.com/athena-downloads/drivers/ODBC/SimbaAthenaODBC_1.1.6.1000/docs/Simba+Athena+ODBC+Install+and+Configuration+Guide.pdfCommentShareSUPPORT ENGINEERVishali_Nanswered a year ago"