Ravindra BagaleCourses & study guides English

Private EC2 Instance मधून VPC Gateway Endpoint ने S3 कसं वापरायचं (NAT शिवाय)

Amazon S3 म्हणजे काय? मध्ये आपण console आणि CloudShell मधून S3 वापरलं. खरे app servers public IP नसलेल्या private subnets मध्ये असतात. हा chapter दाखवतो की S3 तुमच्या VPC च्या तुलनेत कुठे राहतं, private server NAT gateway मधून तिथे कसा पोचतो आणि त्याचा खर्च का, आणि चांगला मार्ग: free S3 gateway endpoint. Paid interface endpoint शी तुलना, endpoint policy, आणि NAT शिवाय पूर्ण lab.

या chapter मध्ये तुम्ही काय शिकाल

  • S3 तुमच्या VPC बाहेर का आणि त्याचा अर्थ
  • Private EC2 ते S3 NAT मधून, खर्चाच्या गणितासह
  • Gateway endpoint (free) vs interface endpoint (paid)
  • कोणते buckets पोचतील ते मर्यादित करणाऱ्या endpoint policies
  • पूर्ण lab: private EC2 NAT शिवाय S3 पर्यंत

1. Courier ची गोष्ट

तुमचं office एका gated society मध्ये आहे जिथे main-road gate नाही (private subnet). Bank (S3) बाहेर, शहरात आहे.

मार्ग 1: प्रत्येक कागद society gate वरच्या paid courier ने पाठवा (NAT gateway). चालतं, पण प्रत्येक trip आणि प्रत्येक किलोचे पैसे.

मार्ग 2: Bank तुमच्या society मध्ये थेट free private lane उघडते (gateway endpoint). कागद public रस्त्यावर जात नाहीत, आणि किलोचे पैसे नाहीत.

2. तुमच्या VPC च्या तुलनेत S3 कुठे राहतं

हे का लागतं?

S3 तुमच्या VPC मध्ये आहे असं वाटलं तर private server तिथे का पोचत नाही ते कळणार नाही.

हे काय आहे?

S3 ही regional public service आहे. तिचा endpoint, उदा. s3.ap-south-1.amazonaws.com, AWS च्या public IP addresses ला resolve होतो. तुमचा VPC तुमचं private network. Public service पर्यंत पोचायला server ला बाहेरचा रस्ता लागतो: public IP सह internet gateway, NAT gateway, किंवा VPC endpoint.

ServerS3 कडे रस्ताखर्च
Public subnet, public IPInternet gatewayFree रस्ता; same Region data free
Private subnet, NATNAT gateway → internet gatewayNAT hourly + दर GB processing
Private subnet, gateway endpointS3 prefix list कडे route table entryFree
Private subnet, interface endpointPrivate IP असलेला ENI (PrivateLink)दर AZ hourly + दर GB

3. Private EC2 ते S3 NAT gateway मधून

हे का लागतं?

बहुतेक VPCs मध्ये updates साठी आधीच NAT gateway असतो, म्हणून S3 traffic बहुतेक वेळा तिथूनच जातं. त्याचा खर्च माहीत हवा.

हे काय आहे?

NAT gateway private servers ना internet कडे बाहेर जाऊ देतो. त्यातून जाणाऱ्या प्रत्येक GB चे पैसे. us-east-1 मध्ये साधारण $0.045 दर तास आणि $0.045 दर processed GB.

NAT मधून S3Private EC210.20.1.15Route 0.0.0.0/0→ NAT gatewayNAT gatewayदर GB $Internet gatewayAmazon S3public endpoint
S3 कडचा प्रत्येक byte NAT मधून जातो आणि तिथे bill होतो.

खर्चाचं गणित: रात्रीचे backups महिन्याला 2 TB S3 ला upload करतात. NAT मधून: 2,048 GB × $0.045 = साधारण $92 दर महिना, NAT hourly fee वेगळी. Gateway endpoint मधून: $0.

4. VPC endpoints: gateway vs interface

हे का लागतं?

Endpoint private servers ना NAT किंवा public IP शिवाय AWS services कडे private रस्ता देतो. S3 साठी दोन प्रकार आहेत, आणि योग्य निवड खर्चासाठी महत्त्वाची.

हे काय आहे?

मुद्दाGateway endpointInterface endpoint
Servicesफक्त S3 आणि DynamoDBS3 आणि 100+ इतर services
कसं चालतंनिवडलेल्या route tables मध्ये S3 prefix list (pl-…) कडे routeप्रत्येक निवडलेल्या subnet मध्ये private IP असलेला ENI (PrivateLink)
किंमतFreeदर AZ ~$0.01/hour + ~$0.01/GB
On-premises किंवा peered VPC मधूननाहीहो (VPN, Direct Connect, peering)
फक्त same Regionहोहो (cross-Region ला extra setup)
Security groupवापरत नाहीहो, ENI वर

Ravindra Bagale's Tip

VPC मधल्या EC2 साठी free gateway endpoint ने सुरुवात करा. Traffic on-premises किंवा तुमच्या route tables वापरू न शकणाऱ्या network मधून येत असेल तेव्हाच interface endpoint.

Gateway endpoint मधून S3Private EC210.20.1.15Route pl-78a54011→ vpce-0abcGateway endpointfreeAmazon S3same Region
NAT नाही, internet नाही: route table S3 traffic endpoint कडे पाठवतो.

5. Endpoint policies

हे का लागतं?

Gateway endpoint default ने Region मधल्या प्रत्येक S3 bucket ला access देतो, दुसऱ्यांच्या buckets सुद्धा. चोरलेला server तुमचा data attacker च्या bucket मध्ये copy करू शकतो.

हे काय आहे?

Endpoint policy म्हणजे endpoint वरची JSON resource policy. ती gate आहे: endpoint मधून जाणारी request endpoint policy आणि IAM व bucket policy दोघांनी allow केली पाहिजे.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "OnlyOurBuckets",
    "Effect": "Allow",
    "Principal": "*",
    "Action": ["s3:GetObject","s3:PutObject","s3:ListBucket"],
    "Resource": [
      "arn:aws:s3:::reels-app-media",
      "arn:aws:s3:::reels-app-media/*"
    ]
  }]
}

प्रत्येक भाग का: Principal "*" कारण endpoint ला users माहीत नसतात; IAM त्यांना तपासतो. Resource मध्ये फक्त आपला bucket, म्हणून इतर कोणताही bucket deny. Servers endpoint मधून dnf चालवत असतील तर Amazon Linux repo bucket arn:aws:s3:::al2023-repos-ap-south-1-de612dc2/* जोडा.

दुसरी बाजू: bucket policy aws:SourceVpce condition ने requests तुमच्या endpoint मधूनच यायला हव्यात असं सांगू शकते. Security chapter मध्ये ते उदाहरण आहे.

6. अनेक stacks मध्ये private server मधून S3

हे का लागतं?

Gateway endpoint सोबत apps मध्ये code बदल लागत नाही. ते नेहमीचा regional S3 endpoint call करतात; बाकी route table करतो. फक्त Region बरोबर हवा.

हे काय आहे?

StackTraffic ap-south-1 मध्ये राहावं म्हणून Region set करा
AWS CLIaws configure set region ap-south-1
Node.jsnew S3Client({ region: "ap-south-1" })
Python boto3boto3.client("s3", region_name="ap-south-1")
JavaS3Client.builder().region(Region.AP_SOUTH_1).build()
PHPnew S3Client(['region'=>'ap-south-1','version'=>'latest'])
.NETnew AmazonS3Client(RegionEndpoint.APSouth1)
Goconfig.LoadDefaultConfig(ctx, config.WithRegion("ap-south-1"))
nginx / ApacheCron job: aws s3 sync s3://site-assets /var/www/html/assets
MySQLmysqldump shop | gzip | aws s3 cp - s3://db-backups/shop-$(date +%F).sql.gz

Ravindra Bagale's Tip

Region चुकीचा असेल (उदा. us-east-1), request internet रस्ता शोधते आणि private server वर अडकते. Gateway endpoint फक्त VPC च्याच Region मधल्या buckets साठी चालतो.

7. Lab: private EC2 NAT शिवाय gateway endpoint मधून S3 पर्यंत

हे का लागतं?

तुम्ही तीन गोष्टी सिद्ध कराल: रस्ता नसेल तर private server S3 पर्यंत पोचत नाही; gateway endpoint add केल्यावर पोचतो; आणि endpoint policy इतर buckets block करू शकते.

कसं करायचं (step by step)

Part A: network

  1. Region ap-south-1. VPC console › Create VPC › VPC and more. का: wizard subnets आणि route tables बनवतो.
  2. Name tag auto-generation: s3lab. IPv4 CIDR: 10.20.0.0/16.
  3. AZs: 1. Public subnets: 1. Private subnets: 1. का: कल्पना दाखवणारा सगळ्यात छोटा setup.
  4. NAT gateways: None. VPC endpoints: None. का: आधी रस्ता नको, मग endpoint हाताने add करायचा.
  5. Create VPC click. अपेक्षित: VPC, 2 subnets, 2 route tables, 1 internet gateway.

Part B: bucket आणि IAM role

  1. ap-south-1 मध्ये yourname-s3lab-private bucket बनवा (defaults). from S3 text असलेली hello.txt upload करा.
  2. IAM › Roles › Create role › Trusted entity AWS service › Use case EC2.
  3. Permissions: AmazonS3ReadOnlyAccess. Name: s3lab-ec2-role. का: server ला temporary credentials, disk वर keys नाहीत.

Part C: दोन servers

  1. s3lab-bastion launch: Amazon Linux 2023, t3.micro, VPC s3lab, public subnet, auto-assign public IP Enable, SG SSH 22 from My IP.
  2. s3lab-private launch: तीच AMI, private subnet, public IP Disable, SG SSH 22 bastion SG कडून, IAM instance profile s3lab-ec2-role.
  3. Laptop वरून: ssh-add key.pem मग ssh -J ec2-user@BASTION_IP ec2-user@10.20.x.x. का: key laptop वरच राहते.

Part D: रस्ता नसताना test

aws configure set region ap-south-1
aws s3 ls s3://yourname-s3lab-private --cli-connect-timeout 5
# Connect timeout on endpoint URL: "https://yourname-s3lab-private.s3.ap-south-1.amazonaws.com/..."

का fail होतं: private route table मध्ये फक्त 10.20.0.0/16 → local. S3 कडे route नाही.

Part E: gateway endpoint add करा

  1. VPC › Endpoints › Create endpoint. Name s3lab-s3-gw. Type AWS services.
  2. s3 search करा, Type Gateway असलेलं com.amazonaws.ap-south-1.s3 निवडा. का: Interface वाला पैसे घेतो.
  3. VPC s3lab-vpc. Route tables: फक्त private route table tick करा. का: फक्त त्या subnet ला private रस्ता हवा.
  4. Policy: आत्तासाठी Full access. Create endpoint. अपेक्षित: status Available.
  5. Private route table › Routes उघडा. अपेक्षित: नवीन route pl-78a54011 (com.amazonaws.ap-south-1.s3) → vpce-…. Prefix list ID तुमच्या account मध्ये वेगळा असू शकतो; Managed prefix lists मध्ये तपासा.
aws s3 ls s3://yourname-s3lab-private
# 2026-10-22 11:20:44   8 hello.txt
aws s3 cp s3://yourname-s3lab-private/hello.txt - 
# from S3
curl -s --max-time 5 https://www.google.com || echo "no internet (good)"
# no internet (good)

तपासणी: S3 चालतं, सामान्य internet नाही. Server अजूनही private आहे.

Part F: endpoint policy ने मर्यादा

  1. Endpoints › s3lab-s3-gw › Policy › Edit policy › Custom. Endpoint policy section मधली policy तुमच्या bucket नावासह paste करा. Save.
  2. Private server वर तुमचा bucket list करा: चालतो. तुमचा दुसरा कोणताही bucket list करा: An error occurred (AccessDenied). का: endpoint आता फक्त एकच bucket allow करतो.

Cleanup

  1. दोन्ही instances terminate करा.
  2. Endpoint s3lab-s3-gw delete करा.
  3. Bucket रिकामा करून delete: aws s3 rb s3://yourname-s3lab-private --force (CloudShell मधून).
  4. VPC s3lab-vpc delete करा (subnets, route tables आणि internet gateway पण जातात). Role s3lab-ec2-role delete करा.

8. Interview questions

प्र. S3 तुमच्या VPC मध्ये असतं का?

नाही. S3 ही regional public service. VPC तिथे internet gateway, NAT gateway किंवा VPC endpoint मधून पोचतो.

प्र. S3 साठी gateway vs interface endpoint?

Gateway: free, route table entry, फक्त VPC आतून. Interface: private IP असलेला ENI, दर तास आणि GB पैसे, on-premises आणि peered networks मधून पोचतो.

प्र. S3 traffic NAT gateway वरून का हलवायचं?

NAT दर processed GB charge करतो. Gateway endpoint तेच traffic free नेतो.

प्र. Endpoint policy काय करते?

IAM आणि bucket policies सोबत, endpoint मधून कोणत्या actions आणि buckets वापरता येतील ते मर्यादित करते.

प्र. Gateway endpoint असूनही private server S3 वर time out होतो. का?

बहुतेक चुकीचा Region (bucket दुसऱ्या Region मध्ये), किंवा endpoint त्या subnet च्या route table शी जोडलेला नाही.

घरी करून बघा

  1. Lab परत करा, मग दुसरी private route table add करा आणि endpoint मध्ये tick करेपर्यंत त्या subnet ला S3 मिळत नाही ते बघा.
  2. 500 GB logs upload करण्याचा monthly NAT खर्च काढा आणि gateway endpoint शी तुलना करा.
  3. फक्त एका prefix वर s3:GetObject allow करणारी endpoint policy लिहा.

थोडक्यात सांगायचं तर

  1. S3 VPC बाहेर; private servers ना रस्ता लागतो.
  2. NAT चालतो पण दर GB पैसे.
  3. Gateway endpoint: same Region मध्ये S3 कडे free route.
  4. Interface endpoint: paid ENI, on-premises आणि peered networks साठी.
  5. Endpoint policy कोणते buckets पोचतील ते मर्यादित करते.

सराव Tasks

या scenario बद्दल

Latur Coaching Classes हा लातूर मधला कोचिंग व्यवसाय आहे. Pooja Jadhav त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं /16 मध्ये किती addresses?

का: VPC size ठरवायला ही संख्या लागते.

काय करायचं: Latur Coaching Classes चा VPC 10.56.0.0/16. एकूण किती IP addresses?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं VPC बनवा

का: VPC म्हणजे AWS मधलं तुमचं स्वतःचं private network.

काय करायचं: 10.2.0.0/16 CIDR block असलेला VPC बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Internet gateway बनवा

का: Internet gateway शिवाय VPC मधलं काहीही internet ला पोचत नाही.

काय करायचं: नवा internet gateway बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम एका AZ मध्ये subnet बनवा

का: Subnets VPC range वाटतात व प्रत्येक एकाच AZ मध्ये असतो.

काय करायचं: vpc-0ccc135aa5deadbee मध्ये ap-south-1a मध्ये 10.2.1.0/24 subnet बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Internet route जोडा

का: Route table 0.0.0.0/0 internet gateway ला पाठवत असेल तरच subnet "public".

काय करायचं: Route table rtb-023aaa135bb5bb22 मध्ये सगळं internet traffic (0.0.0.0/0) igw-03aaa135bb5aa11 कडे पाठवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम VPC router address शोधा

का: AWS router साठी base+1 राखतो.

काय करायचं: 10.56.4.0/24 मध्ये VPC router साठी AWS कोणता address राखतो?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम AWS /24 subnet मधले usable IPs

का: AWS प्रत्येक subnet मध्ये 5 addresses राखून ठेवतो.

काय करायचं: AWS वर 10.56.1.0/24 subnet मध्ये Latur Coaching Classes servers साठी किती addresses वापरू शकतो?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Subnet route table शी जोडा

का: Associate करेपर्यंत subnet main route table वापरतो.

काय करायचं: Subnet subnet-023aaa135bb5bb1 ला route table rtb-023aaa135bb5bb22 शी associate करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Internet gateway attach करा

का: VPC ला attach केल्याशिवाय gateway काही करत नाही.

काय करायचं: igw-03aaa135bb5aa11 ला vpc-0ccc135aa5deadbee शी attach करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Server साठी पहिला usable IP

का: पहिले 4 addresses AWS राखतो.

काय करायचं: AWS वर 10.56.20.0/24 मध्ये server ला मिळणारा पहिला IP?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड सर्वात लहान prefix निवडा

का: योग्य size मुळे address space वाचतो.

काय करायचं: AWS वर subnet मध्ये 100 servers हवेत. बसणारा सर्वात मोठा prefix number? उदा. /25.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड /24 चे दोन भाग

का: Public व private subnets एक block वाटून घेतात.

काय करायचं: 10.56.8.0/24 चे दोन समान subnets करा. दोन्ही CIDRs comma ने लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: S3 gateway endpoint. S3 VPC बाहेर असतं. Private EC2 ला रस्ता लागतो. NAT चालतो पण दर GB पैसे. Gateway endpoint free. निवडलेल्या route tables मध्ये prefix-list route जोडतो. फक्त त्याच Region. फक्त S3 आणि DynamoDB.
उजळणी card: S3 gateway endpoint · PNG download करा
उजळणी card: S3 endpoint policy. Endpoint ला policy असू शकते, pipe वरच्या filter सारखी. फक्त तुमचे buckets allow करा, म्हणजे data दुसऱ्याच्या bucket मध्ये जाणार नाही. dnf S3 वापरत असेल तर OS repo bucket लक्षात ठेवा. त्यातून दुसरा bucket: AccessDenied.
उजळणी card: S3 endpoint policy · PNG download करा
तुलना: NAT gateway vs S3 gateway endpoint. NAT gateway: Private subnets साठी managed outbound internet, दर तास आणि दर GB bill. S3 gateway endpoint: VPC साठी AWS आतून S3 पर्यंत route, charge नाही.
तुलना: NAT gateway vs S3 gateway endpoint · PNG download करा
तुलना: Gateway endpoint vs Interface endpoint. Gateway endpoint: त्याच Region मधल्या S3 किंवा DynamoDB साठी route table entry. Interface endpoint: तुमच्या subnets मध्ये private IPs असलेला ENI (PrivateLink).
तुलना: Gateway endpoint vs Interface endpoint · PNG download करा
मुलाखत card: Private EC2 S3 ला खूप data पाठवतो. NAT की endpoint?. Gateway endpoint: free आणि private, त्याच Region. NAT दर तास आणि दर GB. 2 TB ला फक्त processing साधारण $92. On-premises ला private S3 हवं तेव्हाच interface endpoint.
मुलाखत card: Private EC2 S3 ला खूप data पाठवतो. NAT की endpoint? · PNG download करा

अजून cards: Ravi Sir's Cards.