AWS Chef ตอน 2 : เริ่ม install apache บน AWS Instance

หลังจากที่เราได้สร้าง instance กันไปแล้ว ก็มาลองใช้กันครับ เป้าหมายของผม คือ สร้าง account ของตัวเอง มี apache จนกระทั่งมี website ของตัวเองจนเสร็จสรรพนะครับ เริ่มด้วยมาดูง่ายๆกันก่อนเลยว่า เราจะใช้ chef กันได้อย่างไร ผมจะแสดงเป็นตัวอย่างที่ทำตามกันได้นะครับ ถ้ารายละเอียดเพิ่มเติมลองไปดูใน main site ของ chef นะครับ

อธิบายคร่าวๆ ในตัว Chef Repo จะประกอบไปด้วย Cookbook หลายๆอัน ซึ่งก็แล้วแต่เราว่า จะให้แต่ละ cookbook ทำอะไรบ้าง อย่างเช่น apache2 cookbook ที่มีอยู่แล้วใน community ก็คือไว้ใช้ install apache ลงบน node นั้นเอง ซึ่งเราก็สามารถปรับแต่ง attribute ตามต้องการได้ หรือ เราก็สามารถสร้าง cookbook ของเราเองได้เช่นกันครับ

ดังนั้น เริ่มด้วยการลอง install community cookbook ตัว apt, apache2 และ networking_basic กันก่อนนะครับ โดย apt ก็คือ apt-get บน ubuntu นั้นเอง แล้วก็ apache2 ก็ apache สำหรับ website ของเรา แล้วก็ networking_basic นั้น ก็รวมๆ พวก package เกี่ยวกับ networking ไว้เช่น lsof, curl, wget, etc.. ให้เราใช้ได้นะครับ

  1. เริ่มด้วยเข้าไปที่ Chef-repo ของเรา แล้วทำการใช้คำสั่ง knife cookbook site install <WANTED COOKBOOK> ในการเอา cookbook จาก community มาใช้นะครับ
    cd ~/Workspace/chef-repo
    knife cookbook site install apt
    knife cookbook site install apache2
    knife cookbook site install networking_basic
    
  2. หลังจากนั้นก็ upload cookbooks ที่เราเพิ่งดึงมาจาก community ไปใส่ใน hosted chef ของเรา
    knife cookbook upload -a
    
  3. เลือก cookbook ที่เราเอามาให้กับ node ของเรา
    knife node run_list add <your_node_name> 'recipe[apt],recipe[apache2],recipe[networking_basic]'
    # check again if the run_list added?
    knife node show <your_node_name>
    
  4. เสร็จแล้วก็มาเร่ิมรัน cookbook ที่เพิ่งใส่เข้าไปใน run_list กันเลย!!
    *NOTE ถ้า connection time out แปลว่า ssh-add อาจจะยังไม่ได้รัน แล้วมันหา sshkey ไม่เจอ ดังนั้นเพิื่อความชัวร์ให้รันก่อนนะครับ

    ssh-add ~/.ssh/<your key pairs.pem>
    knife ssh name:<node name> "sudo chef-client" -x ubuntu
    
  5. เป็นอันเสร็จครับ ลองเชคดู โดยไป open port 80 บน ec2 อย่างที่เราทำกับ ssh ในตอนแรกน่ะครับ แล้วก็ access เข้า site ผ่าน ip ของ instance ec2 ของเรา
    Screen Shot 2013-08-18 at 3.55.29 PMก็จะได้หน้าเพจเริ่มต้นของ apache ดังข้างล่างนี้เลยครับผม
    Screen Shot 2013-08-18 at 3.56.44 PM

ตอนต่อไป เรามาดูกันว่าเราจะสร้าง user บน instance แล้วโปะเวบไซด์ของเราบน folder ของ user นั้นได้อย่างไรกันครับ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s