จะจัดทำคิว SQS ใน Amazon Web Services เพื่อรับข้อมูลกิจกรรมไลฟ์ (Live Events) จาก Canvas ได้อย่างไร

รับข้อมูลจาก Canvas โดยคุณจะต้องตั้งค่าและรักษาสถานะคิวใน Amazon Web Services นอกจากนี้คุณจะต้องให้สิทธิ์อนุญาตที่เกี่ยวข้องสำหรับคิวเพื่อรับข้อมูล

หลังจากตั้งค่าคิวโดยใช้สิทธิ์อนุญาตที่เหมาะสมแล้ว คุณสามารถสมัครเข้าร่วมกิจกรรมใน บริการข้อมูล (Data Services) และเริ่มรับข้อมูล

หมายเหตุ:

  • ไม่รองรับคิว FIFO ในปัจจุบัน
  • ขณะตั้งค่าคิว SQS คุณสามารถเปิดใช้งานการอัพเดตข้อมูลระยะยาวในคิวมาตรฐาน การอัพเดตข้อมูลระยะยาว (Long Polling) ช่วยแก้ไขปัญหาการตอบกลับที่ว่างเปล่าและการตอบกลับว่างเปล่าหลอก ตรวจสอบรายละเอียดเพิ่มเติมเกี่ยวกับการอัพเดตข้อมูลระยะยาวได้จากเอกสารกำกับของ Amazon SQS Long Polling

เปิดคอนโซล Amazon SQS

จากคอนโซล Amazon Web Services ให้เปิดคอนโซล Simple Queue Service (SQS) โดยพิมพ์ชื่อลงไปในฟิลด์ บริการ (Services) [1] ขณะที่ บริการคิวพื้นฐาน (Simple Queue Service) ปรากฏขึ้นในรายการ ให้คลิกที่ชื่อ [2] 

จัดทำคิวใหม่

จัดทำคิวใหม่

จากคอนโซล Amazon SQS ให้คลิกที่ปุ่ม จัดทำคิว (Create queue)

เลือกคิวมาตรฐาน

เลือกคิวมาตรฐาน

จากหัวข้อ ประเภท (Type) ให้เลือกตัวเลือก มาตรฐาน (Standard)

หมายเหตุ: ไม่รองรับคิว FIFO (FIFO Queues) ในปัจจุบัน

กรอกชื่อคิว

กรอกชื่อคิว

กรอกชื่อสำหรับคิว ชื่อคิวจะต้องเริ่มต้นด้วย canvas-live-events

กรอกรายละเอียดส่วนกำหนดค่า

กรอกรายละเอียดส่วนกำหนดค่า

กรอกรายละเอียด ส่วนกำหนดค่า (Configuration) คุณสามารถกรอกค่าปรับแต่งของคุณเพื่อกำหนดเวลาการแสดงผล [1] ระยะหน่วงการนำส่ง [2] เวลารอรับข้อความ [3] เวลาเก็บรักษาข้อความ [4] และขนาดข้อความสูงสุด [5]

กรอกรายละเอียดนโยบายการใช้งาน

กรอกรายละเอียดสิทธิ์อนุญาต

กรอกรายละเอียดสำหรับนโยบายการใช้งานของคุณ

ในหัวข้อ เลือกวิธีการ (Choose method) ให้เลือกตัวเลือก พื้นฐาน (Basic) [1]

จากหัวข้อ ระบุคนที่สามารถส่งข้อความไปยังคิว (In the Define who can send messages to the queue) เลือกตัวเลือก เฉพาะบัญชี AWS ผู้ใช้ IAM และบทบาทที่ระบุ (Only the specified AWS accounts, IAM users and roles) [2]

ในฟิลด์ ID บัญชีให้กรอกหมายเลขบัญชี 636161780776 [3] หมายเลขบัญชีนนี้จำเป็นสำหรับคิวในการรับข้อมูลกิจกรรมไลฟ์ (Live Events)

นอกจากนี้คุณยังสามารถกำหนดคนที่จะรับข้อความในหัวข้อ ระบุคนที่สามารถรับข้อความจากคิว (Define who can receive messages from the queue) [4]

บันทึกคิว

บันทึกคิว

คุณสามารถเพิ่มรายละเอียดเพิ่มเติมในค่าปรับตั้ง การเข้ารหัส (Encryption) [1] คิวที่ส่งไม่สำเร็จ (Dead-letter queue) [2], และ แท็ก (Tags) [3] ค่าทั้งหมดนี้เป็นค่าเผื่อเลือก

จัดทำคิวของคุณโดยคลิกที่ปุ่ม จัดทำคิว (Create queue) [4]

ดูสิทธิ์อนุญาตสำหรับคิว

ดูสิทธิ์อนุญาตสำหรับคิว

จากพื้นที่รายละเอียดคิว สิทธิ์อนุญาตจะปรากฏขึ้นในแท็บ สิทธิ์อนุญาต (Permissions)

แก้ไขสิทธิ์อนุญาตโดยคลิกที่ไอคอนแก้ไข [1] ลบสิทธิ์อนุญาตโดยคลิกที่ไอคอนลบ [2]

การใช้ค่า SSE กับ SQS ของคุณ (เผื่อเลือก)

บริการ Canvas Live Events รองรับ SSE ที่เปิดใช้งานใน SQS เพื่อให้สามารถใช้ SSE จะต้องเปิดใช้งานการตั้งค่าต่อไปนี้กับ SQS ของลูกค้า

1. จัดทำ CMK หรือคีย์กำหนดเองผ่านนโยบายนี้ ซึ่งสามารถจัดทำได้ตามขั้นตอนต่อไปนี้เพื่อจัดทำ CMK ระหว่างขั้นตอนที่ 4 (ระบุสิทธิ์อนุญาตการใช้งานคีย์) ให้คลิกที่ "เพิ่มบัญชี AWS อื่น" ("Add another AWS Account") แล้วกรอกหมายเลขบัญชีของ Instructure 6361617808776

{
 "Id": "key-consolepolicy-3",
 "Version": "2012-10-17",
 "Statement": [
 {
 "Sid": "Enable IAM User Permissions",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of the customer account root"
 },
 "Action": "kms:*",
 "Resource": "*"
 },
 {
 "Sid": "Allow access for Key Administrators",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of admin user"
 },
 "Action": [
 "kms:Create*",
 "kms:Describe*",
 "kms:Enable*",
 "kms:List*",
 "kms:Put*",
 "kms:Update*",
 "kms:Revoke*",
 "kms:Disable*",
 "kms:Get*",
 "kms:Delete*",
 "kms:TagResource",
 "kms:UntagResource",
 "kms:ScheduleKeyDeletion",
 "kms:CancelKeyDeletion"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow use of the key",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:Encrypt",
 "kms:Decrypt",
 "kms:ReEncrypt*",
 "kms:GenerateDataKey*",
 "kms:DescribeKey"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow attachment of persistent resources",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:CreateGrant",
 "kms:ListGrants",
 "kms:RevokeGrant"
 ],
 "Resource": "*",
 "Condition": {
 "Bool": {
 "kms:GrantIsForAWSResource": "true"
 }
 }
 }
 ]
}??????????????????????????????????????????????????????????????????????????????

2. จัดทำคิว SQS และเปิดใช้งาน SSE แจ้ง ARN ของ CMK ที่จัดทำใหม่

3. จัดทำนโยบาย IAM ใหม่ที่ให้อนุญาตใช้งานคิวและคีย์ นโยบายจะต้องมีรูปแบบดังนี้ทั้งหมด

{
 "Version": "2012-10-17",
 "Statement": [{
 "Effect": "Allow",
 "Action": [
 "kms:GenerateDataKey",
 "kms:Decrypt"
 ],
 "Resource": "CMK arn"
 }, {
 "Effect": "Allow",
 "Action": [
 "sqs:SendMessage",
 "sqs:SendMessageBatch"
 ],
 "Resource": "queue arn"
 }]???????????????????????????????????????????????????

4. จัดทำผู้ใช้ IAM ใหม่และแนบนโยบายข้างต้น บันทึกคีย์ใช้งานและคีย์ลับ และแจ้งกับเราระหว่างการสมัครบริการ