CloudFormation이 사용자 데이터를 기다리도록하기

프라나 브 아난드

EC2 인스턴스를 생성하고 UserData를 사용하여 무언가를 설치하는 cloudformation 스택이 있습니다. Cloudformation 은 RedHat를 기반으로 EC2 인스턴스 생성시 즉시 CREATE_COMPLETE보고합니다 . 그러나이 시점에서 사용자 데이터가 완료되는 데 약 40 분이 걸리기 때문에 인스턴스를 실제로 사용할 수 없습니다. 문서를 읽고 cfn-signal을 시도했지만 성공적으로 실행할 수 없었습니다.

누군가 정확히 어떻게해야하는지 말해 줄 수 있습니까?

EC2Instance:
  Type: AWS::EC2::Instance
  Properties:
    CreditSpecification:
      CPUCredits: standard
    IamInstanceProfile:
      Fn::ImportValue:
        !Sub ${InstanceProfileStackName}-instanceProfile
    ImageId: !Ref ImageId
    InstanceInitiatedShutdownBehavior: stop
    InstanceType: !Ref InstanceType
    SubnetId: !Ref SubnetId
    SecurityGroupIds:
      - !Ref DefaultSecurityGroup
      - !Ref WebSecurityGroup
    UserData:
      Fn::Base64: !Sub |
        #!/bin/bash
        set -e
        yum update -y

위는 내 Cloudformation 템플릿에서 잘린 부분입니다.

최신 정보

다음 줄이있는 스크립트가 있습니다.

source scl_source enable rh-python36

내 인스턴스의 기본값은 python2.7이지만 python3.6으로 pip 패키지를 설치해야했습니다. 그것이 cfn-signal이 실패했는지 확실하지 않습니다.

스크립트가 마지막 단계까지 진행 중이며 실패한 것 같습니다. EC2 IP에서 레코드 세트를 생성하고 있지만 Cloudformation은 여전히 ​​EC2 인스턴스가 완료되지 않은 것으로 생각하고 시간 초과까지 기다리고 있습니다.

인스턴스 스냅 샷의 스크린 샷 EC2 콘솔의 이미지 스냅 샷 스크린 샷입니다.

로그 파일 끝은 다음과 같습니다. 이것은 내 로그 파일의 끝입니다

또한 내 로그 파일 이름은 /var/log/cloud-init.log입니다. 해당 디렉토리에는 cloud-init-output.log가 없습니다.

스리 하르샤 폴리 메틀 라

오류를 재현하고 여기에서 수정할 수 있습니다. 다음은 수정 된 템플릿입니다. 나는 Marcin의 답변에 추가했습니다.

EC2Instance:
  Type: AWS::EC2::Instance
  CreationPolicy: 
    ResourceSignal:
      Timeout: PT5M # Specify the time here
  Properties:
    CreditSpecification:
      CPUCredits: standard
    IamInstanceProfile:
    Fn::ImportValue:
      !Sub ${InstanceProfileStackName}-instanceProfile
    ImageId: !Ref ImageId
    InstanceInitiatedShutdownBehavior: stop
    InstanceType: !Ref InstanceType
    SubnetId: !Ref SubnetId
    SecurityGroupIds:
      - !Ref DefaultSecurityGroup
      - !Ref WebSecurityGroup
    UserData:
      Fn::Base64: !Sub |
        #!/bin/bash -ex
        yum update -y
        source scl_source enable rh-python36
        <Your additional commands>
        cfn-signal -e $? --stack ${AWS::StackName} --resource EC2Instance --region ${AWS::Region}

시도하기 전에 들여 쓰기를 카운터 검사하는 것이 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 지정 데이터는지도 출력에 알 수없는 데이터를 기록합니다.

분류에서Dev

ajax를 사용하여 사용자 데이터 가져 오기

분류에서Dev

라 라벨이 동기화 대신 데이터베이스 큐를 사용하도록합니다.

분류에서Dev

미사용 관리자 : 다양한 데이터를 기반으로 필터링

분류에서Dev

사용자 정의 목록보기 어댑터의 clear ()는 목록 데이터도 업데이트합니다.

분류에서Dev

Keycloak 사용자 데이터베이스를 기반으로 사용자를 인증하도록 Linux를 구성하는 방법은 무엇입니까?

분류에서Dev

WPF 끌기를 사용하지 않도록 설정하거나 값을 덜 자주 업데이트합니다.

분류에서Dev

사용자가 테이블에 데이터를 추가하도록 허용 jquery

분류에서Dev

vba의 목록 상자를 사용하여 데이터 찾기 및 표시

분류에서Dev

파일 내보내기 기능이 사용자가 선택한 경로를 기억하도록하는 데 도움이 필요합니다.

분류에서Dev

내 데이터베이스에서 검색 한 데이터를 사용하여지도에 마커 그리기

분류에서Dev

사용자가 목록에 데이터를 추가하도록 허용

분류에서Dev

다른 사용자가 데이터를 읽고 쓸 수 있도록 허용 Firebase 데이터베이스

분류에서Dev

다른 사용자가 데이터를 읽고 쓸 수 있도록 허용 Firebase 데이터베이스

분류에서Dev

각도를 사용하여 Kendo에서 자식 그리드의 데이터 소스 가져 오기

분류에서Dev

Devise Gem을 사용하여 데이터베이스에 사용자를 생성하기 위해 새 사용자 등록을받을 수 없습니다.

분류에서Dev

Django의 기능 기반보기를 사용하여 원하지 않는 사용자가 다른 사용자 프로필 데이터에 액세스하지 못하도록 차단

분류에서Dev

장고 가져 오기-내보내기-사용자가 데이터를 가져 오도록 허용

분류에서Dev

'predictTimeSeries'를 사용하여 DMX 쿼리로 SSAS 기록 데이터 검색

분류에서Dev

jqgrid가 쿼리 문자열에서 OData를 사용하여 데이터를 쿼리하도록하는 방법

분류에서Dev

cloudformation의 사용자 지정 기능이 작동하지 않습니다.

분류에서Dev

사용자 정의 데이터를 사용한 SQLite 쿼리

분류에서Dev

SQLite 데이터베이스를 사용하는 사용자 지정 목록보기의 Textwatcher

분류에서Dev

Facebook SDK iOS는 사용자 데이터를 사용합니다.

분류에서Dev

사용자가 정보를 편집 할 수 있도록 허용하지만 게시하기 전에 관리자 승인이 필요합니다.

분류에서Dev

다른 사용자가 읽기 / 업데이트 / 쓰기 할 수 있도록 Firebase에서 권한을 관리하는 방법은 무엇입니까?

분류에서Dev

사용자 요청을 처리하기 위해 사용자 고유의 데이터베이스를 사용하도록 Watson 대화 서비스를 활성화하는 방법

분류에서Dev

REST API를 사용하여 SharePoint 사용자 선택 데이터 가져 오기

분류에서Dev

MongoDB : 다양한 JSON POST 데이터를 기반으로 사용자 데이터 업데이트

Related 관련 기사

  1. 1

    사용자 지정 데이터는지도 출력에 알 수없는 데이터를 기록합니다.

  2. 2

    ajax를 사용하여 사용자 데이터 가져 오기

  3. 3

    라 라벨이 동기화 대신 데이터베이스 큐를 사용하도록합니다.

  4. 4

    미사용 관리자 : 다양한 데이터를 기반으로 필터링

  5. 5

    사용자 정의 목록보기 어댑터의 clear ()는 목록 데이터도 업데이트합니다.

  6. 6

    Keycloak 사용자 데이터베이스를 기반으로 사용자를 인증하도록 Linux를 구성하는 방법은 무엇입니까?

  7. 7

    WPF 끌기를 사용하지 않도록 설정하거나 값을 덜 자주 업데이트합니다.

  8. 8

    사용자가 테이블에 데이터를 추가하도록 허용 jquery

  9. 9

    vba의 목록 상자를 사용하여 데이터 찾기 및 표시

  10. 10

    파일 내보내기 기능이 사용자가 선택한 경로를 기억하도록하는 데 도움이 필요합니다.

  11. 11

    내 데이터베이스에서 검색 한 데이터를 사용하여지도에 마커 그리기

  12. 12

    사용자가 목록에 데이터를 추가하도록 허용

  13. 13

    다른 사용자가 데이터를 읽고 쓸 수 있도록 허용 Firebase 데이터베이스

  14. 14

    다른 사용자가 데이터를 읽고 쓸 수 있도록 허용 Firebase 데이터베이스

  15. 15

    각도를 사용하여 Kendo에서 자식 그리드의 데이터 소스 가져 오기

  16. 16

    Devise Gem을 사용하여 데이터베이스에 사용자를 생성하기 위해 새 사용자 등록을받을 수 없습니다.

  17. 17

    Django의 기능 기반보기를 사용하여 원하지 않는 사용자가 다른 사용자 프로필 데이터에 액세스하지 못하도록 차단

  18. 18

    장고 가져 오기-내보내기-사용자가 데이터를 가져 오도록 허용

  19. 19

    'predictTimeSeries'를 사용하여 DMX 쿼리로 SSAS 기록 데이터 검색

  20. 20

    jqgrid가 쿼리 문자열에서 OData를 사용하여 데이터를 쿼리하도록하는 방법

  21. 21

    cloudformation의 사용자 지정 기능이 작동하지 않습니다.

  22. 22

    사용자 정의 데이터를 사용한 SQLite 쿼리

  23. 23

    SQLite 데이터베이스를 사용하는 사용자 지정 목록보기의 Textwatcher

  24. 24

    Facebook SDK iOS는 사용자 데이터를 사용합니다.

  25. 25

    사용자가 정보를 편집 할 수 있도록 허용하지만 게시하기 전에 관리자 승인이 필요합니다.

  26. 26

    다른 사용자가 읽기 / 업데이트 / 쓰기 할 수 있도록 Firebase에서 권한을 관리하는 방법은 무엇입니까?

  27. 27

    사용자 요청을 처리하기 위해 사용자 고유의 데이터베이스를 사용하도록 Watson 대화 서비스를 활성화하는 방법

  28. 28

    REST API를 사용하여 SharePoint 사용자 선택 데이터 가져 오기

  29. 29

    MongoDB : 다양한 JSON POST 데이터를 기반으로 사용자 데이터 업데이트

뜨겁다태그

보관