- Видео 50
- Просмотров 174 410
Endre Synnes
Норвегия
Добавлен 27 фев 2012
Bye bye Kubernetes, hello Serverless! Follow my channel to learn how to develop serverless applications in the cloud. I’m a big fan of serverless applications and making the most out of every managed service that cloud providers can provide. The cloud provider that I’ll make use of is AWS.
My videos are aimed at developers just getting started with programming in general, and cloud development. I will also make videos for the more experienced developers where I explain best practices and deep dive into infrastructure as code, using The Serverless Framework and Terraform.
I will try to post new videos on a two-week basis on Mondays, but some videos may be delayed a week if I have too much else going on or if it is a topic that require more research on my part.
My videos are aimed at developers just getting started with programming in general, and cloud development. I will also make videos for the more experienced developers where I explain best practices and deep dive into infrastructure as code, using The Serverless Framework and Terraform.
I will try to post new videos on a two-week basis on Mondays, but some videos may be delayed a week if I have too much else going on or if it is a topic that require more research on my part.
Static Website Hosting - AWS CloudFront and S3 - Terraform
Learn how to host a website with your own custom domain, using AWS CloudFront and S3. This video contains two demos; firstly a step by step guide for how to deploy your website using the AWS Console, then we’ll do the same using infrastructure as code, more specifically Terraform.
Timestamps:
0:00 - Intro
1:39 - What is CloudFront?
2:53 - Why should you use CloudFront?
4:36 - Demo (AWS Console)
20:06 - Demo (Terraform)
- Terraform Introduction video: ruclips.net/video/fZ0DvUwQEcI/видео.html
- Custom Domain (Route53) and Certificate (ACM) video: ruclips.net/video/ookzXuMr8eY/видео.html
- CloudFront Cache Policies docs: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-...
Timestamps:
0:00 - Intro
1:39 - What is CloudFront?
2:53 - Why should you use CloudFront?
4:36 - Demo (AWS Console)
20:06 - Demo (Terraform)
- Terraform Introduction video: ruclips.net/video/fZ0DvUwQEcI/видео.html
- Custom Domain (Route53) and Certificate (ACM) video: ruclips.net/video/ookzXuMr8eY/видео.html
- CloudFront Cache Policies docs: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-...
Просмотров: 4 124
Видео
Terraform introduction
Просмотров 21710 месяцев назад
In this video I’ll give you an introduction to Terraform and IaC (Infrastructure as Code) in general. I will cover terraform concepts like; providers, modules, resources, state, etc. Also, I’m going to give you some pointers for best practice, as well as try to convince you why you should use Terraform (or IaC in general) for your next project. Timestamps: - 0:00 Intro - 0:50 What is IaC and h...
What is AWS IAM?
Просмотров 311Год назад
What is AWS IAM? Why do we need it and what is an IAM Policy? In this video I’ll try to answer these questions and more. This is a relatively in-depth introduction to the IAM service, which all AWS developers love and hate. Timestamps: - Intro: 0:00 - Identities: 1:02 - IAM Policies: 2:26 - Limit access: 4:47 - Conditional statements: 6:38 - Permission boundaries: 7:22 - Limitations with AWS I...
AWS Parameters and Secrets Lambda Extension - SSM Parameters
Просмотров 1,7 тыс.Год назад
How can Lambda Parameter- and Secrets-Extension make it more efficient to retrieve parameters from AWS Systems Manager Parameter Store? In this video I’ll discuss what this new extension is and why you should consider using it for your Lambda functions. Timestamps: - Intro: 0:00 - Example diagram: 2:44 - Create SSM Parameter: 5:17 - Create Lambda function: 5:43 - Create IAM Policy: 10:36 - Dem...
AWS Lambda SnapStart
Просмотров 715Год назад
Lambda SnapStart was introduced during the AWS Re:Invent 2022. This is a feature that will make a big difference for developers using Java in their AWS Lambda functions. In this video I will first talk about what SnapStart is, then give you a practical demo of how to enable It in your Lambda functions, as well as some tests to see if this feature actually is something to consider. Timestamps: -...
Enable HTTPS and a custom domain on you S3 bucket using CloudFront
Просмотров 9 тыс.2 года назад
#aws #serverless #cloudfront #s3 What is CloudFront and why do you need it for your web applications? In this video I’ll try to answer this question, as well as show you how you can use CloudFront to enable secure communication with HTTPS to a static webpage hosted on Amazon S3. We will also make use of a custom domain. I will assume that you have watched my video on how to Create a Route53 Hos...
AWS Secrets Manager - Rotate Secrets
Просмотров 12 тыс.2 года назад
In this video we will learn how to enable rotation of secrets in AWS Secrets Manager. This is a very useful feature which can provide an extra level of security for your Cloud applications. We will configure rotation for an existing Secret and write our own rotation function using AWS Lambda. Timestamps: - Intro: 0:00 - Secrets Manager config: 1:27 - Create rotation function: 5:19 - Configure ...
AWS Route53 - API Gateway custom domain
Просмотров 10 тыс.2 года назад
In this video I’ll show you how to make use of a Route53 Hosted Zone and ACM SSL certificate, to create a custom domain for you API Gateway. Timestamps: - Intro: 0:00 - Walkthrough of demo API: 1:46 - Create custom domain: 3:01 - Attach custom domain to API: 6:00 - Add record to Route53 Hosted Zone: 6:40 - Time for testing: 8:35 AWS Route53 routing policies: docs.aws.amazon.com/Route53/latest/...
AWS Route53 - Domain and SSL Certificate using Hosted Zones and ACM
Просмотров 44 тыс.2 года назад
In this video we will learn how to create a Route53 Hosted Zone for your web domain. We will also learn how to create a SSL certificates for our domain using AWS Certificate Manager (ACM). Timestamps: - Intro: 0:00 - Create Route53 Hosted Zone: 1:22 - Create SSL Certificate using ACM: 2:28 - Certificate validation: 4:40 Documentation: - Register domain using AWS: docs.aws.amazon.com/Route53/la...
Send records to Kinesis using AWS Lambda
Просмотров 6 тыс.2 года назад
Send records to Kinesis using AWS Lambda
Subscribe from a Kinesis Data Stream using AWS Lambda
Просмотров 3,9 тыс.2 года назад
Subscribe from a Kinesis Data Stream using AWS Lambda
Sending messages to SNS from AWS Lambda
Просмотров 12 тыс.3 года назад
Sending messages to SNS from AWS Lambda
Sending messages to SQS from AWS Lambda
Просмотров 17 тыс.3 года назад
Sending messages to SQS from AWS Lambda
AWS Systems Manager (SSM) Parameter Store and AWS Lambda
Просмотров 8 тыс.3 года назад
AWS Systems Manager (SSM) Parameter Store and AWS Lambda
Serverless Aurora Database and AWS Lambda
Просмотров 6 тыс.3 года назад
Serverless Aurora Database and AWS Lambda
Serverless - DynamoDB and File Structure
Просмотров 1983 года назад
Serverless - DynamoDB and File Structure
REST API Gateway - Add authentication using a Cognito authorizer
Просмотров 2,8 тыс.3 года назад
REST API Gateway - Add authentication using a Cognito authorizer
REST API Gateway - Request body validation
Просмотров 2,7 тыс.3 года назад
REST API Gateway - Request body validation
HTTP API Gateway part three - Redirect users using AWS Lambda integration
Просмотров 2 тыс.3 года назад
HTTP API Gateway part three - Redirect users using AWS Lambda integration
HTTP API Gateway part two - AWS Lambda integration for HTTP GET requests
Просмотров 8273 года назад
HTTP API Gateway part two - AWS Lambda integration for HTTP GET requests
HTTP API Gateway part one - AWS Lambda integration for HTTP POST requests
Просмотров 2,7 тыс.3 года назад
HTTP API Gateway part one - AWS Lambda integration for HTTP POST requests
Lambda triggers - Trigger lambda function when a file is uploaded to Amazon S3
Просмотров 1,2 тыс.3 года назад
Lambda triggers - Trigger lambda function when a file is uploaded to Amazon S3
this is really great. !! Love you :) I'm from now on subscribed
great resource thnks
I configured successfully ec2 instance with running state and upload resource on aws server but I still cannot connect to its public IP
thank you veeery much, you help us a lot
Glad I could help!😄
One of the best Terraform tutorials I've ever seen...
Thank you so much! 🤩
Hi, I purchased a domain in godaddy and I followed these steps. However, it is still not working
Hi 😄 could you elaborate what exactly dosen't work? Isn't the SSL Certificate successfully validated in AWS Certificate Manger?
AWSLambdaSQSQueueExecutionRole is such a misleading and st*pid way to name a policy, you would think it allows Lamda to send message to SQS. But it only allows Lambda to read from SQS. Damn AWS really is bad at naming stuff.
So true 😅 The only AWS managed policy that allows it (that I know of) is the "AmazonSQSFullAccess". Then again this way too wide of a policy to use in a production environment.
Free or paid ssl certificate
The ssl certificate itself (created using AWS Certificate Manager) is free, as far as I know😊
Thanks a lot. It was very helpful for me.
I’m glad you found it helpful😄 btw I have created an updated version of this video, which also includes how to set it all up using Terraform: ruclips.net/video/U9n6N56neuo/видео.html
Perfect. Saved my life. I needed it and was doing it wrong. Thank you very much.👏👏👏
Thank you so much! Great to see it was helpful!😄
Thank you so much. I spent a lot of time searching Google without finding a solution, but after following your video, I finally managed to apply SSL to my website. I really appreciate your help!
That’s great you found it helpful 😄🙌🏼
Don't we have to register the domain?
Yes that’s right, I mention It as a prerequisite at 0:30 😄
When you regiter a domain from aws, it creates hostedzone automatically^ To those who're new to all purchasing domains. It will help you out. Look in the left panel of Route53 and you can find Register Domain option.
Yes that’s right, that way you also don’t need to manually register the name servers of your Hosted Zone with your domain prover. The reason why I didn’t register it with AWS was that it at that time were cheaper to register it elsewhere 😊
Thank you so much for the valuable time you spent on this video!
Thank you so much, I'm glad you liked It! 😄
Thank you for the detail! That worked. :)
I’m glad you found it helpful 😄
This video is a gem ❤
Thank you so much! 😄
It was surprising how simple the code is to redirect a user. I wonder is it possible to redirect a POST request, too?
Hi 😄 Yes It can be quite simple to do that for HTTP GET requests 🙌 Depending on your requirements, doing redirects for POST requests may not be as simple. Do you want your users to be redirected as a respons for your POST request (this can be achieved quite easily)? Or do you want the POST request itself to be redirected to another API?
@@EndreSynnes I wanted to modify the parameters they sent in their POST request and return a redirect with the updated params so they would make an updated POST request. In the end, I just did it for them and returned the response. But I'm still curious if it's possible to say 'naw, send your POST request here instead of to me. '
@@deemon710 I see, my initial thought is that you have to handle this on the client/front-end🤔 I’m not sure a web browser is “smart enough” to perform the same POST request to another API given a 3xx response by itself 😅 Alternatively if you control both domains for the two applications, I guess you could just point the old domain to the new application as well, using for example Route53? Then again you wouldn’t be able to manipulate the parameters before hitting the new API. Unless you intend use a lambda function (or similar) to forward the http request to the new API🙈
Amazing video! I'm doing a university assignment where i have to create a URL-shortener using AWS, and after watching hours of content about redirects and APIs and not understanding anything, it's amazing how simple and well-paced this video is!
Thank you so much!😄 That sounds like an interesting assignment, especially that you are using AWS to do that😄 Thank you, it's great to see that people find my videos helpful!
how can i do it without the "hello"
Hi😄 What do you mean without the “hello”? The default root object: hello.html points to the hello.html inside the S3 bucket. You can of course change this to any file you want inside your S3 bucket😊 If you don’t set a default root object in CloudFront, then your user have to specify it when accessing your website (which isn’t ideal)😅 Please let me know if I misunderstood what you meant😊
Great video, wish to see lots of videos on AWS Terraform in details with step by step explanations, please kindly make videos on AWS NETWORKING, S3,EC2, Backups, IAM Roles and everything related to AWS Infrastructure configuration and management using Terraform in details
Thank you so much! 😄 Thank you for the suggestions, I will look into these AWS services using Terraform in future videos 😄
I was hoping there was a way to send the message to the SQS queue without needing to know the exact SQS URL. Similar to how you can call other Lambdas without hitting the function URL when already in a Lambda.
Hi 😄 I would also like that, but the only way to do that (that I have seen), is to first call the "get_queue_url" function: boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/get_queue_url.html
I followed every step as it is, but I'm still not getting https, please help!
Hi 😄 I'm sorry for the late response. What do you mean you're not able to get HTTPS? Have you made use of the certificate in for example your CloudFront distribution or API Gateway?
Hello Endre , I have created s3 bucket and uploaded index.html file that is website , created custom url under object url, now custom url is not working , showing Not Found The requested URL was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Could you give me any solutions?
Hi, I'm sorry the late respons. Were you able to figure out the issue? It's hard for me to tell what the issue could be without seeing the configuration, but It may be some missing permissions where CloudFront can't access the S3 content. I will be publishing a new video replacing this one today (11am CET). It will among other things contain an update regarding how CloudFront access content in S3.
2 years later and this video is still extremely helpful and useful! Your style and pacing was great as well! Thanks for concise and helpful tutorial
Thank you so much!😄
short video with a big content. just great 👍 !
Thank you so much!😄
I have one qq related the redirect .. I have UI Application running on ECS and the Authentication is set in the Application using OAUTH2 .. I am accessing this application using route53 -> API Gateway -> NLB -> ALB -> ECS .. the first index page loads perfectly and then when I click login button with OAUTH2 ... authentication is successful and the OAUTH server is sending a redirect URL .. but after that second page is not loading ..its saying page cannot be found ... have you seen this issue before we have VPC Integration with API gateway and Lambda Authorizer is also enabled with API Gateway
Hi, I'm sorry for the late response. Thanks for the question and explanation of your setup. Still, it's kind of hard to know exactly where this can go wrong since there are a lot of services and config in play 🤔 Did you manage to figure out the issue?
excellent video, thank you very mutch Endre
Thank you so much!😄
Looks great. Can you create a service which can consume database (prefer Aurora RDS ) CRUD operations events and pass to a lambda function to trigger a notification.
Thank you so much!😄 I’m not sure exactly what you mean, do wonder if you can perform CRUD operations to an Aurora RDS database from a lambda function, or do you want a lambda function to somehow listen to CRUD operations against an RDS database performed by some other application? Please let me know if I misunderstood 😄
Thank you Sir
Thank you Sir
million thanks man...
I’m glad you found it helpful 😄
How can i add SSL in multiple subdomains?
Hi, I assume you mean having multiple sub domains registered to one CloudFront distribution? I haven't done that for a long time myself, but as I recall there shouldn't be any reason why you can't just add another sub-domain under "Alternate domain name (CNAME)", as long as the certificate you are using also include that sub-domain😄 Please let me know if this was unclear or if you have any issues with this 😄
Super useful Endre !! It's solved my issue.
Thank you so much! I'm glad it was helpful 😄
Fully followed the instructions, but it was done for the existing bucket and the site is still showing: Not Secure. I assume that some sort of record had to be deleted from the old set of records, but can't figure out which one
Never mind. Found the answer. Needed to delete the aliased record with the domain name and recreate with the CloudFront
I see, great that you figured it out 😄🙌🏼
Love your videos on Serverless Framework
Thank you🤩 I’m thinking about making more infrastructure as code videos in the future😄
Thank you for the video, that was very helpful.
Thank you so much! I’m glad you found it helpful😄
nice instruction.
Thank you!😄
Hello Sir, Sir I want to share the message the members those are present in the dynamDb table, there the phone number is available. Then please tell me what should the process that i should follow to send the message.
Hi😄 Just to clarify; you have a DynamoDB table where the phone numbers are stored, and want to send SMS to each one of them?
@@EndreSynnes Thank you for replying to me. Yes, I have a Dynamodb where the mobile numbers are stored. Using those numbers I want to send the Sms to those people whose details are available in the Dynamodb table. In the message I want to share some other information that is present in the Dynamodb table. For example: Hello Mr.Deo We got the subscription fee of 499 on 19/12/23. Thank you. So the above information need to be updated in the message these informations are stored in the database. Sir please tell if it is possible to do it in AWS.
thanks
Hey. nice video! Quick question - how long does it take for certificate to issue?
Hi, thank you so much!😄 Usually it takes a few minutes (maybe 5-10), but it could also take a couple hours. If it’s not valid by now (and you have followed all the steps mentioned in the video), I would assume there is a validation issue.
thanks for this
Best tutorial ever!
Thank you so much 🙌🏼😄
hello I need help, I dont have OAI menu on my AWS :(
Hi😄 Sorry for the late response, but yes you won't find OAI in the menu anymore. Since uploading this video, AWS have replaced OAI with OAC. I will create a new video using OAC sometime in the future, but for now, I recommend reading this blog post from AWS: aws.amazon.com/blogs/networking-and-content-delivery/amazon-cloudfront-introduces-origin-access-control-oac/ I hope this was helpful😄
You've saved me hours. Please put up a way to send you Thank$
Thank you so much, I will look into it!😄
hmm seems not working with a wordpress site... unbelievable how much time you have to spend get a SSL certificate in CHATGPT-age ... thanks anyway for your video
Hi😄 I see, I haven't tried it with a Wordpress site myself, but did you manage to get a valid certificate for your domain? In other words, does it say it's valid in AWS Certificate Manager? 😄
Can I pay you to show me how to implement this on client side with java?
Hi, I'm sorry for the late response. Thank you for the request, but I currently don't do freelance work. I will gladly make videos on topics that you, my viewers suggest, and I will gladly try to answer any question related to my videos here on RUclips 😄
Clean and clear demo, exactly what I was looking for. Thanks much !
Thank you so much! 😄
For anyone who has problem with validation timeout: You need also to set CNAME record to hosted zone. Once the validation is triggered open details of the request and you will see columns with CNAME name and CNAME value - this needs to be added for aws for validation.
Yes, as shown in the video from 4:40 and onwards 😄 You could also manually create the Hosted Zone CNAME records by copying the values from the columns CNAME name and CNAME value. This way you can validate a certificate even if the Hosted Zone isn't in the same AWS account as the certificate 😄
@@EndreSynnes sure, but considering few people here had issues with timeouts, i suppose they had watched in the same manner as I did and forgot to set it up😅
That's true, there have been some questions regarding validation issues 😅 Hopefully this thread will be helpful for some 😄
how many time do u had have to wait for the validation?
Thanks a lot. Exactly what I needed to know. I hate bloated aws documentation.
Thank you so much! 😄 Yes the documentation isn't always that good 😅
Good job. You did everything except the laststep and you did not show if the https is working
Thank you 😄 Yes you are right, I didn't make use of the domain or certificate in this video. This video was only intended to show how to deploy a hosted zone (domain) and how to create and validate a certificate for that domain. How to enable HTTPS on your applications depends on how the application is deployed. Therefore I have created separate videos on this, both for API Gateways (ruclips.net/video/JKI0td7QXTQ/видео.html) and CloudFront distributions (ruclips.net/video/M0GfSXr75iU/видео.html). Keep in mind that CloudFront have had some updates since I uploaded this video, so I will create a new one at some point. Still it's highly relevant and could be used as a guide for enabling HTTPS. I hope this was somewhat clarifying? 😄
Thanks Endre, helpful video, and what I'm looking for is that can we create a queue for the files that drop to an s3 bucket, I want those files to be processed in order, as far as I know, whenever new files drop to a bucket, the attached lambda triggers the function and runs for each file separetely with files are unaware of each other (tell me if I'm wrong). For example when I upload 10 files to a bucket at the same time, I want second file to trigger lambda (or whatsoever) after the first file is completely processed and so on, is there a way to do that, all I can find is that we can use SQS to trigger lambda, but I don't think this is what I'm looking for.
Sorry for the late response! Thank you so much! 😄 Well, this may be a bit complicated to answer in a RUclips comment, but I'll try 😅 There is of course several ways to solve this (also if you really need to have sequential processing), but one way could be: First to have a Lambda function that triggers on upload to S3 and only stores a record containing the filename, upload-timestamp and a status ("new_file") in a DynamoDB table. Then maybe another function that looks for the oldest files (by timestamp) with status "new_file" and starts processing it from S3. Once finished processing the file, update the DynamoDB record with status as complete. Also, it could after that look for other records with status "new_file" and send an event which trigger the processing of the next record, until all records are marked as "complete". This may not be the best solution, but It may work if I understood your use case correctly😄