AWS Services: เยอะจริง ใช้อะไรกันบ้าง?

Sunsern Kunakornvaroj
Tri Petch Digital
Published in
5 min readDec 20, 2022

ไม่ว่ามือใหม่มือเก่า คำถามที่มักเจอคือ AWS Services เยอะจริง อะไรจริง! แล้วในโลกความเป็นจริง เขาใช้อะไรกันบ้างนะ?

designed by Rawpixel.com

ในโลก IT ปัจจุบัน ระบบ Cloud computing ได้รับความนิยม ซึ่งรูปแบบการใช้งานแบบ Public Cloud ก็ยังมีแนวโน้มเติบโตอย่างต่อเนื่อง ซึ่งเห็นได้จากรายงานผลสำรวจจาก Gartner Forecast WorldWide Public Cloud End-User Spending ได้คาดการณ์ว่า Public Cloud ยังคงเติบโตขึ้นอีก 20.7% และมีมูลค่าถึงเกือบ $600 Billion ในปี 2023 ที่กำลังจะมาถึงนี้เลยทีเดียว ไม่ใช่เล่นๆใช่ไหมล่ะ

Reference: http://www.quickmeme.com/meme/3rxf30

แล้วถ้าจะนึกถึง ผู้ให้บริการ Public Cloud แถวหน้า ก็คงต้องมีชื่อ AWS เป็นตัว Top ของวงการกันล่ะ แต่ว่า ผู้มาใหม่ หรือ ผู้มาอยู่ก่อนในวงการ Cloud computing สิ่งที่หลายๆคนมักจะเจอ คือ บร๊ะเจ้า AWS services มันเยอะมากกก

ก็ถ้าอยากรู้ว่าเยอะแค่ไหน เลือก All services จากหน้า AWS Console ดูสิ แล้วนี้คือรายการ service ก็ถึงขึ้นหา Extensions มา capture หน้าจอให้ได้หมดเลยล่ะ +_+!

A list of all AWS products from AWS Console — เยอะไหมล่ะ!

ถ้าจะคิดต่ออีกหน่อย ว่าทำไม AWS ต้องทำอะไรเยอะไปหมด ลองคิดดูว่าแต่ละองค์กร หรือ บริษัทต่างๆ ก็มีความต้องการที่หลากหลาย ความต้องการ services ต่างๆ จึงมีความหลากหลายไปด้วย ซึ่งผู้ให้บริการระดับโลก แบบ AWS เลยมีศักยภาพจะพัฒนาและนำเสนอการบริการ ไปตอบโจทย์ให้กับลูกค้าในหลายๆด้าน

โอเค! ก็เข้าใจได้ล่ะ แต่กลับมา ผู้มาใหม่ และ ผู้อยู่ก่อน ก็ยังคงเกิดคำถามอยู่ดีว่า แล้วที่อื่นใช้อะไรกันบ้างล่ะเนี้ย! มันเยอะซะจนตาลายขนาดนี้

จึงเป็นที่มาของบทความนี้ ตั้งใจจะเขียนเพื่อเล่าสู่กันฟังว่า ตรีเพชร ไอที โซลูชั่นส์ ได้นำ AWS Services ที่น่าสนใจอะไรบ้าง มาปรับใช้ให้กับองค์กร เผื่อช่วยตอบโจทย์ในการดำเนินงานในโลกไอทีที่หมุนไปเร็วมากในปัจจุบันได้อย่างไร

Reference: https://www.theapollobox.com/product/sku339007/jetpack-backpack

บทความรอบนี้ ตั้งใจเริ่มต้นจาก Building blocks ถ้าเปรียบเริ่มใช้ Cloud computing เหมือนสร้างเมือง สิ่งที่เรียกว่าเป็น พิมพ์เขียวในการเริ่มต้นสำหรับองค์กรเมื่อเข้ามาใช้ AWS Cloud ก็คือโครงสร้างรากฐาน กำแพงเมือง และประตูเมืองให้พลเมืองผ่านประตูเมืองเข้าไปในเมืองได้

ที่เปรียบเทียบแบบนี้ ก็จะให้เห็นสิ่งที่องค์กรต้องการ เป็น business problems ที่ต้องหาตัวช่วย 3 เรื่องหลักๆ ที่จะหยิบมาในคราวนี้ก่อน คือ 1) การสร้าง resources และ network เชื่อมต่อต่างๆ 2) ผู้ใช้งานใครเป็นใคร 3) สิทธิ์ให้เข้าใช้งาน

ด้วย 3 เรื่องนี้ เลยสรุปเรื่องเล่าวันนี้ 3 ตอนก่อนคือ

  • ออเจ้าคือใคร ถาม (AWS) Organizations สิท่าน
  • กรุงโรมไม่ได้สร้างเสร็จวันเดียว — AWS Landing Zones มิใช่โรมนะ
  • พยัคฆ์ร้ายมีหลายหน้า จะมากับข้าต้องหน้าเดียว กับ AWS Sigle Sign-on

ก่อนอ่านต่อ ตกลงความคาดหวังกันก่อนนะ

  • บทความนี้ตั้งใจ ตอบ What / Why ไม่เน้น How และไม่ได้ตั้งใจเป็น configuration guides อะไรนะ how นี้อ่านต่อได้จาก AWS official documents
  • มีหลาย services ที่อยากเล่าสู่กันฟัง บทความนี้เป็นตอนแรก ติดตาม services อื่นๆได้ใน บทความต่อไปนะ (ขอแอบโปรยไปก่อนละกัน คร๊าบ )
  • ตั้งใจให้อ่านทั้งผู้มาใหม่ และ ผู้อยู่ก่อน ดั้งนั้น บางส่วน อาจเป็น basic services ที่ผู้มาก่อนกาล คงรู้เป็นอย่างดี แต่ขอพื้นที่ให้ผู้มาใหม่ ได้อ่านพอเป็นของรับขวัญน้องใหม่ในวงการหน่อยละกัน
  • เปิดกว้างทุกความคิดเห็น ติชม มีอะไรแนะนำก็หลังไมค์(คีย์บอร์ด?) มาคุยกันได้

เมื่อทำความเข้าใจกันแล้ว มาลุยต่อกันเลย กับตอนแรก!

ออเจ้าคือใคร ถาม (AWS) Organizations สิท่าน

ถ้าหลายคนมีประสบการ์ณเข้าระบบ AWS Console ด้วย Account ที่ใช้ส่วนตัว การใช้งานครั้งแรกๆ คือ ใช้ AWS Account root user เข้าระบบ และก็เริ่มใช้ That’s it!

[ Tips: สำหรับ Account ใครยังใช้ root user อยู่สำหรับทำทุกๆ อย่าง แนะนำ Best practices to protect your account’s root user. Long story short! — หยุดใช้และสร้าง IAM account แทนด่วนๆ นะ หรือ อยากได้เทคนิคอื่น รออ่านตอน 3 ;) ]

แต่สำหรับ องค์กรแล้ว อาจจะมีได้หลาย Accounts ดังนั้น ถ้าให้ดูว่า Account ไหน ใครเป็นใคร แล้วจะ จัดการทุกๆ Account ได้อย่างไง security ควบคุมยังไง ให้สิทธิ์กับใครแค่ไหน และ ค่าใชัจ่ายที่เกิดขึ้นในแต่ละ account จะดูกันยังไง ความต้องการแบบนี้ AWS เลยมี AWS Organizations

ข้อดีและสิ่งที่ AWS Organizations ช่วยคือ

  1. Centralized Management จัดการทุกๆ AWS Accounts จากที่เดียว
  2. Consolidated billing ค่าใช้จ่ายทุกๆ AWS Accounts รวม(แยก)กันได้
  3. Centralized policies and control กำหนดนโยบายการใช้ services และการเข้าถึงได้จากที่เดียว
  4. Free to use! — ใช่มันฟรีนะ ตัว AWS Organizations เองไม่มีค่าบริการ

ใครสนใจรายละเอียดเรียนรู้เพิ่มเติม แนะนำ วีดีโอจาก AWS ด้านล่างนี้ อธิบายไว้ได้ดีเลย

กรุงโรมไม่ได้สร้างเสร็จวันเดียว — AWS Landing zones มิใช่โรมนะ

ถ้าเปรียบเป็นการสร้างเมือง หัวข้อก่อนหน้าเราได้พลเมืองล่ะ แต่เมืองละครับท่าน ท่านยังไม่ได้สร้างเลย! อย่างที่เกริ่นหัวข้อ กรุงโรมไม่ได้สร้างเสร็จวันเดียว แต่ AWS Landing Zones มิใช่โรม คงไม่มีใครอยากสร้างใช้เวลาเป็นปีๆใช่ไหมล่ะ?

A landing zone เป็นรูปแบบ well-architected, multi-account AWS environment เรียกง่ายๆ ว่า เป็นพิมพ์เขียว เริ่มต้นในการสร้าง “เมือง” เลย ซึ่ง AWS ก็มีคำแนะนำจากประสบการ์ณที่ให้บริการลูกค้า และแนะนำมาเป็นรูปแบบ พิมพ์เขียวในการสร้างให้ อย่างที่เกริ่นไป จะมาสร้างทุกๆ อย่างทีละส่วน มานั่งกดอยู่หน้า Web Console หรือ old school นั่งสั่งด้วย aws command line interface ก็เรียกว่า ถึกไปหน่อย

อันที่จริง AWS มีบริการที่เรียกว่า AWS Control Tower ซึ่งถ้าเอารูปแบบมาตราฐานแบบไม่เพิ่มเติมอะไร ทาง AWS กล้ารับรองเลย สร้างเสร็จได้ในเวลาไม่เกิน 30 นาที และสร้างให้เองตาม well-architect, secure, multi-account environment เลย ดีงามไหมล่ะ

AWS Control Tower — Setup ได้ ภายใน 30 นาที

สำหรับ ตรีเพชร ไอที โซลูชั่นส์ เนื่องจาก ความต้องการเฉพาะในบริษัท ประกอบกับ รูปแบบและสิทธิ์การใช้ AWS Accounts บางประการ เลยปรับการใช้งานนี้ในบางส่วน ซึ่งทางเทคนิคแล้ว การที่ AWS Control Tower สามารถสร้างสิ่งต่างๆ ได้เองนั้น อาศัย service อีกตัวหนึ่งคือ AWS CloudFormation ทาง ตรีเพชร ไอที โซลูชั่นส์ เลยนำประโยชน์ของ AWS CloudFormation มาช่วยในการสร้าง “เมือง” โดยการทำตาม Best practices ของ AWS Landing zones ทั้งการแบ่งแยก Accounts ที่ใช้ เช่น ด้าน Security, Audit, Workload สำหรับ Production และ Non-production รวมถึงด้าน Permissions และ โครงสร้าง network การเชื่อมต่อ หรือ แม้แต่การ Centralized logs ต่างๆ

AWS CloudFormation — เป็นบริการมาตอบโจทย์ Infrastructure as code

โดยรวมแล้ว ข้อดีและประโยชน์ที่ได้ของการนำ AWS CloudFormation มาใช้คือ

  • จัดการ และสร้าง infrasture พื้นฐาน โดยใช้แนวคิดแบบ Infrastucture as Code โดยอาศัย configurations ใน AWS CloudFormation ว่า โครงสร้างพื้นฐาน “เมือง” ต้องเป็นแบบไหน
  • การสร้าง ทำได้สะดวกและรวดเร็ว มีความสามารถดูสิ่งที่จะเปลี่ยนก่อนทำการสร้างหรือเปลี่ยนแปลงอะไร และ สามารถตรวจสอบการเปลี่ยนแปลงและประวัติการทำการเปลี่ยนแปลงได้
  • สร้างเมืองยังมีสิ่งที่ขึ้นต่อกัน เช่น สร้างประตูเมือง ก็ต้องมีกำแพงเมืองให้วางประตูได้ AWS CloudFormation ก็ออกแบบมาให้ช่วยจัดการ resources ที่มีความขึ้นต่อกันได้ เช่นต้องสร้างสิ่งนี้ก่อน ถึงจะสร้างอีกสิ่งหนึ่งได้
  • AWS supports เอง สร้างเอง ดั้งนั้น Resources อะไรหลายๆ อย่างบน AWS เจ้า AWS CloudFormation ก็สามารถช่วยจัดการให้ได้
  • Free to use* อีกแล้วครับท่าน! ใช่ AWS CloudFormation มีความสามารถขนาดนี้ แต่ AWS ก็ใจดี มีบริการดีๆ อีกอย่างที่ใช้ได้โดยไม่มีค่าใช้จ่าย ในการใช้ AWS CloudFormation เอง (*Free สำหรับ AWS::*, Alexa::*, and Custom::* ).

สนใจศึกษา AWS CloudFormation เพิ่มเติมได้จาก คลิปสั้นๆ เข้าใจได้ง่ายๆ

หลายคนที่อ่านถึงตรงนี้ อาจจะนึกถึงบริการอื่นๆ ที่สามารถทำงานได้คล้ายๆ AWS CloudFormation เช่น Terraform จาก HashiCorp ก็ต้องบอกว่า ทาง ตรีเพชร ไอที โซลูชั่นส์ ก็มีการนำมาใช้เช่นกัน ในส่วนที่นอกเหนือจากโครงสร้างพื้นฐาน AWS Landing zone เนื่องจากบทความนี้ ตั้งใจนำเสนอประสบการณ์ใช้บริการ AWS Services เลยขอกล่าวถึง Terraform ไว้เพียงสั้นๆ ไว้โอกาสหน้า มีอะไรน่าสนใจในส่วนนี้ คอยติดตามและไว้จะมาเล่าให้ฟังโอกาสหน้าละกัน

ผ่านไปสองตอนแล้ว มาต่อกันอีกบริการสุดท้ายที่จะเล่าให้ฟังในบทความนี้กันเลย…

พยัคฆ์ร้ายมีหลายหน้า จะมากับข้าต้องหน้าเดียว กับ AWS Sigle Sign-on

จากสองตอนที่แล้ว เปรียบได้เหมือน เราได้สร้างเมืองและมีพลเมืองแล้ว แต่ถ้าสมมุติว่า เมืองก็มีหลายส่วน หลายสถานที่ให้พลเมืองแวะ ลองคิดว่า ถ้าเข้าร้านขายของ ต้องพกบัตรแสดงตัวใบหนึ่ง ไปร้านอาหารก็มีบัตรแสดงตัวอีกใบหนึ่ง ไปสถานที่ราชการก็ต้องอีกมีใบหนึ่งเพื่อบอกว่าเราเป็นใคร ก่อนให้เข้าใช้บริการได้ ถ้าเป็นแบบนั้นพลเมืองก็ได้รับความไม่สะดวกในการเข้าใช้บริการในส่วนต่างๆ ของเมืองแน่นอน

ถ้าเปรียบเรื่องนี้เหมือนการใช้งาน AWS Services เรามีหลายๆ Accounts และ บางที เราก็มีความจำเป็นต้องใช้บริการเข้าถึงส่วนต่างๆ ในสิทธิ์ที่ต่างกัน วิธีการตรงนี้ มันคงจะสะดวกกว่าที่มีวิธีการแสดงตัวและสลับการใช้งานได้ง่ายๆ ด้วยวิธีการเดียว เหมือนพกบัตรใบเดียว ก็ได้สิทธิ์ที่ควรได้ได้เลย จากที่เปรียบเทียบด้วยบัตรใบเดียวแบบนี้ ทาง AWS เลยมีบริการหนึ่ง ชื่อว่า AWS IAM Identity Center ซึ่งเป็นบริการภาคต่อที่มาจาก AWS Single Sign-on นั้นเอง ซึ่งไปดูหน้าบริการ ก็จะเห็นชื่อบริการนี้ว่า AWS IAM Identiy Center (Successor to AWS Sigle Sign-on). จะขอเรียกสั้นๆ ว่า AWS SSO ละกัน

Reference: https://aws.amazon.com/blogs/security/introducing-aws-single-sign-on/

ข้อดีและความสะดวกเพิ่มเติมของ AWS SSO คือ

  • สำหรับบริษัทที่อาจจะใช้ Active Directory เป็น Identity provider สามารถให้ AWS SSO เชื่อมต่อ Active Directory เป็น Identity provider ช่วยให้ใช้ข้อมูล users ที่มีอยู่แล้วเพื่อระบุใครเป็นใครได้
  • AWS SSO ช่วยให้การใช้งานสะดวกสบายขึ้น ด้วยการแสดงหน้ารายการ เสมือนหน้า Login แล้วสามารถเลือกการเข้าถึงได้จาก AWS SSO เช่น เราอาจได้สิทธิ์เข้าถึง 3 Accounts และ หนึ่งในนั้น เราอาจได้ Permissions เป็น Security Audit เมื่อเข้าใช้งาน AWS SSO ก็จะมี สิทธิ์นั้นๆ ให้เลือก เพื่อเข้าใช้งานได้สะดวกๆ เลย หน้า AWS SSO นี้ก็เปรียบเป็นบัตรใบเดียวแบบนี้ ได้บัตรผ่านตลอดแล้ว :)
Reference: https://aws.amazon.com/blogs/security/introducing-aws-single-sign-on/
  • AWS SSO ช่วยการจัดการ Users , User groups, และ Permissions ซึ่ง AWS SSO เรียกว่า Permission sets โดยอำนวยความสะดวกที่สามารถเลือกสิทธิ์ที่ทาง AWS สร้างไว้ให้ก่อนแล้วและเลือกใช้เลย หรืออยากจะสร้างเอง กำหนดเองก็ได้ และสามารถให้สิทธิ์นี้กับ Accounts ที่อยู่ภายใต้ AWS Organizations เดียวกันได้เลย จัดการได้ในที่เดียวเลย สะดวกดีไหมล่ะ
AWS SSO — Permission set
  • นอกจากนี้ อีกความสามารถของ AWS SSO ยังสามารถใช้เป็น Single Sign-on ให้กับ Business Cloud Applications หรือ Applications ที่มีการใช้ SAML ในเวลาที่เขียนบทความนี้ ก็มี Applications ให้เลือก กว่า 300+ ตัวเลย
AWS SSO — Single Sign-on Pre-integrated applications
  • อีกอย่างที่สำคัญ Free to use (again!) การใช้งาน AWS SSO หรือ Set up ไม่มีค่าบริการในการใช้ AWS SSO ด้วย ดีไหมล่ะ ใครว่าของดีไม่มีฟรีกันล่ะ

เดี๋ยวจบแล้วเหรอ? แล้วไงต่อ?

คราวนี้ ได้ยกตัวอย่าง AWS Services ที่เป็นพื้นฐานในการเริ่มต้นใช้งาน และการเข้าใช้ ซึ่งตัว AWS Services ที่ยกตัวอย่างมาคราวนี้ เหมาะมากสำหรับช่วยในการเริ่มต้นใช้งาน AWS ซึ่งเป็นบริการฟรี ที่มีให้ใช้ได้เลย

แต่ขอเสริมเรื่องฟรี ถ้าจะมีค่าใช้จ่ายที่เกิดขึ้น จะเป็นส่วน resources อื่นๆ ที่เกิดจากการใช้บริการนี้ไปสร้าง เช่นถ้าใช้ CloudFormation ในการสร้าง resources ที่มีการคิดค่าบริการ เช่น NAT Gateway, Internet Gateway ก็มีค่าใช้จ่ายสำหรับ resources นั้นๆ แต่การใช้ CloudFormation ไปสร้าง AWS resources ไม่ได้มีค่าใช้จ่าย ซี่ง AWS Organizations และ AWS SSO ที่มาให้อ่านก็เช่นเดียวกัน

ก็เป็นการเริ่มต้นตอนแรกแค่นี้ก่อน มาลองติดตามกัน หลังจากได้เมือง ได้พลเมือง เปิดประตูเมืองให้เข้าได้แล้ว ยังมีบริการอื่นๆ อะไรอีกที่น่าใช้ ซึ่งในโลกปัจจุบันที่ Mobile, Web Front-end, back-end services, Containers หลากหลาย services ที่เข้ามาช่วยตลอด Software development lifecycle หรือแม้แต่ ด้าน security รวมถึง การควบคุมค่าใช้จ่ายการใช้งาน AWS services ซึ่งจะมี AWS Services อะไรที่น่าสนใจอีก ติดตามได้ตอนต่อไปนะครับ

Reference: https://tenor.com/view/ill-be-back-terminator-arnold-schwarzenegger-gif-14809786

--

--