อัพเดทบริการ AWS Service Catalog ในปี 2025

อัพเดทบริการ AWS Service Catalog ในปี 2025

บทความนี้แปลมาจากบทความภาษาญี่ปุ่นชื่อว่า AWS 入門ブログリレー 2024 〜AWS Service Catalog編〜 โดยเจ้าของบทความนี้คือ คุณ 鈴木純

AWS Service Catalog คืออะไร

Service Catalog เป็นบริการที่ช่วยให้คุณสามารถสร้างและจัดการแคตาล็อกของบริการ IT ที่ได้รับการอนุมัติบน AWS

บริการ IT ในที่นี้หมายถึงบริการของ AWS โดยคุณสามารถจัดทำแคตาล็อกของบริการที่ใช้งานเป็นประจำ เช่น EC2, VPC, RDS และอื่นๆ เพื่อนำเสนอให้ผู้ใช้ในรูปแบบที่ใช้งานได้สะดวก

แคตาล็อกนี้สามารถสร้างได้โดยใช้ CloudFormation Template หรือ Terraform Cloud

ภาพรวมของ AWS Service Catalog

Service Catalog ประกอบด้วยองค์ประกอบหลายส่วน ซึ่งมีความซับซ้อนพอสมควร ดังนั้นผมจะอธิบายอย่างง่ายๆ ดังต่อไปนี้

Characters

มีสองประเภทคือ Catalog Administrator และ End User

Service Catalog-1

Catalog Administrator
คือผู้ที่จัดการอย่างครอบคลุมในการสร้าง product และกำหนดสิทธิ์การเข้าถึงเพื่อให้ End User สามารถใช้งานได้

สำหรับสิทธิ์การเข้าถึง จำเป็นต้องมี policy เทียบเท่ากับ "AWSServiceCatalogAdminFullAccess"

เนื่องจาก Catalog Administrator จำเป็นต้องทำการตั้งค่าทั้งหมดของ Service Catalog ดังนั้นจึงควรทำความเข้าใจองค์ประกอบของ Service Catalog ที่จะกล่าวถึงต่อไปอย่างละเอียด

End User
End User เพียงแค่เรียกใช้ product ที่ได้รับอนุญาตให้เข้าถึงเท่านั้น โดยจำเป็นต้องมีสิทธิ์เทียบเท่ากับ "AWSServiceCatalogEndUserFullAccess"

ข้อควรระวัง: แม้จะมีสิทธิ์ที่จำเป็น แต่หากไม่ได้รับการอนุญาตให้เข้าถึงพอร์ตโฟลิโอจาก Catalog Administrator ก็จะไม่สามารถใช้งานได้

องค์ประกอบของ Service Catalog

Catalog Administrator จำเป็นต้องเข้าใจองค์ประกอบต่อไปนี้ เพื่อให้ End User สามารถใช้งานแคตาล็อกได้

Service Catalog-2

Portfolio

Portfolio เป็นกลุ่มของ product ซึ่งรวมถึงข้อมูลการตั้งค่าที่เกี่ยวข้อง (เช่น ข้อจำกัดและสิทธิ์การเข้าถึง) เมื่อใช้งาน Service Catalog คุณจะต้องตั้งค่าตามหน่วยของ Portfolio ดังนั้นให้คิดว่าเป็นสิ่งที่รวมทุกอย่างไว้ด้วยกัน

Portfolio จะถูกแจกจ่ายให้ End User ดังนั้น End User จะเลือกและเรียกใช้ product จากภายใน Portfolio ที่ได้รับ

โปรดจำไว้ว่า product และข้อจำกัดทั้งหมดที่จะกล่าวถึงต่อไปจะรวมอยู่ใน Portfolio เมื่อแชร์กับบัญชี AWS อื่นๆ ก็จะแชร์เป็น Portfolio เช่นกัน

Product

คุณสามารถสร้าง Product จาก CloudFormation Template หรือ Terraform Cloud และใช้งานโดยเชื่อมโยงกับ Portfolio

Product ที่เชื่อมโยงแล้วจะถูกรวมอยู่ใน Portfolio ที่แจกจ่าย เมื่อเรียกใช้ Product จะทำให้บริการ AWS ถูก deploy

มี Product ที่เตรียมไว้ล่วงหน้าเรียกว่า "Introduction Library" ซึ่งคุณสามารถนำมาใช้ประโยชน์ได้

Service Catalog-3

Product สามารถจัดการเวอร์ชันได้ เมื่ออัปเดต Product แล้ว End User จะสามารถอัปเดต Product ที่กำลังใช้งานอยู่เป็นเวอร์ชันใหม่ได้

Product ที่ End User เรียกใช้แล้วสามารถตรวจสอบได้จาก "Provisioned Products"

Constraints

Constraints เป็นฟังก์ชันที่ช่วยให้คุณสามารถเพิ่มข้อจำกัดต่อหน่วย product ได้ โดยมีรูปแบบดังต่อไปนี้:

  • Launch (การเรียกใช้)
  • Notification (การแจ้งเตือน)
  • Tag update (การอัปเดตแท็ก)
  • StackSet
  • Template (เทมเพลต)

การใช้ประโยชน์จากสิ่งเหล่านี้ช่วยให้คุณสามารถควบคุมพารามิเตอร์เมื่อเรียกใช้product หรือระบุสิทธิ์เมื่อเรียกใช้ได้

Access Permissions

การให้สิทธิ์การเข้าถึง Portfolio โดยการกำหนดสิทธิ์ให้กับ IAM Principal (user/group/role) หรือชื่อ Principal ทำให้ End User สามารถเรียกใช้ product ได้

ในกรณีที่ให้สิทธิ์การเข้าถึงด้วยชื่อ Principal สามารถใช้ wildcard (* และ ?) ในการให้สิทธิ์ได้

End User จำเป็นต้องมีสิทธิ์เทียบเท่ากับ "AWSServiceCatalogEndUserFullAccess" ตามที่อธิบายไว้ในตอนต้น นอกจากนี้ โปรดทราบว่าเฉพาะผู้ใช้ที่ได้รับสิทธิ์การเข้าถึงจาก Catalog Administrator เท่านั้นที่จะสามารถเรียกใช้ product ได้

Sharing

คุณสามารถแชร์ Portfolio กับบัญชี AWS อื่นๆ ได้ นอกจากการแชร์ตามหน่วยบัญชี AWS แล้ว หากอยู่ในสภาพแวดล้อม Organizations คุณยังสามารถแชร์ภายใน organization ได้อีกด้วย

หากคุณแชร์กับบัญชี AWS ที่ไม่ได้เป็นสมาชิกของ organization ฝั่งผู้รับจะต้องทำการ import เพื่อใช้งาน

Tags

แท็กที่ตั้งค่าให้กับ Portfolio โปรดทราบว่าแท็กเหล่านี้จะถูกตั้งค่าให้กับตัว Portfolio เท่านั้น หากคุณต้องการกำหนดแท็กให้กับทรัพยากร AWS ของ product ที่ End User สร้างขึ้น โปรดใช้ฟังก์ชัน TagOptions ที่จะกล่าวถึงต่อไป

TagOptions

TagOptions คือกลุ่มเทมเพลตแท็กสำหรับบริการ AWS ที่ถูก deploy จาก product โดยการเชื่อมโยง TagOption ที่สร้างขึ้นกับ Portfolio คุณสามารถบังคับให้มีการกำหนดแท็กให้กับทรัพยากรของ product ที่ End User เรียกใช้

ลองทำดู

แม้ว่าจะมีฟีเจอร์มากมายตามที่แนะนำในส่วนองค์ประกอบ แต่สิ่งที่จำเป็นขั้นต่ำในการใช้งาน Service Catalog มีเพียง 3 อย่างเท่านั้น ส่วนรายการอื่นๆ สามารถใช้ตามความจำเป็น:

การสร้าง Portfolio
การสร้าง product และเชื่อมโยงกับ Portfolio
การให้สิทธิ์การเข้าถึงแก่ End User

เพื่อให้เห็นภาพว่าเป็นบริการแบบไหน เราจะลองเริ่มต้นด้วย Portfolio และ product ขั้นพื้นฐาน

การสร้าง Portfolio

เปิด Portfolio จากคอนโซล Service Catalog แล้วสร้าง Portfolio

Service Catalog-4

กรอกชื่อ Portfolio และเจ้าของ เจ้าของเป็นเพียงข้อมูลที่แสดงผู้สร้าง Portfolio ไม่มีกฎเกณฑ์ที่ชัดเจน บางกรณีอาจใส่ชื่อแผนกตามการดำเนินงานของคุณ

Service Catalog-5

การสร้าง product และเชื่อมโยงกับ Portfolio

ขั้นตอนต่อไปคือการเพิ่ม product ลงใน Portfolio คุณสามารถเพิ่ม product ที่สร้างจาก CloudFormation Template ของคุณเองได้ แต่ในครั้งนี้เราจะลองเพิ่ม product จาก Introduction Library

เปิด Introduction Library และในช่องค้นหา พิมพ์ "Amazon S3 Private Encrypted Bucket" จากนั้นเพิ่ม product ที่ปรากฏลงใน Portfolio

Service Catalog-6

เลือก Portfolio ที่คุณเพิ่งสร้างจากรายการ Portfolio ที่มีอยู่และเพิ่มเข้าไป ตอนนี้ product ได้ถูกเชื่อมโยงกับ Portfolio แล้ว

การให้สิทธิ์การเข้าถึงแก่ End User

ขั้นตอนสุดท้ายคือการให้สิทธิ์การเข้าถึง Portfolio ที่สร้างขึ้นแก่ End User ในกรณีนี้ เนื่องจาก Catalog Administrator เป็น End User ที่ต้องการเรียกใช้ product ด้วย เราจึงจะให้สิทธิ์ IAM role ที่กำลังล็อกอินอยู่

หากไม่มีสิทธิ์การเข้าถึง แม้จะตรวจสอบที่ Provisioning > Products ก็จะไม่พบ product ที่สามารถเรียกใช้ได้

Service Catalog-7

เปิดรายละเอียดของ Portfolio ที่คุณสร้างขึ้น แล้วให้สิทธิ์การเข้าถึงจากแท็บ Access (การเข้าถึง)

Service Catalog-8

เลือก IAM Principal ที่คุณต้องการให้สิทธิ์การเข้าถึงและทำการให้สิทธิ์

Service Catalog-9

ตอนนี้คุณได้ให้สิทธิ์การเข้าถึง Portfolio แก่ IAM role ที่กำลังล็อกอินอยู่แล้ว

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

Service Catalog-10

ขั้นตอนต่อไปเพียงแค่เรียกใช้ product แล้วทรัพยากรจะถูกสร้างขึ้นจาก CloudFormation Template ที่เชื่อมโยงกับ product

การแชร์ภายใน organization

จนถึงตอนนี้เราได้อธิบายฟังก์ชันพื้นฐานแล้ว แต่ Service Catalog ยังมีกรณีที่ใช้งานร่วมกับ Organizations ด้วย เนื่องจากมีหลายสถานการณ์ที่ Service Catalog มีประโยชน์ในการดำเนินงานแบบหลายบัญชี จึงขอกล่าวถึงเรื่องนี้สั้นๆ

การมอบหมาย Service Catalog

เช่นเดียวกับบริการ AWS อื่นๆ Service Catalog ก็สามารถมอบหมายผู้ดูแลระบบได้ แนวปฏิบัติที่ดีที่สุดคือการไม่ให้สิทธิ์มากเกินไปกับบัญชีการจัดการ ดังนั้นจึงแนะนำให้มีการมอบหมายผู้ดูแล

สำหรับการแชร์จากผู้ดูแลที่ได้รับมอบหมาย โปรดดูที่หน้าเว็บอย่างเป็นทางการด้านล่าง

Sharing with AWS Organizations

การแชร์ชื่อ Principal

เมื่อแชร์ Portfolio มีฟังก์ชันสำหรับการแชร์ภายใน organization เมื่อแชร์ภายใน organization คุณสามารถแชร์พร้อมกับชื่อ Principal ได้

Service Catalog-11

การแชร์ชื่อ Principal ช่วยให้คุณสามารถแชร์ Portfolio ที่ได้รับสิทธิ์การเข้าถึงแล้ว

เนื่องจากสามารถใช้ wildcard กับชื่อ Principal ได้ คุณจึงสามารถแชร์ชื่อบทบาทที่สร้างขึ้นใน IAM Identity Center ได้ด้วย ในกรณีนี้ ผู้ใช้สามารถเรียกใช้ product ได้โดยไม่ต้องให้สิทธิ์การเข้าถึงบนบัญชีสมาชิก

ดังนั้น เมื่อสร้าง Portfolio เพื่อแชร์กับ organization ควรพิจารณาถึง Principal ที่ End User จะใช้งาน

Sharing Principal Names when sharing portfolios

ค่าใช้จ่าย

ค่าใช้จ่ายของ Service Catalog ขึ้นอยู่กับจำนวนการเรียก API ที่บัญชีของคุณทำต่อ Service Catalog

การเรียก API จำนวน 1-1,000 ครั้งแรกไม่มีค่าใช้จ่าย หลังจากนั้นคิดค่าบริการ 0.0007 USD ต่อครั้ง

สำหรับรายละเอียดเพิ่มเติม โปรดดูที่หน้าเว็บอย่างเป็นทางการ

https://aws.amazon.com/th/servicecatalog/pricing/?nc1=f_ls

Service Catalog เองไม่มีค่าใช้จ่ายมากนัก แต่โปรดระวังว่าทรัพยากรที่คุณ deploy จะมีค่าใช้จ่ายตามปกติ

สรุป

AWS Service Catalog เป็นเครื่องมือที่มีประโยชน์สำหรับองค์กรที่ต้องการจัดการการใช้งาน AWS อย่างเป็นระบบ โดยเฉพาะในสภาพแวดล้อมที่มีหลายบัญชีหรือมีผู้ใช้งานจำนวนมาก ด้วยการกำหนดสิทธ์ในการเข้าถึงทรัพยากรนั้นๆ

บทความต้นฉบับ

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.