2016-03-02 5 views
8

तो मैं एक नए उदाहरण पर पहली बार aws पर अपने ec2 उदाहरणों पर उत्तर देने की कोशिश कर रहा हूं, लेकिन हर बार जब मैं एक नाटक चलाने की कोशिश करता हूं तो मैं इस त्रुटि को हल नहीं कर सकता संदेश:msg: कोई हैंडलर प्रमाणित करने के लिए तैयार नहीं था। 1 हैंडलर की जांच की गई। ['HmacAuthV4Handler'] अपने क्रेडेंशियल्स की जांच करें

PLAY [localhost] 
************************************************************** 

TASK: [make one instance] 
***************************************************** 
failed: [localhost] => {"failed": true} msg: No handler was ready to 
authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check 
your credentials 

FATAL: all hosts have already failed -- aborting 

PLAY RECAP 
******************************************************************** 
    to retry, use: --limit @/home/ubuntu/ans_test.retry 

localhost     : ok=0 changed=0 unreachable=0 
failed=1 

मुझे लगता है कि मेरे आईएएम उपयोगकर्ता और समूह में अनुमतियों में कुछ गड़बड़ हो सकती है। मैंने अपना आईएएम उपयोगकर्ता और समूह ReadOnlyAccess, AdministratorAccess और PowerUserAccess दिया है। 'मेरे वास्तविक आईडी और कुंजी मानों से बदल abc123' AK123'and 'के साथ

export AWS_ACCESS_KEY_ID='AK123' 
    export AWS_SECRET_ACCESS_KEY='abc123' 

: मैं एक पहुँच आईडी और गुप्त पहुँच कुंजी है कि मैं आदेशों के साथ पर्यावरण चर के रूप में स्थापित करने हूँ है। जवाब देने योग्य ec2 कार्य करने के लिए मुझे और क्या करने की ज़रूरत है?

अद्यतन:
मैंने समस्या को ठीक किया, मुझे लगता है कि मुझे वास्तव में पर्यावरणीय चर के बारे में ठोस समझ नहीं है। मैं सिर्फ अपनी EC2 कार्य के अंदर मेरी aws_access_key और aws_secret_key की स्थापना करके यह तय, नीचे मेरे कार्य प्लेबुक

- hosts: localhost 
    connection: local 
    gather_facts: False 

    tasks: 
    #this task creates 5 ec2 instances that are all named demo and are copies of the image specified 
    - name: Provision a set of instances 
     ec2: 
     aws_access_key: ..... 
     aws_secret_key: .... 
     key_name: ..... 
     group: ..... 
     instance_type: t2.micro 
     image: ...... 
     region: us-east-1 
     ec2_url: ....... 
     wait: true 
     exact_count: 5 
     count_tag: 
      Name: Demo 
     instance_tags: 
      Name: Demo 
     register: ec2 

मुझे लगता है कि अब मैं ansible तिजोरी का उपयोग कर बस अपना कुंजी और आईडी धारण करने के लिए शुरू करने के लिए की जरूरत है।

+0

आप अपने प्रश्न में प्लेबुक में शामिल कर सकते हैं? – jonatan

+0

मुझे लगता है कि उत्तर संपूर्ण खेल के दौरान पर्यावरण चर नहीं रखेगा। क्या आपने आदेश में चर सेट करने की कोशिश की है, जैसे 'कमांड: "निर्यात AWS_ACCESS_KEY_ID =' AK123 'और निर्यात AWS_SECRET_ACCESS_KEY =' abc123 '&& वास्तविक कमांड" '? –

उत्तर

3

मैंने समस्या तय की, मुझे लगता है कि मुझे वास्तव में पर्यावरणीय चर के बारे में ठोस समझ नहीं है। मैं सिर्फ अपनी EC2 कार्य के अंदर मेरी aws_access_key और aws_secret_key की स्थापना करके यह तय, नीचे मेरे कार्य प्लेबुक

- hosts: localhost 
    connection: local 
    gather_facts: False 

    tasks: 
    #this task creates 5 ec2 instances that are all named demo and are copies of the image specified 
    - name: Provision a set of instances 
     ec2: 
     aws_access_key: ..... 
     aws_secret_key: .... 
     key_name: ..... 
     group: ..... 
     instance_type: t2.micro 
     image: ...... 
     region: us-east-1 
     ec2_url: ....... 
     wait: true 
     exact_count: 5 
     count_tag: 
      Name: Demo 
     instance_tags: 
      Name: Demo 
     register: ec2 

मुझे लगता है कि अब मैं ansible तिजोरी का उपयोग कर बस अपना कुंजी और आईडी धारण करने के लिए शुरू करने के लिए की जरूरत है।

8

इस समस्या को मारने वाले लोगों के लिए, आप प्लेबुक में become/sudo: False और connection: local सेट करके इसे हल कर सकते हैं।

--- 
- hosts: localhost 
    connection: local 
    become: False 
    tasks: 
    ... 
    ... 

आशा है कि इससे दूसरों की मदद मिलेगी।

1

पर अच्छी तरह से प्रलेखित है मेरी मामले में।

खराब:

export AWS_ACCESS_KEY_ID=AK123 
export AWS_SECRET_ACCESS_KEY=abc123 

अच्छा:

export AWS_ACCESS_KEY_ID='AK123' 
export AWS_SECRET_ACCESS_KEY='abc123' 

अच्छा:

export AWS_ACCESS_KEY_ID="AK123" 
export AWS_SECRET_ACCESS_KEY="abc123" 
+0

यह महत्वपूर्ण है कि आप में से बहुत से var में विशेष वर्ण हैं। उदाहरण के लिए एकल उद्धरण $ या विस्तार नहीं करेंगे, जहां युगल होगा। यदि आप इन पात्रों के साथ युगल का उपयोग करते हैं तो यह लेख विफलताओं का कारण बन जाएगा – krad

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