VPC Endpoint <with-demoLab>

Min Htet SanMin Htet San
3 min read

ကျွန်တော်က Cloud ကို လေ့လာတဲ့ အခါမှာ စိတ်ဝင်စားလို့ self study လုပ်ပြီး လေ့လာခဲ့ပါတယ်။ လေ့လာနေချိန်မှာလဲ တိုင်ပင် ဆွေးနွေးစရာ senior မရှိတော့ လိုအပ်ချက်တော့ များနေပါတယ်။ အဲ့ထဲမှာမှ ကျွန်တော် လုံးဝ လွတ်သွားတဲ့ အရာကတော့ AWS Endpoint and AWS VPC Endpoint Service ပါပဲ။ ဒီနေ့တော့ ကျွန်တော် AWS Endpoint ကို ကျွန်တော် နားလည်ခဲ့တဲ့ ပုံနဲ့ sharing လုပ်ပေးသွားပါ့မယ်ဗျ။ လိုအပ်တာလေး ရှိခဲ့ရင်လဲ ထောက်ပြ ပေးခဲ့ပါဦးဗျ။

AWS Endpoint ဆိုတာဘာလဲ ??

AWS Endpoint ဆိုတာကို ပြောပြဖို့ အတွက် အောက်က ပုံကို တစ်ချက် ကြည့်လိုက်ပါ။ ပုံကတော့ လူလိုပဲ မလှလို့ sorry ပါ 😁

ဆိုကြပါဆို့ဗျာ ကျွန်တော့်ရဲ့ private subnet ထဲ မှာရှိနေတဲ့ instance လေးကနေပြီးတော့ S3 service ကို သုံးဖို့ လိုအပ်နေတယ်။ ကျွန်တော်တို့က ပုံမှန်ဆို S3 လို service မျိုးကို သုံးမယ်ဆိုရင် internet access ရဖို့ လိုအပ်ပါတယ်။ ဒါဆို ကျွန်တော်တို့က Internet Access ပေးနိုင်တဲ့ NAT Gateway, Internet Gateway စတာတွေကို သုံးရရောပေါ့။ ဆိုလိုချင်တာက AWS Cloud ထဲမှာပဲ ကိုယ်လိုချင်တဲ့ Service က ရှိနေပေမယ့် Internet ထိ ထွက်နေရတော့ မလိုအပ်ပဲ data processing cost တွေ ကုန်တယ်ပေါ့ဗျာ။

ဒါပေမယ့် ကျွန်တော်က private subnet ထဲ မှာရှိနေတဲ့ instance လေးက S3 service ပဲ သုံးမယ် တစ်ခြားဟာ မသုံးဘူးဆိုပြီး ဆုံးဖြတ်လိုက်တယ်။ Security အရ ဘာညာပေါ့ဗျာ။ ဒါဆိုရင် ဘယ်လို လုပ်ကြမလဲ။ AWS Endpoint ကို သုံးပြီး ဖြေရှင်းလို့ရပါတယ်။

A VPC endpoint enables customers to privately connect to supported AWS services and VPC endpoint services powered by AWS PrivateLink. Amazon VPC instances do not require public IP addresses to communicate with resources of the service. Traffic between an Amazon VPC and a service does not leave the Amazon network.

ဆိုတော့ဗျာ AWS Endpoint ဆိုတာက AWS ကနေ support ပေးတဲ့ service တွေကို internet ပေါ် တက်စရာ မလိုအပ်ပဲနဲ့ AWS PrivateLink ပေါ်ကနေပဲ access ရတာလို့ပဲ အလွယ်မှတ်လို့ ရတာပေါ့ဗျာ။

AWS VPC Endpoint ကို သုံးလိုက်ရင်တော့ S3 ကို သွားမယ့် Traffic flow က အောက်က ပုံလို ဖြစ်သွားပါပြီ။

Types of VPC Endpoints

VPC Endpoint type က တော့ ၂ မျိုးရှိတယ်ဗျ။

Gateway Endpoint

Gateway endpoint ကိုသုံးမယ်ဆိုရင် သူ့ကို route table မှာ ပြန်ပြီး route update လုပ်ပေးရတယ်။ သူ့ကို သုံးဖို့အတွက် Security Group တွေ မလိုအပ်ဘူး။ ပြီးတော့ သူက Free သုံးလို့ရတယ်။ ဒါပေမယ့် Gateway Endpoint က S3 and Dynamo DB အတွက်ပဲ support ပေးတယ်။

Interface Endpoint

Interface Endpoint ကို သုံးမယ်ဆိုရင် AWS ရဲ့ Service တော်တော်များများကို သုံးလို့ရတယ်။ Interface Endpoint က AWS PrivateLink ကနေ သွားတယ်ပေါ့နော်။ Interface Endpoint ဆိုတဲ့ အတိုင်းပဲ Elastic Network Interface (ENI) ကနေ တစ်ခု လိုအပ်တယ်။ သူ့ကို သုံးမယ်ဆိုရင်တော့ cost ရှိတယ်။

photo ref: https://www.linkedin.com/pulse/aws-interface-endpoint-vs-gateway-alex-chang

​Demo Lab

Demo လေး တစ်ခုလောက်နဲ့ စမ်းလိုက်ရအောင်။ ကျွန်တော်ကတော့ VPC Endpoint Gateway ကိုပဲ သုံးပြပါ့မယ်။ ကျွန်တော့်ရဲ့ private subnet ကို NAT GW နဲ့ မချိတ်ထားပါဘူး။ ဆိုတော့ internet access မရဘူးပေါ့ဗျာ။ အဲ့တာကို ကျွန်တော်က S3 serivce ကို သုံးချင်တယ်ပေါ့။ အဲ့တော့ ကျွန်တော်က VPC Gateway Endpoint တစ်ခု တည်ဆောက်သွားပါ့မယ်။

ကျွန်တော့် private instance က internet access ရမနေပါဘူး။

VPC Endpoint တစ်ခု တည်ဆောက်လိုက်ရအောင်။

ကျွန်တော်တို့ Name တစ်ခုပေးပါမယ်။ ပြီးရင်တော့ ကျွန်တော်က AWS Service တစ်ခုဖြစ်တဲ့ S3 ကို သုံးမှာမို့ AWS Services ကိုပဲ ရွေးထားပါတယ်။

Services နေရာမှာတော့ com.amazonaws.ap-southeast-1.s3 ဆိုတာကို ရွေးပါမယ်။

ပြီးရင်တော့ Endpoint Type မှာ Gateway ကိုရွေးမယ်။ ကိုယ်ရဲ့ VPC ကို ရွေးမယ်။ ပြီးရင် ကိုယ့်ရဲ့ Private Instance တွေက သုံးမှာဖြစ်လို့ ကျွန်တော်ရဲ့ Private Route Table ကို ရွေးလိုက်တယ်။ Policy မှာ လောလောဆယ်တော့ Full access ကိုပဲ သုံးလိုက်ပါ့မယ်။ ဒါဆိုရင်တော့ create endpoint ကို click လိုက်တာနဲ့ endpoint တစ်ခု ရလာမှာဖြစ်ပါတယ်။

ကျွန်တော့်ရဲ့ Private Route Table ထဲမှာလဲ Route တစ်ကြောင်း တိုးလာပါပြီ။

ဒါဆိုရင် ကျွန်တော့်ရဲ့ Instance ထဲကနေ တစ်ချက်လောက် ပြန်စစ်ကြည့်ရအောင်။

Internet ကတော့ မရဘူးဗျ။ NAT Gateway မှ မသုံးထားတာလေနော်။

S3 service ကို တစ်ချက်ခေါ်ကြည့်ရင်တော့ ရနေတာကို တွေ့ရမှာပါ။ credential တစ်ချို့ပါနေလို့ ကျွန်တော့်ရဲ့ spiderman-flowlog လေးကိုပဲ ပြလိုက်ပါတယ်။

ဒါဆိုရင် AWS VPC Endpoint ကို နားလည်မယ်လို့မျော်လင့်ပါတယ်။ တစ်ခုခု လိုအပ်တာရှိနေရင်လဲ ကျွန်တော့်ကို ပြောပြပေးပါဗျ။

the-art-by-makisam

0
Subscribe to my newsletter

Read articles from Min Htet San directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Min Htet San
Min Htet San

I'm Security and Cloud Support Engineer at KBZ Bank. I'm tying to be a Cloud Native Engineer......