Amazon Elastic Compute Cloud(EC2) 개념을 잠시 소개하겠습니다. Amazon EC2는 전 세계 사용자에게 즉시 크기 조정 및 확장 가능한 컴퓨팅 용량을 제공하도록 설계된 웹 서비스입니다. 대규모 Amazon 팜 내에 위치한 대규모 가상화 그리드로, 필요할 수 있는 모든 사람에게 CPU 주기와 하드 디스크 공간을 즉시 제공합니다. 당신이 해야 할 유일한 일은 돈을 지불하는 것뿐이고 실제로는 그다지 많지 않습니다. 피>
실제로 유용하기 위해 Amazon은 자체 인프라를 구입하고 유지 관리하는 데 지출해야 할 수 있는 비용과 비교할 수 있는 매우 저렴한 가격표로 서비스를 제공합니다. 가정 사용자의 경우 이것이 가장 즉각적인 필요성처럼 보이지 않을 수 있지만 유연한 요구 사항을 가진 중소기업은 하드웨어 독립적인 자유의 전망을 분명히 좋아할 것입니다. 피>
여러분 중 일부는 아이디어를 좋아할 것이고 일부는 싫어할 것입니다. 개인적으로 저는 이것이 훌륭한 프로젝트라고 생각합니다. 특히 Amazon 클라우드는 Linux를 기반으로 하고 주로 Linux를 지원하므로 Linux 시장 성장에 엄청난 기회를 제공합니다. Mark Shuttleworth는 곧 출시될 Ubuntu 릴리스에 Amazon 기능을 통합하려는 의도에 대해 상당한 비판을 받았지만 데스크톱과 웹 사이의 요구 사항을 병합하면 구름. 피>
집에서 ...
가정에서는 고전적인 가상화가 제공하는 것 이상의 것이 거의 필요하지 않습니다. 그러나 거실에 16GB RAM이 있는 자체 데이터베이스 서버를 갖는 가격표가 나올 때마다 Amazon을 고려하기 시작할 것입니다. 피>
그런 일이 발생하면 Amazon EC2를 사용하는 방법을 알고 싶을 것입니다. 전체 자습서는 확실히 이 기사의 범위를 벗어납니다. 이에 대한 공식 문서가 있습니다. 피>
대신 전체 구성표의 일부만 시연할 것입니다. 가정 사용자가 접할 수 있는 가장 중요한 구성인 Amazon 가상 머신 이미지 생성일지라도 말입니다. VMware 제품에서 사용하는 자체 제작 가상 하드 디스크를 EC2와 함께 사용할 수 있는 Amazon 호환 이미지로 변환하는 방법을 보여드리겠습니다. 피>
처음부터 Amazon 이미지를 생성하거나 기존 빌드를 사용하지 않는 이유는 무엇입니까?
좋은 질문입니다! Amazon에서는 처음부터 이미지를 만들거나 기존 템플릿(예:SUSE, Ubuntu, RedHat 등) 중 하나를 출발점으로 사용할 수 있습니다. 그러나 이미지를 만드는 것은 다소 복잡합니다. 그리고 기존 템플릿을 사용하는 것이 원하는 것이 아닐 수도 있습니다. 예를 들어 사용자 지정 구성의 특별 배포판을 실행하거나 귀하 외에는 사용할 수 없는 개인용 디지털 서명 이미지를 사용할 수 있습니다. 당신은 완전한 통제권을 원하고 다른 사람들이 당신을 위해 이미지를 만들도록 할 여유가 없습니다. 피>
목표:집에서 이미지 생성 후 Amazon에 업로드
나는 이 튜토리얼을 내가 매우 중요하다고 생각하는 매우 특정한 주제로 좁혀가고 있습니다. 자체 인증서가 있는 비공개 이미지를 원합니다. 대역폭과 오랜 시간 구성에 돈을 낭비하지 않고 집에서, 여가 시간에, 자신의 시간과 비용으로 그것을 만들고 싶습니다. 준비가 되면 이를 변환하고 Amazon Simple Storage Service(S3)라는 Amazon 스토리지에 업로드합니다. 피>
참고:이 자습서의 지침을 사용하려면 유효한 Amazon EC2 계정이 있어야 합니다. 또한 튜토리얼을 성공적으로 따르려면 Linux를 사용해야 합니다. 여기에 사용된 특정 도구는 Linux에서만 사용할 수 있습니다. Amazon이 Linux에서 실행된다는 점을 고려하면 놀라운 일이 아닙니다. 피>
첫 번째 질문:무엇에서 변환합니까?
또 다른 좋은 질문입니다. 사용 가능한 많은 데스크톱 가상화 형식이 있습니다. 그러나 집에서 가상화를 실행하는 경우 VMware 제품 중 하나를 사용하고 있을 가능성이 높습니다. VMware는 가상 하드 디스크에 .vmdk 형식을 사용합니다. 이것은 Amazon 머신 이미지(AMI)로 변환하려는 소스 형식입니다. 피>
그러나 VMDK 가상 디스크를 AMI로 직접 변환할 수는 없습니다. 수행해야 할 작업을 보여주기 위해 이 자습서를 작성했습니다. 의 시작하자. 피>
1단계:필요한 모든 것이 있는지 확인
시작하기 전에 이것 저것을 변환하기 전에 고려해야 할 몇 가지 매우 중요한 사항이 있습니다. 피>
또한 읽기 시작하기 전에 Amazon EC2 프로젝트가 아직 초기 단계이므로 여기에 제공된 권장 사항이 향후 설정에 부분적으로만 적용될 수도 있고 전혀 적용되지 않을 수도 있음을 알아야 합니다. 저는 일반적으로 제가 발견한 사실을 낮추지 않지만, 이 특별한 경우에는 매우 많은 섬세한 변수로 인해 이러한 노력의 성공을 보장할 수 없습니다. 그러나이 작은 인정이 당신을 실망시키지 마십시오! 나를 따르라. 피>
일반 Amazon 요구 사항(VMware와 관계 없음):
젠 요구 사항
또한 배포본을 변환하여 Amazon에서 사용하려면 배포판을 xenify해야 합니다. 이것은 무엇을 의미 하는가? Amazon 가상 인프라는 VMware, KVM 또는 기타 가상화 제품과 유사한 오픈 소스 하이퍼바이저인 Xen을 기반으로 합니다. Amazon 가상 머신을 이 플랫폼에서 실행하려면 특정 커널과 커널 모듈이 필요합니다. 적절한 Xen 커널을 다운로드하여 추출하고 Xen 모듈을 설치하고 GRUB 메뉴를 업데이트해야 합니다. 피>
자세한 내용은 즐겨찾는 배포판의 웹사이트/소프트웨어 저장소로 이동하여 버전과 일치하는 관련 커널을 다운로드하십시오. 아카이브를 추출하고 그 안에 포함된 파일을 /boot 및 /lib에 넣습니다. 다음 단계는 관련 모듈 파일을 만드는 것입니다.
depmod -F /boot/System.map-<커널>-xenU -a <커널>-xenU커널이 가지고 있는 버전과 일치하는 경우(uname -r). 피>
이 작업이 완료되면 모듈이 /lib/modules/
분할 요구 사항
또 다른 까다로운 것입니다. Amazon 가상 머신에는 매우 특정한 파티셔닝 레이아웃이 있어야 합니다. /etc/fstab 트리는 다음과 같아야 합니다.
자체 스왑 및 /mnt 마운트 지점을 사용하는 경우 머신 인스턴스를 실행할 때 Amazon이 자체를 사용하므로 /etc/fstab에서 제거합니다. 피>
일반적으로 가상 머신의 모양에 대한 자세한 내용은 AMI 만들기 문서를 참조하십시오. 압도적으로 많은 데이터에 놀라지 마십시오. 대부분의 항목은 테스트 사례와 관련이 없습니다. 주목해야 할 것은 커널 모듈, 파티셔닝 레이아웃 및 네트워킹 구성입니다. 피>
기본 런레벨 및 서비스
또한 실제로 Amazon 시스템에 연결할 수 있으려면 방화벽 서비스를 비활성화하거나 SSH 수신 연결을 허용하도록 구성하고 기본 실행 수준에서 SSH 서비스를 활성화해야 합니다. 기본적으로 SSH는 TCP 포트 22를 사용합니다.
런레벨에 대해 말하자면, Xen 시스템은 일반적으로 사용하지 않는 런레벨 4로 부팅하므로 /etc/inittab 파일을 편집하고 사용하지 않는 런레벨 4의 주석을 제거하고 기본 런레벨로 설정해야 합니다. 둘째, 관련 서비스를 활성화해야 합니다. 안타깝게도 추천할 마법 세트가 없습니다. 피>
마찬가지로 Amazon에서는 (아직) X를 실행할 수 없으므로 런레벨 5는 의문의 여지가 없습니다. 다른 런레벨에서 실행되도록 서비스를 구성하는 데 도움이 필요한 경우 내 Linux 서비스 자습서를 살펴보십시오. 피>
네트워크 인터페이스
또한 DHCP를 통해 IP 주소를 임대하고 IPv6 프로토콜을 비활성화하도록 네트워크 장치를 구성해야 합니다. 대부분의 경우 이것이 기본 설정이므로 여기에서 너무 힘들게 작업할 필요가 없습니다. 피>
VMware 제품을 사용하면 데이터가 채워짐에 따라 커지는 동적으로 확장 가능한 이미지를 생성할 수 있습니다. 따라서 40GB 가상 디스크는 데이터가 700MB만 포함된 경우 무게가 700MB에 불과할 수 있습니다. 크기를 미리 할당할 수도 있으며, 이 경우 디스크가 전체 40GB 크기로 확장됩니다. 그러나 하드 디스크 공간을 절약하기 위해 많은 사용자가 첫 번째 옵션인 동적 하드 디스크를 선택합니다. 피>
VMDK를 RAW로 변환할 때 동적 확장으로 얻은 모든 이점이 사라집니다. 디스크 이미지가 실제 크기로 부풀려집니다. 따라서 가상 머신을 생성할 때 주의하고 디스크 크기에 주의하십시오. 피>
둘째, Amazon은 현재 최대 10GB의 이미지만 지원합니다. 이는 VMDK가 10GB를 초과하지 않아야 함을 의미합니다. 그렇지 않으면 AMI를 생성할 수 없습니다. 너무 큰 이미지를 사용하면 오류가 발생합니다:
예시 이미지:
피>
셋째, Linux 시스템에 Java 및 Ruby가 설치되어 있어야 합니다. 그리고 예, 이 튜토리얼의 3단계에는 Linux 머신이 필요합니다. 탈선을 감행하기 전에 이러한 모든 요구 사항을 충족하는지 확인하십시오. 피>
이제 필요한 것이 무엇인지 알았으므로 QEMU를 변환에 사용할 것입니다. Windows와 Linux 모두에서 사용할 수 있는 QEMU는 VMDK 파일을 RAW 형식으로 변환할 수 있는 다소 강력하고 만능 에뮬레이터/이미지 유틸리티입니다. 피>
오래 전 VMware Player 기사에서 QEMU를 가상 하드 디스크 생성을 위한 훌륭한 도구로 소개한 적이 있습니다. 변환과 같은 다른 디스크 관련 작업에도 사용할 수 있습니다. 피>
이제 VMware 디스크를 원시 형식으로 변환해야 합니다. Essentially, this will strip the hard disk image of any smart VMware algorithms and expand it into a sector-by-sector disk image. 피>
QEMU does this well. In fact, you can use QEMU for all sorts of conversions. But currently, we're interested in vmdk> raw. To convert, simply locate the relevant .vmdk file and run the following qemu-img command:
Let the process run. Depending on your machine specs and the image size, it can take quite a while. 피>
Amazon offers two bundles of tools for work with their EC2 service. One is the set of API tools, a client interface for the EC2 service. The other is the set of AMI tools, a collection of command utilities used to create, bundle and upload AMI to Amazon S3. 피>
We need the AMI tools. Download and extract them, preferably inside your home directory. Now, you will have to run a long and tedious conversion command that will look something like this:
Let's explain the options:
Here's an actual screenshot of such an error (output manipulated for clarity):
피>
But this is not enough. Even if you follow the command to the letter, the ec2-bundle-image will complain. Something like this:
This means you will have to export a few environment variables before using the utility. 피>
On Bash, you will use the export command, like this:
TCSH does not support export. So instead, you will have to use setenv:
The paths should correspond to the following:
You may also want to export/setenv other variables, which makes the process of typing them manually rather boring. To make things more efficient, you may want to create a file, contain all your variables and their values and then source it when you need to run the AMI tools. Something like this:
이제 준비가 되었습니다. Hit Enter against your long conversion command. And wait. After a while, the process should complete successfully. The emphasis is on the word should, as you have to complete a series of delicate preparations for the thing to work. 피>
피>
If you did successfully convert the VMDK> RAW> AMI, then you're ready to upload the file. The indication that your conversion was successful will be a list of files in the /tmp directory and an XML manifest file. This is the default output directory. 피>
피>
This concludes the actual conversion process. Your next step is the upload, but this is beyond the scope of this article. We'll talk about this on another occasion. Amazon is here to stay and you're likely to see several more articles on the subject on Dedoimedo in the future. 피>
As you can see, the task is not that simple, but it is manageable and will save you quite a bit of time, bandwidth and ultimately money. Being able to convert images offers you freedom beyond the specific needs of the Amazon EC2 service. We've already seen how to use VMware Converter to this end. Now, QEMU is another power tool we can use to enhance our virtualization needs. 피>
You must satisfy quite a few rules though, especially in regard to AMI tools. You must make sure the image is not too big, not to use the trailing slash in front of the certificate and private key paths, make sure the environment variables are exported, and in general, not to place the Amazon tools in "unsafe" directories. Now, have fun walking on clouds. 피>
In the sequel articles, we will talk about Kiwi, a handsome component of the powerful SUSE Build Service and see how it can be used to create Xen or even AMI images from custom distributions or even your own physical installation, offering similar capabilities to VMware Converter - and then some. To this end, we'll play with Image Creator and Product Creator. We will also talk about SUSE Studio and many other exciting, revolutionary concepts, ideas and projects. 피>
Markus, you asked about an AMI tutorial? 여기 있습니다. 즐기다. 피>
건배. 피>
없음 /dev/pts devpts gid=5,mode=620 0 0
없음 /dev/shm tmpfs 기본값 0 0
없음 /proc proc 기본값 0 0
없음 /sys sysfs 기본값 0 0 추가 중요 사항:
2단계:VMDK를 RAW로 변환
Step 3:Bundle the image with AMI tools
-> -k
--prefix has invalid value 'cert.pem':'/' character not allowed.
Requirements
BASH
export EC_AMITOOL_HOME= TCSH
setenv EC_AMITOOL_HOME
결론