인스턴스 사용자 데이터 작업 - Amazon Elastic Compute Cloud

인스턴스 사용자 데이터 작업

인스턴스 사용자 데이터를 사용하여 인스턴스를 사용자 지정할 수 있습니다. 인스턴스를 시작할 때 파라미터 또는 스크립트를 사용자 데이터로 저장할 수 있습니다. 인스턴스를 시작할 때 사용자 데이터의 모든 스크립트가 실행됩니다. 사용자 데이터를 인스턴스 속성으로 볼 수 있습니다. 인스턴스 메타데이터 서비스(IMDS)를 통해 인스턴스의 사용자 데이터를 볼 수도 있습니다.

고려 사항
  • 사용자 데이터는 불투명 데이터로 취급됨: 제공한 것만을 살펴볼 수 있습니다. 해석은 인스턴스에 따라 다릅니다.

  • 사용자 데이터는 base64로 인코딩해야 합니다. Amazon EC2 콘솔은 base64 인코딩을 수행하거나 base64로 인코딩된 입력을 수락할 수 있습니다.

  • 사용자 데이터는 base64로 인코딩되기 전에 원시 16KB 형식으로 제한됩니다. base64 인코딩 이후 n 길이의 문자열 크기는 ceil(n/3)*4입니다.

  • 사용자 데이터는 가져올 때 base64로 디코딩해야 합니다. 인스턴스 메타데이터 또는 콘솔을 사용하여 데이터를 가져오는 경우 데이터는 자동으로 디코딩됩니다.

  • 인스턴스를 중지하고 사용자 데이터를 수정한 다음 인스턴스를 시작할 경우 인스턴스를 시작할 때 업데이트된 사용자 데이터가 으로 실행되지 않습니다.

  • 사용자 데이터는 인스턴스 속성입니다. 인스턴스에서 AMI를 생성하는 경우 인스턴스 사용자 데이터는 AMI에 포함되지 않습니다.

시작 시 인스턴스 사용자 데이터 지정

인스턴스를 시작할 때 사용자 데이터를 지정할 수 있습니다. 콘솔 지침은 시작 시 인스턴스 사용자 데이터 지정 섹션을 참조하세요. AWS CLI를 사용하는 예는 사용자 데이터 및 AWS CLI 섹션을 참조하세요.

인스턴스 사용자 데이터 수정

EBS 루트 볼륨이 있는 인스턴스의 사용자 데이터를 수정할 수 있습니다. 인스턴스가 중지 상태여야 합니다. 콘솔 지침은 인스턴스 사용자 데이터 보기 및 업데이트 섹션을 참조하세요. AWS CLI를 사용하는 예제는 modify-instance-attribute를 참조하세요.

인스턴스에서 인스턴스 사용자 데이터 검색

참고

이 섹션의 예에서는 IMDS의 IPv4 주소(169.254.169.254)를 사용합니다. IPv6 주소를 통해 EC2 인스턴스의 인스턴스 메타데이터를 검색하는 경우, 대신 IPv6 주소([fd00:ec2::254])를 활성화하고 사용해야 합니다. IMDS의 IPv6 주소는 IMDSv2 명령과 호환됩니다. IPv6 주소는 AWS Nitro 시스템에 구축된 인스턴스에서만 액세스할 수 있습니다.

인스턴스에서 사용자 데이터를 검색하려면 다음 URI를 사용합니다.

http://169.254.169.254/latest/user-data

사용자 데이터를 요청하면 데이터 자체(콘텐츠 유형 application/octet-stream)가 반환됩니다. 인스턴스에 사용자 데이터가 없는 경우 요청에서 404 - Not Found를 반환합니다.

이 예제는 쉼표로 구분된 텍스트로 제공된 사용자 데이터를 반환합니다.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/user-data 1234,john,reboot,true | 4512,richard, | 173,,,
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/user-data 1234,john,reboot,true | 4512,richard, | 173,,,

이 예제는 스크립트로 제공된 사용자 데이터를 반환합니다.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/user-data #!/bin/bash yum update -y service httpd start chkconfig httpd on
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/user-data #!/bin/bash yum update -y service httpd start chkconfig httpd on

컴퓨터에서 인스턴스 사용자 데이터 검색

고유의 컴퓨터에서 인스턴스용 사용자 데이터를 검색할 수 있습니다. 콘솔 지침은 인스턴스 사용자 데이터 보기 및 업데이트 섹션을 참조하세요. AWS CLI를 사용하는 예는 사용자 데이터 및 AWS CLI 섹션을 참조하세요.