การตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS

บริการ AWS EFS นี้เกิดขึ้นมาเพื่อตอบโจทย์ของระบบที่มีขนาดใหญ่และมี Throughput การประมวลผลสูงโดยเฉพาะ โดยผู้ใช้งาน AWS สามารถบริหารจัดการและเพิ่มขยายระบบได้อย่างง่ายดายและรวดเร็ว และสามารถเข้าถึงไฟล์ต่างๆ ได้จาก Namespace เดียว

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ผมจะมาเขียนบทความเกี่ยวกับการตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS ต่อจากบทความ วิธีการสร้าง Amazon EFS และเชื่อมต่อกับ EC2

สิ่งที่ต้องมี

ก่อนอื่นเราต้องทำการติดตั้ง WordPress ใน Amazon Linux 2 นี้ก่อน จึงจะทำการตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS ได้

* เราสามารถตั้งค่า EFS ได้โดยการเชื่อมต่อกับ EFS ด้วย/mnt/efs *

เมื่อทำการติดตั้ง WordPress เรียบร้อยแล้ว มาเริ่มตั้งค่ากันในหัวข้อถัดไปได้เลย

การตั้งค่าโฟลเดอร์ Content ของ WordPress

เราจะทำการย้ายไฟล์ และสร้าง Symbolic Link ในหัวข้อนี้

ขั้นตอนแรกให้กลับไปที่โปรแกรม PuTTy ก่อนที่จะทำการตั้งค่า ติดตั้งหรือจัดการข้อมูล Server ใน Amazon Linux 2 ด้วยโปรแกรม PuTTy เราต้องเปลี่ยนec2-userให้เป็นrootด้วยคำสั่งนี้ทุกครั้ง

sudo su -

C-EFS-10-2

เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem ที่อยู่ใน EC2 Instance ของเรา
ที่มาร์คไว้คือพื้นที่จัดเก็บข้อมูลของ EFS

df

S-F-C-W-df

ก่อนที่จะทำการย้ายไฟล์หรือสร้าง Symbolic Link ไปยังที่ต่างๆ ต้องตรวจสอบ Path หรือ โฟลเดอร์ที่เรากำลังอยู่ ณ ตอนนั้นให้ดีก่อน จึงจะสามารถย้ายไฟล์ หรือ สร้าง Symbolic Link ได้โดยไม่มี Error เช่นในรูปภาพตัวอย่างนี้กำลังอยู่ที่ path /var/www/html/ ก็จะแสดงเป็น[root@ip-172-31-8-196 html] #เป็นต้น

เรียกใช้คำสั่งนี้เพื่อย้ายข้อมูลในโฟลเดอร์ uploads ใน wp-content ไปที่โฟลเดอร์ uploads ใน efs

mv /var/www/html/wp-content/uploads /mnt/efs/uploads

S-F-C-W-1

เรียกใช้คำสั่งนี้เพื่อสร้าง Symbolic Link โดยให้โฟลเดอร์ uploads ใน wp-content เป็น Shortcut ให้กับ/mnt/efs/uploads

ln -sf /mnt/efs/uploads wp-content/uploads

S-F-C-W-2
Symbolic Link คือ ตัว Shortcut ที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์ที่อยู่ที่อื่น สามารถอ่านเพิ่มเติมได้ที่ Symbolic Link คืออะไร? การสร้าง Symbolic Link ใน Linux

เพิ่มรูปภาพใน WordPress และสร้างโพสต์

มาที่หน้าเว็บไซต์ WordPress แล้วเพิ่มรูปภาพ
เลือกPosts» คลิกAdd New
S-F-C-W-3

ใส่ข้อมูลลงใน Posts ตามต้องการ จากนั้นคลิกPublish
S-F-C-W-4

คลิกPublishอีกครั้ง
S-F-C-W-5

คลิกView Post
S-F-C-W-6

หลังจากที่เขียน Post ในหน้า WordPress เสร็จแล้ว ให้กลับไปที่โปรแกรม PuTTy
S-F-C-W-7

จากนั้นเรียกใช้คำสั่งนี้เพื่อตรวจสอบไฟล์รูปภาพที่ถูก upload เข้ามาใน/mnt/efs/uploadsนี้
จะเห็นว่ามีไฟล์รูปที่ชื่อว่าSky.jpgเข้ามาอยู่ในโฟลเดอร์นี้แล้ว

ll /mnt/efs/uploads/2021/11

S-F-C-W-9
ชื่อโฟลเดอร์จะถูกเปลี่ยนไปตามเดือน/ปี ที่เราได้ทำการ upload ข้อมูลใน WordPress ซึ่งผมได้ upload เดือน 11 ปี 2021 ก็จะใช้คำสั่งด้านบน

แต่ถ้าผมทำการ upload ในเดือน 12 ปี 2021 ผมต้องใช้คำสั่งด้านล่างนี้

ll /mnt/efs/uploads/2021/12

ประโยชน์ของการใช้งาน EFS

บริการ AWS EFS นี้เกิดขึ้นมาเพื่อตอบโจทย์ของระบบที่มีขนาดใหญ่และมี Throughput การประมวลผลสูงโดยเฉพาะ โดยผู้ใช้งาน AWS สามารถบริหารจัดการและเพิ่มขยายระบบได้อย่างง่ายดายและรวดเร็ว และสามารถเข้าถึงไฟล์ต่างๆ ได้จาก Namespace เดียวและมีโครงสร้างของไฟล์แบบเดียวกันทั้งหมด ดังนั้น AWS EFS นี้จึงเหมาะสมกับระบบเว็บไซต์ขนาดใหญ่, ระบบ High Performance Computing (HPC) และ Big Data ที่ต้องมีการเข้าถึงไฟล์จำนวนมากอยู่ตลอดเวลา

EFS นี้เป็น POSIX-compliant File Systems ที่สามารถเชื่อมต่อเข้ากับ EC2 Instance ได้ผ่านทาง NFS โดยไม่จำกัดขนาดสูงสุดในการใช้งาน รวมถึงไม่ต้องมีการทำ Provisioning ล่วงหน้าทั้งในแง่ของพื้นที่และ Bandwidth ซึ่ง AWS EFS จะทำการสำรองข้อมูลไฟล์ต่างๆ ของเราเอาไว้ในหลายๆ Availability Zones ให้โดยอัตโนมัติเพื่อความทนทาน โดยทุกครั้งที่ขนาดของ EFS ที่เราใช้งานมีการเติบโตมากขึ้น ระบบจะทำการเพิ่ม Performance ของระบบ Storage เหล่านี้ให้เราเองด้วยโดยอัตโนมัติ

สรุป

บทความนี้เป็นการสาธิตการย้ายไฟล์ และสร้าง Symbolic Link ใน wp-content/uploads ไปยัง /mnt/efs/uploads แล้วเวลาที่เราทำการเขียน Post ใน WordPress โดยมีการ upload รูปภาพนั้น ไฟล์รูปภาพก็จะเข้ามาอยู่ใน /mnt/efs/uploads นี้

บทความที่เกี่ยวข้อง