Amazon EC2 루트 디바이스 볼륨
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/RootDeviceStorage.html
인스턴스를 시작하면 인스턴스 부팅에 사용된 이미지가 루트 디바이스 볼륨에 저장됩니다. Amazon EC2가 출시되었던 시점에서는 Amazon EC2 인스턴스 스토어가 모든 AMI를 지원했으므로 AMI에서 시작한 인스턴스의 루트 디바이스는 Amazon S3에 저장된 템플릿으로부터 생성된 인스턴스 스토어 볼륨이었습니다. Amazon EBS가 출시된 후에는 Amazon EBS의 지원을 받는 AMI가 도입되었습니다. 따라서 AMI에서 시작한 인스턴스의 루트 디바이스는 Amazon EBS 스냅샷으로부터 생성된 Amazon EBS 볼륨입니다.
사용자는 Amazon EC2 인스턴스 스토어가 지원하는 AMI와 Amazon EBS에서 지원하는 AMI 중에서 선택할 수 있습니다. 시작 속도가 더 빠르고 영구 스토리지를 사용하는 Amazon EBS 지원 AMI를 사용하는 것이 좋습니다.
루트 볼륨에 대해 Amazon EC2에서 사용하는 디바이스 이름에 대한 자세한 정보는 Linux 인스턴스의 디바이스 명명 단원을 참조하십시오.
루트 디바이스 스토리지 개념
인스턴스 스토어 지원 AMI 또는 Amazon EBS 지원하는 AMI에서 인스턴스를 시작할 수 있습니다. AMI 설명에는 AMI의 유형이 포함되며, 설명 중간에 루트 디바이스가 ebs
(Amazon EBS 지원) 또는 instance store
(인스턴스 스토어 지원)로 언급됩니다. 각 AMI 유형별로 수행할 수 있는 작업이나 기능이 달라지기 때문에 이 차이점을 아는 것이 중요합니다. 해당 차이점에 대한 자세한 정보는 루트 디바이스 스토리지 단원을 참조하십시오.
인스턴스 스토어 지원 인스턴스
인스턴스 스토어를 루트 디바이스로 사용하는 인스턴스는 하나 이상의 인스턴스 스토어 볼륨을 자동으로 사용할 수 있으며, 이러한 볼륨 중 하나가 루트 디바이스 볼륨 역할을 합니다. 인스턴스가 시작되면 인스턴스를 부팅하는 데 사용된 이미지가 루트 볼륨으로 복사됩니다. 인스턴스 유형에 따라 다른 인스턴스 스토어 볼륨을 사용할 수도 있습니다.
인스턴스 스토어 볼륨의 모든 데이터는 인스턴스가 실행되는 동안 유지되지만, 인스턴스가 종료되거나(인스턴스 스토어 지원 인스턴스는 중지 작업을 지원하지 않음) 장애가 발생하면(예: 기본 드라이브에 문제가 있는 경우) 데이터가 삭제됩니다.
인스턴스 스토어가 지원하는 인스턴스는 종료되거나 장애가 발생할 경우 복원이 불가능합니다. Amazon EC2 인스턴스 스토어가 지원하는 인스턴스를 사용하려는 경우 여러 가용 영역의 인스턴스 스토어로 데이터를 분산하는 것이 좋습니다. 또한 인스턴스 스토어 볼륨의 중요한 데이터를 정기적으로 영구 스토리지로 백업해야 합니다.
자세한 정보는 Amazon EC2 인스턴스 스토어 단원을 참조하십시오.
Amazon EBS 지원 인스턴스
Amazon EBS를 루트 디바이스로 사용하는 인스턴스에는 자동으로 Amazon EBS 볼륨이 연결됩니다. Amazon EBS 지원 인스턴스를 시작하면 사용하는 AMI가 참조하는 각 Amazon EBS 스냅샷에 대한 Amazon EBS 볼륨이 생성됩니다. 인스턴스 유형에 따라 다른 Amazon EBS 볼륨이나 인스턴스 스토어 볼륨을 사용할 수도 있습니다.
Amazon EBS 지원 인스턴스는 중지한 후 다시 시작해도 연결된 볼륨에 저장된 데이터에 아무런 영향이 없습니다. Amazon EBS 지원 인스턴스가 중지 상태일 때 다양한 인스턴스 및 볼륨 관련 작업을 수행할 수 있습니다. 예를 들어 인스턴스의 속성을 수정하거나, 인스턴스의 크기를 변경하거나, 사용하는 커널을 업데이트하거나, 디버깅 등의 목적으로 루트 볼륨을 실행 중인 다른 인스턴스에 연결할 수 있습니다.
Amazon EBS 지원 인스턴스에서 장애가 발생할 경우 다음 방법 중 하나로 세션을 복원할 수 있습니다.
중지 후 다시 시작합니다(먼저 이 방법 시도).
모든 관련 볼륨의 스냅샷을 자동으로 생성하고 새 AMI를 생성합니다. 자세한 정보는 Amazon EBS 지원 Linux AMI 생성 단원을 참조하십시오.
다음 단계에 따라 볼륨에 새 인스턴스를 연결합니다.
루트 볼륨의 스냅샷을 생성합니다.
스냅샷을 사용하여 새 AMI를 등록합니다.
새 AMI에서 새 인스턴스를 시작합니다.
나머지 Amazon EBS 볼륨을 이전 인스턴스에서 분리합니다.
Amazon EBS 볼륨을 새 인스턴스에 다시 연결합니다.
자세한 정보는 Amazon EBS 볼륨 단원을 참조하십시오.
루트 디바이스 유형에 따른 AMI 선택
인스턴스를 시작할 때 지정하는 AMI가 인스턴스의 루트 디바이스 볼륨 유형을 결정합니다.
콘솔을 사용하여 Amazon EBS 지원 AMI를 선택하려면 다음을 수행합니다.
Amazon EC2 콘솔을 엽니다.
탐색 창에서 AMI를 선택합니다.
필터 목록에서 퍼블릭 이미지 등의 이미지 유형을 선택합니다. 검색 창에서 플랫폼을 선택하고 Amazon Linux 등의 운영 체제를 선택한 후 루트 디바이스 유형을 선택하고 EBS 이미지를 선택합니다.
(선택 사항) 결정에 도움이 되는 추가 정보를 얻으려면 열 표시/숨기기 아이콘을 선택하고 표시할 열을 업데이트한 후 닫기를 선택합니다.
AMI를 선택하고 AMI ID를 메모해 둡니다.
콘솔을 사용하여 인스턴스 스토어 지원 AMI를 선택하려면 다음을 수행합니다.
Amazon EC2 콘솔을 엽니다.
탐색 창에서 AMI를 선택합니다.
필터 목록에서 퍼블릭 이미지 등의 이미지 유형을 선택합니다. 검색 창에서 플랫폼을 선택하고 Amazon Linux 등의 운영 체제를 선택한 후 루트 디바이스 유형을 선택하고 인스턴스 스토어를 선택합니다.
(선택 사항) 결정에 도움이 되는 추가 정보를 얻으려면 열 표시/숨기기 아이콘을 선택하고 표시할 열을 업데이트한 후 닫기를 선택합니다.
AMI를 선택하고 AMI ID를 메모해 둡니다.
명령줄을 사용하여 AMI의 루트 디바이스 볼륨 유형을 확인하려면 다음을 수행합니다.
다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 정보는 Amazon EC2에 액세스 단원을 참조하십시오.
describe-images(AWS CLI)
Get-EC2Image(Windows PowerShell용 AWS 도구)
인스턴스의 루트 디바이스 유형 확인
콘솔을 사용해 인스턴스의 루트 디바이스 유형을 확인하는 방법
Amazon EC2 콘솔을 엽니다.
탐색 창에서 인스턴스를 선택하고 인스턴스를 선택합니다.
아래를 참고하여 설명 탭의 루트 디바이스 유형 값을 확인합니다.
값이
ebs
이면 Amazon EBS 지원 인스턴스입니다.값이
instance store
이면 인스턴스 스토어 지원 인스턴스입니다.
명령줄을 사용해 인스턴스의 루트 디바이스 유형을 확인하는 방법
다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 정보는 Amazon EC2에 액세스 단원을 참조하십시오.
describe-instances (AWS CLI)
Get-EC2Instance(Windows PowerShell용 AWS 도구)
루트 디바이스 볼륨 지속 설정
기본적으로 Amazon EBS에서 지원하는 AMI의 루트 디바이스 볼륨은 인스턴스 종료 시 삭제됩니다. 기본 동작을 변경하려면 블록 디바이스 매핑을 사용하여 DeleteOnTermination
속성을 false
로 설정합니다.
콘솔을 사용하여 루트 볼륨이 계속 유지되도록 변경
콘솔을 사용하면 인스턴스를 시작할 때 DeleteOnTermination
속성을 변경할 수 있습니다. 실행 중인 인스턴스의 속성을 변경하려면 명령줄을 사용해야 합니다.
콘솔을 사용해 인스턴스의 루트 디바이스 볼륨 유지를 설정하는 방법(인스턴스 시작 시)
Amazon EC2 콘솔을 엽니다.
Amazon EC2 콘솔 대시보드에서 인스턴스 시작을 선택합니다.
Amazon 머신 이미지(AMI) 선택 페이지에서 사용할 AMI를 선택하고 선택을 선택합니다.
마법사 안내에 따라 인스턴스 유형 선택 및 인스턴스 세부 정보 구성 설정을 완료합니다.
스토리지 추가 페이지에서 루트 볼륨에 대한 종료 시 삭제의 선택을 해제합니다.
나머지 마법사 페이지를 완료한 후 시작을 선택합니다.
인스턴스의 세부 정보 창에서 루트 디바이스 볼륨의 세부 정보를 조회하여 설정을 확인할 수 있습니다. 블록 디바이스 옆의 루트 디바이스 볼륨 항목을 선택합니다. 종료 시 삭제의 기본 설정은 True
입니다. 기본 설정을 변경하면 종료 시 삭제의 설정 값이 False
가 됩니다.
AWS CLI를 사용하여 인스턴스의 루트 볼륨이 계속 유지되도록 변경
AWS CLI를 사용하여 인스턴스 시작 시 또는 인스턴스 실행 중에 DeleteOnTermination
속성을 변경할 수 있습니다.
예 시작 시
루트 볼륨을 보존하려면 run-instances 명령을 사용하여 DeleteOnTermination
속성을 false
로 설정하는 블록 디바이스 매핑을 포함시킵니다.
aws ec2 run-instances --block-device-mappings file://mapping.json
other parameters...
mapping.json
에서 다음을 지정합니다.
[
{
"DeviceName": "/dev/sda1",
"Ebs": {
"DeleteOnTermination": false
}
}
]
아래와 같이 describe-instances 명령을 사용하고 명령 출력에서 디바이스의 BlockDeviceMappings
항목을 찾아보면 DeleteOnTermination
이 false
인 것을 확인할 수 있습니다.
...
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": false,
"VolumeId": "vol-1234567890abcdef0",
"AttachTime": "2013-07-19T02:42:39.000Z"
}
}
...
예 인스턴스 실행 중
루트 볼륨을 보존하려면 modify-instance-attribute 명령을 사용하여 DeleteOnTermination
속성을 false
로 설정하는 블록 디바이스 매핑을 포함시킵니다.
aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0
--block-device-mappings file://mapping.json
mapping.json
에서 다음을 지정합니다.
[
{
"DeviceName": "/dev/sda1",
"Ebs" : {
"DeleteOnTermination": false
}
}
]
'Cloud > AWS' 카테고리의 다른 글
事例からAmazon Kinesisとは何なのかを学ぶ (0) | 2019.03.13 |
---|---|
s3의 엑세스 컨트롤을 정리해본다:ACL,bucket policy, IAM role (0) | 2019.01.13 |
AWS sqs사용상 주의점과 단점을 대체하는 FIFO (0) | 2019.01.09 |
IAM 사용자의 액세스 키 관리 (0) | 2019.01.09 |
Amazon EBS 스냅샷 삭제 (0) | 2019.01.09 |