คำถามติดแท็ก elastic-beanstalk

AWS Elastic Beanstalk เป็นบริการ PaaS (Platform as a Service) ที่ช่วยให้คุณปรับใช้และจัดการแอปพลิเคชันใน AWS Cloud ได้อย่างรวดเร็ว Elastic Beanstalk จัดการรายละเอียดการปรับใช้ของการจัดเตรียมความจุการจัดสรรภาระงานการปรับขนาดอัตโนมัติและการตรวจสอบความสมบูรณ์ของแอปพลิเคชัน

3
ที่อยู่ IP แบบคงที่สำหรับทราฟฟิกขาออกจากกลุ่มการปรับขนาดอัตโนมัติของ AWS
ฉันจะมีอินสแตนซ์ของ EC2 จำนวนมากในกลุ่มการแปลงสัญญาณอัตโนมัติ Elastic Beanstalk ในซับเน็ตเริ่มต้นใน VPC แอพในอินสแตนซ์ EC2 เหล่านี้จำเป็นต้องเชื่อมต่อกับบริการของบุคคลที่สามซึ่งใช้รายการที่อยู่ IP ที่อนุญาตพิเศษเพื่ออนุญาตการเข้าถึง ดังนั้นฉันต้องการที่อยู่ IP แบบคงที่อย่างน้อยหนึ่งที่ฉันสามารถมอบให้กับผู้ให้บริการนี้เพื่อให้สามารถเพิ่มในรายการที่อนุญาต ความเข้าใจของฉันคือวิธีเดียวที่จะได้รับ IP แบบคงที่คือการได้รับที่อยู่ IP แบบยืดหยุ่น และฉันสามารถเชื่อมโยง Elastic IP กับอินสแตนซ์ EC2 ครั้งละหนึ่งครั้งเท่านั้น - ฉันไม่สามารถเชื่อมโยงกับซับเน็ตหรือเกตเวย์อินเทอร์เน็ตทั้งหมดของฉันได้ (ถูกต้องหรือไม่) ดังนั้นฉันต้องการ Elastic IP สำหรับแต่ละอินสแตนซ์ EC2 ดังนั้นแต่ละรายการสามารถแยกกันอยู่ในรายการที่อนุญาต มันจะทำงานยังไงถ้าการเพิ่มสัญญาณอัตโนมัติเพิ่มอินสแตนซ์อื่น? ฉันควรมี EC2 หนึ่งอินสแตนซ์ที่มี Elastic IP หรือไม่ และกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่านอินสแตนซ์นั้นหรือไม่ ถ้าเป็นเช่นนั้นอินสแตนซ์นั้นจำเป็นต้องมีเพื่อวัตถุประสงค์นี้เพียงอย่างเดียวหรือเป็นหนึ่งในอินสแตนซ์ที่ใช้แอพของฉันหรือไม่

9
AWS: สภาพแวดล้อมชื่อ *** อยู่ในสถานะที่ไม่ถูกต้องสำหรับการดำเนินการนี้ จะต้องพร้อม
ฉันได้รับข้อความเมื่อฉันพยายามปรับใช้แอพ php ของฉันบน EC2 โดยใช้ Elastic Beanstalk Environment named *** is in an invalid state for this operation. Must be Ready. ฉันไม่สามารถปรับใช้ สถานะเซิร์ฟเวอร์กำลังทำงานไม่มีคำเตือน ประสบการณ์ของฉันมี จำกัด ณ จุดนี้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร

6
วิธีเชื่อมโยงอินสแตนซ์ RDS ที่มีอยู่กับสภาพแวดล้อม Elastic Beanstalk ได้อย่างไร
ฉันสร้างอินสแตนซ์ RDS ของฉันก่อนที่จะสร้างสภาพแวดล้อม Elastic Beanstalk ของฉัน ทั้งสองทำงานร่วมกันโดยไม่มีปัญหา แต่ฉันต้องการให้พวกเขาเชื่อมโยงกันและให้พารามิเตอร์ RDS สามารถเข้าถึงได้ผ่านRDS_*ตัวแปรสภาพแวดล้อม หน้าการกำหนดค่า Elastic Beanstalk พูดว่า: แม้ว่าลิงก์แรกจะสร้างอินสแตนซ์ RDS แบบแทนที่และลิงก์ไปยังสภาพแวดล้อมปัจจุบัน แต่ลิงค์ที่สองจะเปลี่ยนเส้นทางไปยังหน้าเอกสารนี้ ซึ่งน่าเสียดายเพียงอธิบายถึงวิธีการสร้างอินสแตนซ์ RDS ใหม่ แต่ไม่ใช่วิธีการเชื่อมโยงอินสแตนซ์ที่มีอยู่ ฉันจะเชื่อมโยงอินสแตนซ์ RDS ที่มีอยู่กับสภาพแวดล้อม Elastic Beanstalk ของฉันได้อย่างไร

1
วิธีเพิ่มคำสั่งไปยัง php.ini บน AWS Elastic Beanstalk?
ฉันต้องการเพิ่มการตั้งค่า PHP เหล่านี้ในสภาพแวดล้อม Elastic Beanstalk ของฉัน: upload_max_filesize = 64M post_max_size = 64M ตัวเลือกเหล่านี้ไม่สามารถตั้งค่าด้วยoption_settingsใน.ebextensions: Namespace | Extend ---------------------------------------------|------- aws:elasticbeanstalk:application:environment | Yes aws:elasticbeanstalk:container:php:phpini | No ฉันจะเพิ่มการตั้งค่าแบบกำหนดเองphp.iniในคอนเทนเนอร์ Elastic Beanstalk ได้อย่างไร

3
ใช้การปรับปรุงความปลอดภัยอัตโนมัติสำหรับ AWS Elastic Beanstalk
ฉันเป็นแฟนของ Heroku มาตั้งแต่วันแรกสุด แต่ฉันชอบความจริงที่ว่า AWS Elastic Beanstalk ช่วยให้คุณควบคุมลักษณะของอินสแตนซ์ได้มากขึ้น สิ่งหนึ่งที่ฉันชอบเกี่ยวกับ Heroku คือความจริงที่ว่าฉันสามารถปรับใช้แอพและไม่ต้องกังวลกับการจัดการมัน ฉันสมมติว่า Heroku มั่นใจว่าการอัปเดตความปลอดภัยของระบบปฏิบัติการทั้งหมดนั้นถูกนำไปใช้ในเวลาที่เหมาะสม ฉันแค่ต้องแน่ใจว่าแอพของฉันปลอดภัย การวิจัยเริ่มต้นของฉันเกี่ยวกับ Beanstalk แสดงให้เห็นว่าแม้ว่ามันจะสร้างและกำหนดค่าอินสแตนซ์สำหรับคุณหลังจากนั้นมันก็ย้ายไปที่กระบวนการจัดการด้วยตนเองที่มากขึ้น การปรับปรุงความปลอดภัยจะไม่ถูกนำไปใช้กับอินสแตนซ์โดยอัตโนมัติ ดูเหมือนว่ามีความกังวลสองด้าน: ใหม่การเปิดตัว AMI - เมื่อมีการเปิดตัว AMI ใหม่ดูเหมือนว่าเราต้องการเรียกใช้งานล่าสุด (น่าจะปลอดภัยที่สุด) แต่งานวิจัยของฉันดูเหมือนจะบ่งบอกว่าคุณต้องเปิดการตั้งค่าใหม่ด้วยตนเองเพื่อดูเวอร์ชัน AMI ล่าสุดจากนั้นสร้างสภาพแวดล้อมใหม่เพื่อใช้เวอร์ชันใหม่นั้น มีวิธีอัตโนมัติที่ดีกว่าในการหมุนอินสแตนซ์ของคุณไปเป็นรุ่น AMI ใหม่หรือไม่? ในระหว่างการเปิดตัวจะมีการอัพเดทความปลอดภัยสำหรับแพ็คเกจ ดูเหมือนว่าเราต้องการอัพเกรดสิ่งเหล่านั้นเช่นกัน ดูเหมือนว่างานวิจัยของฉันจะระบุว่าผู้ใช้ติดตั้งคำสั่งเพื่อเรียกใช้การปรับปรุงยำ. แต่เนื่องจากอินสแตนซ์ใหม่ถูกสร้าง / ทำลายตามการใช้งานดูเหมือนว่าอินสแตนซ์ใหม่จะไม่ได้รับการอัปเดตเสมอ (เช่นเวลาระหว่างการสร้างอินสแตนซ์และการอัปเดต yum ครั้งแรก) ดังนั้นบางครั้งคุณจะมีกรณีที่ไม่ได้รับการแก้ไข และคุณก็จะมีอินสแตนซ์ที่ปะต่อกันอยู่เรื่อย ๆ จนกว่าจะมีการใช้งาน AMI ใหม่ ข้อกังวลอื่น ๆ …

6
จะอัปเกรดเป็น AMI ล่าสุดใน AWS Elastic Beanstalk ได้อย่างไร
ฉันใช้งานแอพพลิเคชั่นบน AWS Elastic Beanstalk และดูเหมือนว่าฉันจำเป็นต้องสร้างสภาพแวดล้อมใหม่ถ้าฉันต้องการใช้ AMI ล่าสุด หากฉันรู้ว่ารหัส AMI ล่าสุดคืออะไรฉันสามารถอัปเดตได้ในการกำหนดค่าสภาพแวดล้อม มีสถานที่ที่ฉันสามารถหา ID ของ Elastic Beanstalk AMIs ล่าสุดหรือดีกว่านั้นเป็นไปได้ไหมที่จะมีการแทนที่อินสแตนซ์ของเวอร์ชันใหม่โดยอัตโนมัติทุกครั้งที่มีเวอร์ชันใหม่ออกมา?

2
ข้อดีและข้อเสียของ AWS Elastic Beanstalk เมื่อเปรียบเทียบกับกลยุทธ์การปรับใช้อื่น ๆ คืออะไร
ฉันค่อนข้างใหม่สำหรับทั้ง Netflix OSS stack และการปรับใช้โดยทั่วไป ในฐานะที่เป็นพื้นฐานสำหรับระดับความรู้ในปัจจุบันของฉัน ops-wise บทบาทหลักของฉันคือเป็นวิศวกรแอปพลิเคชันส่วนหน้า อย่างไรก็ตามฉันสนุกกับการดำเนินการของสิ่งต่าง ๆ ดังนั้นฉันจึงพยายามตั้งค่ากลยุทธ์การปรับใช้ใหม่และเครื่องมือสำหรับโครงการใหม่ เป้าหมายของเรา ปรับใช้ง่ายสุด (เราต้องการกดปุ่มเพื่ออัปเดตการผลิต) ปรับใช้อัตโนมัติเพื่อทดสอบสภาพแวดล้อม (ใช้ Jenkins) บำรุงรักษาง่าย (เรามีแอพที่เขียนไม่ต้องการใช้เวลาเล่นซอกับปัญหาการผลิต) ความสามารถในการจัดการสถาปัตยกรรมที่มุ่งเน้นบริการ (แอพขนาดเล็กจำนวนมากภาษาต่างๆและที่เก็บข้อมูล) มีความยืดหยุ่นเพียงพอที่จะทำให้แน่ใจว่าเราจะไม่ต้องเปลี่ยนกลยุทธ์เมื่อใดก็ตามในไม่ช้า (เรากำลังพยายามหนีจาก RightScale ไปแล้ว) เราตกลงกับการตั้งค่าเริ่มต้นอีกเล็กน้อยถ้าทำเช่นนั้นจะช่วยให้เราปวดหัวในอนาคต ดังนั้นตามบรรทัดเหล่านี้ฉันได้ฟังพอดแคสต์ดูการพูดคุยของ Ops และอ่านบทความบล็อกจำนวนมากและจากเป้าหมายของเราและสิ่งที่ฉันได้นำไปสู่การปฏิบัติที่ดีที่สุดเราได้เริ่มวางแผนโดยใช้ แอสการ์ดกลิ้งแพ็คเกจของเราไปไว้ในขวดแล้วกลิ้งไปที่ AMI ทั้งหมดนี้เราวางแผนไว้แล้วและชอบข้อดีของกระบวนการเมื่อเทียบกับการใช้เซิร์ฟเวอร์ Chef และการรวมอินสแตนซ์ได้ทันที (เรารู้สึกว่านี่เป็นข้อผิดพลาดที่เกิดขึ้นได้ง่ายเนื่องจากระยะเวลาที่ จำกัด ของเรา อย่างไรก็ตามผู้ร่วมงานมองดูตัวเขาเองเล็กน้อยและรู้สึกว่า Elastic Beanstalk ตรงตามความต้องการของเรา ฉันได้ดูและสร้างสภาพแวดล้อมการทดสอบด้วยไฟล์ WAR และฐานข้อมูล RDS ที่แนบมา สิ่งต่าง ๆ ดูเหมือนจะใช้งานได้และฉันเชื่อว่าเราสามารถปรับใช้สภาพแวดล้อมการทดสอบโดยใช้ Jenkins …

1
ตัวแปรสภาพแวดล้อมของ Elastic Beanstalk เป็นสถานที่ที่เหมาะสมสำหรับเก็บค่าความลับหรือไม่
ฉันได้ปรับใช้แอปพลิเคชัน Django ของฉันกับ Elastic Beanstalk ด้วยความตั้งใจที่จะใช้อินเตอร์เฟสการกำหนดค่าตัวแปรสภาพแวดล้อมเพื่อเก็บคีย์ API ของฉันแทนที่จะเก็บไว้ในแหล่งที่มาของฉัน (ดังอธิบายไว้ที่นี่/programming//a/17878600 ) หลังจากทำสิ่งนี้ฉันพบว่าสิ่งที่ Beanstalk เรียกว่าตัวแปรสภาพแวดล้อมไม่ใช่ตัวแปรสภาพแวดล้อมของเชลล์ (ตามที่กล่าวไว้ที่นี่/programming//a/24564832/378638 ) และถูกเก็บไว้ในอินสแตนซ์ในไฟล์กำหนดค่า (เช่น อธิบายไว้ที่นี่/programming//a/24566283/378638 ) ดูเหมือนว่าปัญหาด้านความปลอดภัยสำหรับฉัน สิ่งนี้ไม่ได้เป็นการทำลายวัตถุประสงค์ของการเก็บรหัสลับไว้จากแหล่งที่มาหรือไม่? ฉันเข้าใจว่าพวกเขาไม่ได้อยู่ใน repo อีกต่อไป แต่พวกเขายังสามารถเข้าถึงได้ในอินสแตนซ์ ฉันเข้าใจความเสี่ยงผิด ๆ หรือไม่? ฉันดูแลระบบโดยการสืบทอดดังนั้นโปรดแก้ตัวความไม่รู้ของฉันที่นี่ ฉันควรโหลดตัวแปร Beanstalk เป็นตัวแปรสภาพแวดล้อมเชลล์ผ่านไฟล์การกำหนดค่าและดำเนินการต่อเนื่องจากไฟล์สามารถเข้าถึงได้ผ่านรูทเท่านั้นหรือข้อกังวลของฉันนั้นถูกต้องหรือไม่ ขอขอบคุณ.

2
วิธีเพิ่มการหมดเวลาของการปรับใช้ Elastic Beanstalk
เป็นส่วนหนึ่งของการปรับใช้แอปพลิเคชันของฉันฉันมีบางอย่างcommandsใน.ebextensionsไฟล์กำหนดค่าของฉัน อาจใช้เวลา 20 นาทีหรือมากกว่านั้นเพื่อให้คำสั่งทั้งหมดเสร็จสมบูรณ์ในครั้งแรกที่คำสั่งนั้นถูกเรียกใช้ (การโคลนที่เก็บข้อมูลขนาดใหญ่) น่าเสียดายนี่เป็นสาเหตุที่ทำให้หมดเวลาระหว่างการปรับใช้: INFO Deploying new version to instance(s). WARN The following instances have not responded in the allowed command timeout time (they might still finish eventually on their own). INFO Command execution completed. Summary: [Successful: 0, TimedOut: 1]. เป็นไปได้หรือไม่ที่จะเพิ่มการหมดเวลานี้ ฉันไม่พบตัวเลือกในการตั้งค่าสภาพแวดล้อมของฉัน

4
Elastic Beanstalk บังคับให้ https
ฉันมีปัญหาในการบังคับใช้ HTTPS กับเว็บไซต์ที่ฉันใช้งานผ่าน AWS Elastic Beanstalk มันเป็นแอพพลิเคชั่นส่วนหน้าโดยใช้ EmberJS ฉันอยู่ในแวดวงเป็นเวลาหลายวันเพื่อหาวิธีเปลี่ยนเส้นทางการรับส่งข้อมูล http ไปยัง https ฉันใช้ Amazon Linux AMI บนเครื่อง EC2 ของฉัน ฉันมาถึงข้อสรุป (ยังไม่แน่ใจว่าถูกต้องหรือไม่) ว่าไม่อยู่ใน Elastic Beanstalk ที่ฉันบังคับ HTTPS ฉันอนุญาตให้ทั้ง HTTP และ HTTPS ผ่าน Elastic Beanstalk Load Balancer ของฉันและพยายามเปลี่ยนเส้นทางบนเซิร์ฟเวอร์ ที่นี่ฉันกำลังเจอปัญหา ฉันค้นหาคำตอบมากมายเกี่ยวกับการเขียนกฎใหม่โดยไม่ต้องmod_rewriteอาศัยX-Forwarded-ProtoHeader แต่ไฟล์นั้นไม่มีอยู่ในเครื่อง EC2 ของฉันตามการค้นหาค้นหา ฉันพยายามสร้างไฟล์ปรับแต่งภายใน.ebextensionsไดเรกทอรีด้วย แต่ก็ไม่ได้ผลเหมือนกัน สิ่งสำคัญที่ฉันพยายามทำคือให้ผู้ใช้ไปที่ https เมื่อพยายามกดที่อยู่ http คำแนะนำหรือข้อเสนอแนะใด ๆ ขอบคุณมาก! …

2
ให้สิทธิ์การอ่านแบบ EC2 IAM ในการเข้าถึง S3 bucket
ฉันมีแอพ AWS Elastic Beanstalk Rails ที่ฉันกำหนดค่าผ่านสคริปต์การตั้งค่าเพื่อดึงไฟล์จาก S3 bucket เมื่อฉันเริ่มแอปพลิเคชันฉันยังคงได้รับข้อผิดพลาดต่อไปนี้ในบันทึก ( เปลี่ยนชื่อถังเพื่อความปลอดภัย ): Failed to retrieve https://s3.amazonaws.com/my.bucket/bootstrap.sh: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message> ไฟล์กำหนดค่า: packages: yum: git: [] files: /opt/elasticbeanstalk/hooks/appdeploy/pre/01a_bootstrap.sh: mode: "00755" owner: root group: root source: https://s3.amazonaws.com/my.bucket/bootstrap.sh สภาวะแวดล้อม Elastic Beanstalk ถูกตั้งค่าด้วยaws-elasticbeanstalk-ec2-roleบทบาท IAM เนื่องจากเป็นบทบาทอินสแตนซ์ บทบาทนี้มีนโยบายต่อไปนี้: { "Version": "2012-10-17", …

1
ใบรับรอง AWS SSL ของฉันไม่ปรากฏในคอนโซลของ Elastic Beanstalk
ฉันสร้างใบรับรอง SSL ใหม่โดยใช้บริการของ AWS สำหรับโดเมนย่อยที่ชี้ไปยังอินสแตนซ์ Elastic Beanstalk ปรากฏในตัวจัดการใบรับรองอย่างถูกต้อง ... แต่จะไม่ปรากฏในเมนูดร็อปดาวน์ Load Balancer ของอินสแตนซ์ EB ... ตามเอกสารประกอบ (การกำหนดค่า Load Balancer ของ Elastic Beanstalk Environment ของคุณเพื่อยกเลิก HTTPS ) สิ่งที่ฉันต้องทำคือ "เลือกใบรับรองของคุณจากเมนูดรอปดาวน์รหัสใบรับรอง SSL" แต่ไม่มีอยู่ ฉันพยายามเพิ่มใบรับรอง SSL ผ่านไฟล์. config โดยใช้ CLI และฉันได้รับข้อผิดพลาดดังต่อไปนี้: ข้อผิดพลาด: บริการ: AmazonCloudFormation, ข้อความ: สแต็กชื่อ 'awseb-e-upxkf5kr8b-stack' การดำเนินการยกเลิก สถานะปัจจุบัน: 'UPDATE_ROLLBACK_IN_PROGRESS' เหตุผล: null ข้อผิดพลาด: การอัปเดตตัวโหลดบาลานซ์ชื่อ: …

4
เรียกใช้งานอินสแตนซ์ผ่าน Elastic Beanstalk โดยไม่กำหนดค่า IP ยืดหยุ่น
ฉันกำลังสร้างเครื่องมือเพื่อปรับใช้อิมเมจนักเทียบท่ากับ EC2 ผ่านทาง ElasticBeanstalk ดังนั้นทีมงาน dev สามารถสาธิตการทำงานของพวกเขาได้อย่างรวดเร็วโดยไม่ต้องรวมเข้าด้วยกัน ฉันไม่ต้องการให้เปิดใช้งาน IP แบบยืดหยุ่นได้สำหรับแอปเหล่านี้เนื่องจากอายุสั้น เหตุผลที่ฉันถามนี่คือเพราะหากเครื่องมือของฉันสร้างมากกว่า 5 แอพ (และมันค่อนข้างเร็ว) แอพใหม่ใด ๆ จะล้มเหลวเพราะไม่สามารถกำหนด IP แบบยืดหยุ่นให้กับแอพใหม่ได้ นี่เป็นเพราะโดยทั่วไปบัญชี AWS มีIP แบบยืดหยุ่นได้สูงสุด 5รายการ ฉันสามารถไปที่เว็บคอนโซลของ aws และเลือก 'Disassociate Elastic IP Address' (ดูด้านล่าง) บนอินสแตนซ์หลังจากนั้นอินสแตนซ์ ec2 จะได้รับ ip ใหม่ (หลังจากนั้นไม่กี่นาที) นี่คือสิ่งที่ฉันต้องการ แต่ฉันต้องการที่จะทำแบบเป็นโปรแกรมและต้องการที่จะบูตแอพโดยไม่ต้องมันแทนที่จะทำมันเมื่อมีการสร้างอินสแตนซ์ มีตัวเลือกการกำหนดค่าที่ฉันสามารถใช้เพื่อปิดใช้งาน Elastic IP สำหรับอินสแตนซ์ใหม่หรือไม่ ฉันใช้โหนดaws-sdkแต่เคล็ดลับในภาษาใด ๆ ที่จะทำ ฉันกำลังสร้างm1.smallอินสแตนซ์เดียว หากสิ่งนี้เป็นไปไม่ได้เมื่อเริ่มต้นฉันจะต้องยกเลิกการเชื่อมโยง IP …

2
ElasticBeanstalk: ตั้งค่าประเภทอินสแตนซ์และกลุ่มความปลอดภัยจากไฟล์ปรับแต่ง
ฉันมีปัญหาในการกำหนดประเภทอินสแตนซ์และกลุ่มความปลอดภัยผ่าน.ebextensions/*.configไฟล์ในรูทของชุดแอปพลิเคชันของฉัน สั้น ๆ ฉันมีสองไฟล์กำหนดค่าที่มีลักษณะดังนี้: .ebextensions/01-options.config: option_settings: [...] - namespace: 'aws:elasticbeanstalk:application:environment' option_name: CONFIG_FILE_ONE value: '01-options.config' [...] และ.ebextensions/02-app-test-env.config: option_settings: - namespace: 'aws:elasticbeanstalk:application:environment' option_name: NODE_ENV value: 'Test' - namespace: 'aws:elasticbeanstalk:application:environment' option_name: CONFIG_FILE_TWO value: '02-app-test-env' - namespace: aws:autoscaling:launchconfiguration option_name: InstanceType value: t2.micro - namespace: aws:autoscaling:launchconfiguration option_name: SecurityGroups value: sg-ys75dfs2 ตอนนี้ตัวแปรสภาพแวดล้อมมีการตั้งค่าเพื่อให้ฉันรู้ว่ามันอ่านไฟล์ config ของทั้งสอง แต่กลุ่มรักษาความปลอดภัยและประเภทเช่นไม่ได้เป็นชุด - …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.