10

के साथ एडब्ल्यूएस सर्टिफिकेट मैनेजर (एसीएम सर्टिफिकेट) का उपयोग करते समय जब आपके पास एडब्ल्यूएस सर्टिफिकेट मैनेजर के माध्यम से जारी किए गए आपके डोमेन के लिए प्रमाणपत्र है, तो आप उस प्रमाण पत्र को लोचदार बीनस्टॉक एप्लिकेशन में कैसे लागू करते हैं।लोचदार बीनस्टॉक

हां, लोचदार बीनस्टॉक एप्लिकेशन संतुलित लोड है और इसके साथ एक ईएलबी जुड़ा हुआ है।

मुझे पता है कि मैं इसे सीधे अपने ईएलबी पर लागू कर सकता हूं। लेकिन मैं इसे लोचदार बीनस्टॉक के माध्यम से लागू करना चाहता हूं ताकि एनवी कॉन्फ़िगरेशन क्लाउड फॉर्मेशन टेम्पलेट पर सहेजा जा सके।

उत्तर

12

मुझे पता चला, आप इसे लोचदार बीनस्टॉक कंसोल (कम से कम अभी तक नहीं) के माध्यम से नहीं कर सकते हैं। हालांकि आप इसे अभी भी ईबी क्ली, या aws cli के माध्यम से सेट कर सकते हैं।

ईबी CLI का उपयोग

मूल रूप से हम क्या करने की कोशिश कर रहे aws:elb:listener सेटिंग को अपडेट करने के लिए है, तो आप general options डॉक्स में संभव सेटिंग्स देख सकते हैं।

ईबी सीएलआई का उपयोग करना बहुत आसान है। मान लें कि हम पहले से ही हमारे प्रोजेक्ट के लिए awsebcli टूल सेट अप करते हैं, हम eb config कमांड का उपयोग कर सकते हैं।

यह आपके डिफ़ॉल्ट टर्मिनल संपादक को खोल देगा और आपको वाईएएमएल फ़ाइल के रूप में लिखे गए सेटिंग्स को बदलने की अनुमति देगा। जब आप कोई परिवर्तन करते हैं और इसे सहेजते हैं, तो eb config cmd स्वचालित रूप से आपके लोचदार बीनस्टॉक पर्यावरण के लिए सेटिंग अपडेट कर देगा।

आप अपने कॉन्फ़िग फ़ाइल के लिए निम्न सेटिंग जोड़ने की आवश्यकता होगी:

aws:elb:listener:443: 
    InstancePort: '80' 
    InstanceProtocol: HTTP 
    ListenerEnabled: 'true' 
    ListenerProtocol: HTTPS 
    PolicyNames: null 
    SSLCertificateId: CERTIFICATE_ARN_HERE 

बदलें अपनी एएमसी प्रमाण पत्र ARN को CERTIFICATE_ARN_HERE के लिए मूल्य। आप एडब्ल्यूएस प्रमाणपत्र प्रबंधक कंसोल में पा सकते हैं:

महत्वपूर्ण: आपका aws:elb:listener:443 की स्थापना MUST aws:elb:listener:80 सेटिंग से ऊपर रखा जाना। अन्यथा पर्यावरण विन्यास अद्यतन त्रुटि होगी।


एडब्ल्यूएस CLI

ही update-environment आदेश के माध्यम से सामान्य aws cli उपकरण का उपयोग कर पूरा किया जा सकता का उपयोग करना।

aws elasticbeanstalk update-environment \ 
--environment-name APPLICATION_ENV --option-settings \ 
Namespace=aws:elb:listener:443,OptionName=InstancePort,Value=80 \ 
Namespace=aws:elb:listener:443,OptionName=InstanceProtocol,Value=HTTP \ 
Namespace=aws:elb:listener:443,OptionName=ListenerProtocol,Value=HTTPS \ 
Namespace=aws:elb:listener:443,OptionName=SSLCertificateId,Value=CERTIFICATE_ARN_HERE 

नोट: जब आप ऊपर किसी भी विधि का के माध्यम से इसे अद्यतन करते हैं, लचीला बीनस्टॉक सांत्वना HTTPS सक्षम के रूप में नहीं दिखाया जाएगा। लेकिन भार संतुलन होगा, और यह क्लाउडॉर्मेशन टेम्पलेट पर भी लागू होगा साथ ही ईबी की कॉन्फ़िगरेशन में सहेजा जाएगा।

+1

मैं EB CLI द्वारा और .ebextensions तहत कॉन्फ़िग फ़ाइल को जोड़कर यह हमेशा कहते हैं कि यह कोशिश की है "सर्वर प्रमाणपत्र कुंजी के लिए नहीं मिला ...." http://egscr.com/JpcAa8 – Max

+0

@Max आप करते हैं .ebextensions फ़ोल्डर में कॉन्फ़िगरेशन फ़ाइल नहीं जोड़ें। ईबी क्ली कॉन्फ़िगरेशन फ़ाइल डाउनलोड करेगा और जब आप कोई परिवर्तन करेंगे तो इसे वापस लोचदार बीनस्टॉक पर दोबारा अपलोड करें। यह एक ebextension जोड़ने के समान नहीं है। –

+0

मैंने एक .ebextension फ़ाइल जोड़ा और यह काम किया। http://prnt.sc/b8k1xe – Max

2

मुझे लगता है कि उपयोगकर्ता कंसोल के माध्यम से ईबी लोड बैलेंसर को सबसे आसान तरीका बदल रहा है। परिवर्तन पर क्लिक करें और नया एसीएम प्रमाण पत्र चुनें। enter image description here

जब आप ईबी कॉन्फ़िगरेशन देखने, यह दिखाई नहीं देगा, लेकिन यह

0

आप CloudFormation साथ विशुद्ध रूप से यह कर सकते हैं का गठन किया जाएगा; हालांकि, जैसा कि लोचदार बीनस्टॉक के साथ काफी आम लगता है, कॉन्फ़िगरेशन विकल्प डॉक्स में खोजने के लिए बहुत कठिन हैं, क्योंकि वे अलग-अलग घटकों के लिए हैं जो लोचदार बीनस्टॉक शामिल हैं। जानकारी यहाँ है:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elbloadbalancer

लेकिन मूल रूप से है कि आप क्या करने की जरूरत है अपने टेम्पलेट के लिए प्रमाणपत्र के निर्माण जोड़ने और फिर में OptionSettingsAWS::ElasticBeanstalk::ConfigurationTemplate में इसे संदर्भ है:

"Certificate" : { 
     "Type": "AWS::CertificateManager::Certificate", 
     "Properties": { 
     "DomainName": "example.com", 
     } 
    }, 
// ... 
"ElasticbeanstalkTemplate": { 
     "Type": "AWS::ElasticBeanstalk::ConfigurationTemplate", 
     "Properties": { 
     "SolutionStackName": "MyEBStack", 
     "ApplicationName": "MyAppName", 
     "Description": "", 
     "OptionSettings": [{ 
      "Namespace": "aws:elb:listener:443", 
      "OptionName": "InstancePort", 
      "Value": "80" 
     }, { 
      "Namespace": "aws:elb:listener:443", 
      "OptionName": "InstanceProtocol", 
      "Value": "HTTP" 
     }, { 
      "Namespace": "aws:elb:listener:443", 
      "OptionName": "ListenerProtocol", 
      "Value": "HTTPS" 
     }, { 
      "Namespace": "aws:elb:listener:443", 
      "OptionName": "SSLCertificateId", 
      "Value": { 
      "Ref": "Certificate" 
      } 
     }, /*More settings*/] 
0

चेक जिसमें जोन आपने प्रमाण पत्र बनाया है और यदि यह लोचदार बीनस्टॉक क्षेत्र से मेल खाता है। मैं उन्हें विभिन्न क्षेत्रों में था इसलिए यह काम नहीं किया।

संबंधित मुद्दे