Sachin Shukla
Sachin Shukla
  • 50
  • 104 325
Hands on Kafka Cluster in KRaft mode setup in AWS
This automates bringing up 3 node Kafka Cluster set up in AWS in KRaft mode.
Terraform: github.com/sks336/terraform-kafka/tree/main
Переглядів: 213

Відео

AWS S3 presigned URLs - Demo
Переглядів 413Рік тому
This short tutorial explains how the presigned urls are generated and various use cases where this can be useful. This also talks about when the permissions for presigned urls are taken away.
MTLS - Mutual TLS (Everything you need to know)
Переглядів 32 тис.Рік тому
MTLS Part-I: medium.com/@skshukla.0336/mtls-everything-you-need-to-know-e03804b30804 MTLS Part - II (API Gateway) medium.com/@skshukla.0336/mtls-aws-api-gateway-part-ii-15d338385c65 Github: github.com/skshukla/tlsdemo.git
CloudFront - Restrict Viewer Policy, with API Gateway and Lambda
Переглядів 414Рік тому
Use Cloud Front Restrict View Policy to privately allow content to be accessible. Use API Gateway and Lambda to authorise and grant permissions. Some Commands used in Demo for reference: Generate Private Key: openssl genrsa -out rsa.private 2048 Generate Public Key: openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM Sign Request: aws cloudfront sign url [CloudFrontURL].cloudfront....
Shared Services VPCs Architecture and Demo
Переглядів 1,1 тис.Рік тому
- What is Shared Services VPC and how to Design/Architect it. - Enabling Internet and inter VPC connectivity using TGW. - Implementing Interface End points to inject ENIs and access services securely. - Create Private Hosted Zones (PHZ) and associate VPCs for Accessing services as Hub and Spoke model. GitHub: github.com/skshukla/aws-infra/tree/master/016_vpc_tgw Useful Article on Shared Service...
VPC Architecture - Centralized Outbound Routing To Internet
Переглядів 1,5 тис.Рік тому
AWS Document: docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-nat-igw.html AWS Transit Gateway (more info) ua-cam.com/video/fmLUDgy-x7A/v-deo.html ua-cam.com/video/Gc3uwLVbqW4/v-deo.html Git: github.com/skshukla/aws-infra/tree/master/016_vpc_tgw
Private Hosted Zones
Переглядів 640Рік тому
Use custom names to access services within a VPC.
Inter Region VPC connectivity using Transit Gateways
Переглядів 800Рік тому
Inter Region VPC connectivity using Transit Gateways. Connect multiple VPCs within and inter region using Transit Gateways. aws.amazon.com/about-aws/whats-new/2019/12/aws-transit-gateway-supports-inter-region-peering/ Github: github.com/skshukla/aws-infra/tree/master/02_tgw_demo AWS Transit Gateway Demo ua-cam.com/video/fmLUDgy-x7A/v-deo.html
Design and Deploy Components to Cloud using BrainBoard
Переглядів 301Рік тому
You can use the Brain Board UI to design how the architecture should look in cloud after deployment. As the components are designed the respective terraform scripts are auto generated. Once done, simply deploy to cloud using the scripts or UI. This would ensure the design is consistent with the architecture being deployed. Visit the git repo for the reference for the designed used in this tutor...
Configuring Kafka for SSL with design and steps
Переглядів 3 тис.Рік тому
It explains the step by step process to setup SSL in Kafka. The Docker Compose file and the shell script used in this tutorial are available at below links github.com/skshukla/infra/blob/dev/run_kafka/docker-compose-ssl.yaml github.com/skshukla/infra/blob/dev/run_kafka/run_kafka-ssl.sh
Understanding X-Forwarded-For header in ALB
Переглядів 6 тис.2 роки тому
Understanding X-Forwarded-For header in ALB. This header helps to retain the original Client IP address while accessing via Load Balancer.
Interface End point with PrivateDNS
Переглядів 3132 роки тому
How seamlessly connect from an EC2 instance, which is having no Internet connectivity, to any public AWS service like SQS without the need of changing any end point url. Interface Endpoint Concept: ua-cam.com/video/RYpxj1oZCwI/v-deo.html Command to see messages in SQS: aws sqs receive-message queue-url sqs.ap-southeast-1.amazonaws.com/839006695980/myqueue attribute-names All message-attribute-n...
AWS Elastic Container Service (ECS) with ALB and dynamic port mapping
Переглядів 2,1 тис.2 роки тому
Architecure to create a fault tolerant scalable service to deploy containers by using Amazon ECS. With dynamic port mapping option same types of multiple containers can be deployed in single EC2.
AWS - Publish S3 events to SQS
Переглядів 1,6 тис.2 роки тому
Use Push Notification from S3 to publish events directly to SQS queue.
Build Serverless Architecutre using Lambda Function
Переглядів 1792 роки тому
This demo shows how lambda can be easily integrated with various other components and build a server-less architecture.
CloudFront with ALB as Custom Origin with SSL
Переглядів 7 тис.2 роки тому
CloudFront with ALB as Custom Origin with SSL
AWS Interface EndPoint, Securely Accessing AWS Services
Переглядів 2282 роки тому
AWS Interface EndPoint, Securely Accessing AWS Services
AWS Transit Gateway Demo
Переглядів 2882 роки тому
AWS Transit Gateway Demo
AWS Application Load Balancer (ALB) Demo
Переглядів 2052 роки тому
AWS Application Load Balancer (ALB) Demo
AWS VPC PEERING demo with provisioning
Переглядів 4322 роки тому
AWS VPC PEERING demo with provisioning
Kafka Streams (Suppress Intermediate Events and publish the final result)
Переглядів 3432 роки тому
Kafka Streams (Suppress Intermediate Events and publish the final result)
2. KStreams to KTable join.
Переглядів 2 тис.2 роки тому
2. KStreams to KTable join.
1. kafka stream joins
Переглядів 6882 роки тому
1. kafka stream joins
Vault Securely pass secrets
Переглядів 852 роки тому
Vault Securely pass secrets
Vault Dynamic secrets - AWS Secret Engine
Переглядів 7342 роки тому
Vault Dynamic secrets - AWS Secret Engine
Transactional Producers
Переглядів 1233 роки тому
Transactional Producers
Kafka Stream KeyStore Expose As Web Endpoint
Переглядів 633 роки тому
Kafka Stream KeyStore Expose As Web Endpoint
Kafka Stream application with multiple instances for Load Sharing
Переглядів 6863 роки тому
Kafka Stream application with multiple instances for Load Sharing
Kafka Streaming Util to push CSV file data into kafka topics.
Переглядів 3,1 тис.3 роки тому
Kafka Streaming Util to push CSV file data into kafka topics.
Spring Web Flux with RSockets
Переглядів 903 роки тому
Spring Web Flux with RSockets

КОМЕНТАРІ

  • @memosen80
    @memosen80 5 днів тому

    Thank you but it would make more sense if you showed 2 different apps client and server and adjust the application.yml accordingly.

  • @danchisholm1
    @danchisholm1 12 днів тому

    sachin, this was an absolutely brilliant demo. by far one of the best - both in terms of completeness and complexity but while being very clearly and simply explained. AWS would be lucky to have you doing some of their tutorial videos. big thanks from a guy in the tech department of one of the movie studios here in LA. 🙏

    • @sachinshukla6047
      @sachinshukla6047 12 днів тому

      Your kind words literally filled me enthusiasm that once I did great work… Now i am focusing primarily on my health and just took a distance from intense tech work.. 🙏🙏

  • @pradiptakar
    @pradiptakar 16 днів тому

    Hi Sachin, I am trying to implement mTLS in tomcat. But it's not validating the leaf certificate. Just presence of root and intermediary seems enough. Can you please help how to ensure leaf level certificate validation

  • @sheksbear
    @sheksbear 18 днів тому

    The explanation and article are beneficial, one feedback is to clearly specify to pass the "public key of " client/server/CA else it may be confusing for people. I first learnt about Asymmetric encryption then came here and it helped.

    • @sheksbear
      @sheksbear 18 днів тому

      Also instead of passing the passphrase towards the end can we use symmetric session key encryption?

  • @rajuarumugam4132
    @rajuarumugam4132 Місяць тому

    awesome explanation with an example

  • @firozalam2749
    @firozalam2749 Місяць тому

    🎉❤❤ very good just make in hindi

    • @sachinshukla6047
      @sachinshukla6047 Місяць тому

      thank you!! 🙏 But i need to reach more audience and so in English

    • @firozalam2749
      @firozalam2749 Місяць тому

      the majority of your audience is Hindi-speaking, so your focus should be on user retention. Once someone watches your video, they should feel compelled to subscribe and watch all your content. Even Dhruv Rathee creates videos in Hindi; if he had made them in English, he might not have reached such a large audience. However, the decision is entirely yours. I really like your videos and hope they reach a wider audience.

    • @sachinshukla6047
      @sachinshukla6047 Місяць тому

      Thanks for honest feedback, I will consider.. Its just that there is no appreciation except some likes and some subscribers.. may be if i have more audience one day, i will try to cater these requests.. 🙏🙏

  • @venkat290485
    @venkat290485 Місяць тому

    Thanks, so logically, we can't have public subnet in vpc 2 and 3 if we would like to have all traffic come through transit gateway.

  • @akshaymahesh6986
    @akshaymahesh6986 2 місяці тому

    How can I do this in Kraft mode

  • @dailymood365
    @dailymood365 2 місяці тому

    Dear Why I connect by command, curl -sSX GET <minikube ip>:<nginx-service port>/ip, but received: failed, after 21013 ms: Couldn't connect to server. Regard

  • @himuhotbaba
    @himuhotbaba 2 місяці тому

    Hi, Which tool you are using to executr this MTLS?

  • @maxhennighausen6202
    @maxhennighausen6202 2 місяці тому

    Hi Sachin, do you have an email, i would like to contact you

  • @malikahmed2399
    @malikahmed2399 3 місяці тому

    brother help is required ..please response if possible

  • @codedoctor3265
    @codedoctor3265 3 місяці тому

    One of best explanation I found so far :) , Loved it. Keep up good work

  • @gayathrimamidipudi1721
    @gayathrimamidipudi1721 4 місяці тому

    Root cert was Lil confusing.else it gave me a fair idea

  • @MarimuthuUdayakumar
    @MarimuthuUdayakumar 4 місяці тому

    Well explained 👏👏🙌

  • @MonojitBarua
    @MonojitBarua 4 місяці тому

    @06:50 can you explain what is the -cacert you are passing in curl command, is that the client ca cert? if so why we are sending client ca cert to server?

  • @firozalam2749
    @firozalam2749 4 місяці тому

    yes this is helpful @sachine

  • @HitendraMotwani
    @HitendraMotwani 5 місяців тому

    Short and to the point, excellent !!

  • @mikami5799
    @mikami5799 5 місяців тому

    hmm, your VPC is not private at all, you have a public IPv4 isn't it

  • @shilashm5691
    @shilashm5691 6 місяців тому

    One small correction, our browser or any networking tools like curl, wont validate to CA directly , every browser and networking tool while installing will have a default public key of many CA's eg: symantec, digicert public key stored in some location on our host, using that it will decrypt the server certificate sign if public key in certificate and decrypted sign matches then it is legitimate. To view CA public key in linux go to /etc/ssl/certs

  • @narasimhaswamy7423
    @narasimhaswamy7423 6 місяців тому

    Very nice.

  • @anujgarg2654
    @anujgarg2654 6 місяців тому

    Hello Sachin, I appreciate the thorough explanation. I have a question: If AWS VPC1 and AWS VPC2 are in separate accounts, how can we add both VPCs to the hosted zone to utilize a common VPC Interface endpoint created in VPC1?

  • @BarkanErdogdu
    @BarkanErdogdu 6 місяців тому

    Why you skip the curl command part?

  • @yoramnagavker2144
    @yoramnagavker2144 9 місяців тому

    thanks for the help

  • @kalyanboro6338
    @kalyanboro6338 9 місяців тому

    Is this ads on video or video on ads

  • @RoopakTripathi
    @RoopakTripathi 9 місяців тому

    @sachinshukla6047 github link ?

  • @aayushgore4545
    @aayushgore4545 9 місяців тому

    very nice video. thank you @sachin

  • @debashishbhattacharjee8188
    @debashishbhattacharjee8188 10 місяців тому

    Very nice explanation. Great job

  • @zoltobialozielony
    @zoltobialozielony 11 місяців тому

    Lol man u haven't implemented any intermediate events, u still need an input to stream to release hold last event...

    • @sachinshukla6047
      @sachinshukla6047 11 місяців тому

      you are right, but 1) This is just a POC to showcase just the concept 2) In a stream application its supposed to be infinite streams so events would mostly be coming as and when.. but by and large I agree with your point..

    • @zoltobialozielony
      @zoltobialozielony 11 місяців тому

      @@sachinshukla6047 so create a video where u solve this issue :-)

    • @sachinshukla6047
      @sachinshukla6047 11 місяців тому

      Just going thru some stupid personal problems, and literally no mindset to focus on this as of now.. hope in future i address that.. 🙏🙏

  • @floriantdoungmene5492
    @floriantdoungmene5492 11 місяців тому

    Hi Sachin. Thank you for this interesting video. Could you explain me why we need to uncheck the private dns integration during the VPC endpoint creation? Can we have a PHZ automatically integrate with the shared VPC and associate it to spoke VPC? Or manually create PHZ zone for the endpoint service, register the VPC end point dns as alias record and associate it with the spoke VPC while keeping the integrated private dns on the shared service VPC? Thanks

  • @SriniSrini-z8j
    @SriniSrini-z8j 11 місяців тому

    Hello sachin - how do contact you.. I have some professional need

  • @AndreLuisPorto
    @AndreLuisPorto Рік тому

    Thank you, @Sachin, for such great content. It is really helping me a lot! Now, for any ADHD viewer here, like me, just go get your coffee, take your time and come back to focus: i can assure you that it's not your whatsapp notification poping. Just (try to) ignore it and enjoy the lesson.

  • @zeyuanzhang1032
    @zeyuanzhang1032 Рік тому

    i mean is it same when i integrate several certificatesfiel which are included in cert chain into one cert file as ca.crt,then i used the client.crt which is not changed and integrated atalld to auth?i just failed in traefik environment.

  • @zeyuanzhang1032
    @zeyuanzhang1032 Рік тому

    but when i set up mtls in traefik,the cert returns the server.crt,but my leader told me cert chain containing several cert files including server.crt and ca.crt is normal but not single cert as server.crt

    • @zeyuanzhang1032
      @zeyuanzhang1032 Рік тому

      use cat to concat them in one file is deal,but client.crt just cant identidy

  • @joaopchenriques
    @joaopchenriques Рік тому

    The way you did it, aren't you exposing your ALB to the world? In your diagram, you are considering the ALB as private (which would be accessed only by Cloudfront). Did I miss something? Thanks for the tutorial, anyway.

    • @sachinshukla6047
      @sachinshukla6047 Рік тому

      Good observation Joa, but this is just a demo and i want people to follow and do on their own and while doing at first time they have to test things in between.. ALB exposed to public is easy to test from local workstation. So yes, it exposes a risk, but this is to do quick POC and learn the concepts.. thanks for bringing it though 🙏

    • @joaopchenriques
      @joaopchenriques Рік тому

      @@sachinshukla6047 Hello Sachin, thank you for the clarification! Yes sure, I understand. I had just raised the question because I might have missed something :) Thanks!

  • @ankushw3028
    @ankushw3028 Рік тому

    Very bad audio 🔉🔉

  • @sushilsrit
    @sushilsrit Рік тому

    Good One. Explained well.

  • @bhanunm
    @bhanunm Рік тому

    dude.. loved it. great stuff

  • @Inbuiltsinner
    @Inbuiltsinner Рік тому

    Hi sachin, it looks like a CP central

  • @random4u
    @random4u Рік тому

    One trap I fell in for modern browsers, they don't really care about CN field anymore, rather they need it to be listed in the SAN (Subject Alternative Name) field

  • @georgelza
    @georgelza Рік тому

    have you by any chance done a build of this where the go is deployed inside a docker container.... ie to be deployed on a K8s cluster....

  • @antonabramenko9803
    @antonabramenko9803 Рік тому

    Thanks for the video mate, very useful!

  • @LolToalNoobs
    @LolToalNoobs Рік тому

    One thing I am still confused about. If we use our client public certificate to send to the server and the server simply checks the trust store to make sure it's a trusted client - how does the server know that some other unauthorised/malicious client isn't using our public certificate and pretend to be us? it is a public cert after all Or are we saying this certificate is not truly public and should be treated like a private key? _______________ OR - do we say that no symmetrical key is generated, and instead both parties use the received public key to encrypt data (ensuring that the recipient can only read if they hold the private key)?) My idea would be server would encrypt some data using the public key, send to client and client must send back correct result to verify client holds the private key, THEN and only THEN can a symmetric key be used - but this is not explained anywhere. Please help (::

    • @sachinshukla6047
      @sachinshukla6047 Рік тому

      I read it at a glance, your explanation at the last is true.. with handshake when public key is present in Server’s trust store then anything encrypted using that only the right client would be able to decrypt it

  • @FlavianoFlauber
    @FlavianoFlauber Рік тому

    tks from Brazil!

  • @chanTechie
    @chanTechie Рік тому

    Hello Sachin - It is a great article! Thanks for explaining the concepts in detail. By the way, is the process of setting up the SSL same if I want to host kafka in openshift container? Thanks!

  • @prateekashtikar8631
    @prateekashtikar8631 Рік тому

    Hi Sachin, Can you also share your sql scripts? How did you setup the Debezium for Postgres?

    • @prateekashtikar8631
      @prateekashtikar8631 6 місяців тому

      @Sachin - Could you please respond and share a link to code?

  • @phikhanh993
    @phikhanh993 Рік тому

    Hi could you give us link github repo?

  • @Letraveler_rd
    @Letraveler_rd Рік тому

    Can you explain how to generate a cliente certificate? I’m not sure what to place on the CN field since it’s a server. I would like to talk more in detail to you.

    • @sachinshukla6047
      @sachinshukla6047 Рік тому

      Client can enter its own detail where it hosts in CN field

  • @MrBestard
    @MrBestard Рік тому

    I just realized many other tutorials have missed/skipped step 6 in the pictures. The step to validate the cert with the CA. Thanks for clearing that up. 🎉

    • @riteshsinghania5
      @riteshsinghania5 Рік тому

      Thanks for the video. Just to clarify on step # 6, client doesnt contact CA for validation directly over the network. It is client's browser which contains the CA certificate (Root CA & Issuing CA of the server certificate) in the browser trust store, this is where the validation chaining is computed and trusted.

  • @marcopierrefernandezburgos3116

    My application is running in AWS ECS, the path to connect to my app externally is as follows: AWS route53 => Load Balancer => AWS ECS (my app runs here) Do you know if I could still perform mTLS in my app running in ECS? I think that the only way would be to introduce an AWS API Gateway. What do you think? By the way, I love this video, it is the best for this topic.

    • @sachinshukla6047
      @sachinshukla6047 Рік тому

      Do you really have to use MTLS for your scenario…?.. to me it seems to be a public endpoint as you mentioned Route53. Moreover in ELB you can apply security groups (if ALB and not NLB) which ensures/restricts to the expected client…

    • @marcopierrefernandezburgos3116
      @marcopierrefernandezburgos3116 Рік тому

      @@sachinshukla6047 we really need mTLS since the client do not have static IP. I figured out that we can use NLB instead of ALB. In this way the TLS operations can occur in our backend but it sounds better to introduce AWS API gateway since it already support mTLS out the box, thanks for your video and answer, I really appraicete it.

    • @sachinshukla6047
      @sachinshukla6047 Рік тому

      Welcome 🙏

    • @Bishwakec
      @Bishwakec Рік тому

      @sachinshukla6047 do server need to add (public) client.crt instead of rootCA.crt at server trust store? If yes, on what scenario?