์๋น์ค๋ฅผ ์ด์ ํด๋ณธ ์ฌ๋๋ค์ ๋ค ์๊ฒ ์ง๋ง, ๊ฐ์ฅ ํ๋ค๊ณ ์ง์ฆ ๋๋๊ฒ์ ์ฅ์ ์
๋๋ค.
๊ทธ ์ค์์๋ ์ ์ผ ํ๊ฐ ๋๋๊ฒ์ ํ๋์จ์ด์ ์ธ ์ฅ์ ๊ฐ ๋ฐ์ ํ ๊ฒฝ์ฐ ์ด์์ ์
์ฅ์์ ์ ๋ง ๋ต์ด ์๋์ค๊ธฐ ์์ํฉ๋๋ค.
์์ฆ ๊ธฐ์ ๋ค์ ์์์ ์ด์ผ๊ธฐํ ๊ณ ์ง์ ์ธ ์ธํ๋ผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ๊ณ ๋ ํจ์จ์ ์ธ ์ค์ผ์ผ๋ง๊ณผ ๊ด๋ฆฌ๋ฅผ ์ํ์ฌ,
AWS์ ๊ฐ์ ๊ฐ์ํ ์๋น์ค๋ก ๋์ด๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์๋ฉด ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํด๋ณด์ธ์
์ ๊ฐ ๋ค๋๊ณ ์๋ ํ์ฌ๋, ๋ ๊ฑฐ์ AWS๋ก ์๋น์ค๋ฅผ ์ด์ ํ๊ณ ์๋๋ฐ
์ด๋ฒ ๊ธฐํ์ ์ค์ผ์ผ๋ง๊ณผ ํ๋์จ์ด์ ์ธ ๋ฌธ์ ๊ฐ ๋ณตํฉ์ ์ผ๋ก ์์ง๋ง ์ค์ํ ๋ด๋ถ ์์คํ
์ AWS ์ธํ๋ผ๋ก ์ฎ๊ฒจ์ ์ด์ํ์๋ผ๋ ์ด์ผ๊ธฐ๊ฐ ๋์๊ณ , ๋น์ AWS ์ด์ ์ ์ด๋์ ๋ ๋ด๋นํ๊ณ ์๋ ์ ๊ฐ ์งํํ๊ฒ ๋์์ต๋๋ค.
ํด๋น ํ์ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํด๋ณด๋ ์๋์ ๊ฐ์์ต๋๋ค.
1. ์ธ์ ๋ ๊ฐ์ํ ์ฅ๋น๋ ์ ์ฐํ๊ฒ ๋์ด๋ ์์๋ ์ธํ๋ผ ๊ตฌ์ฑ ์ด์ด์ผํ๋ค.
2. ์์คํ ์ IOPS๊ฐ ๋๊ธฐ ๋๋ฌธ์ ํ๋์จ์ด ํผํฌ๋จผ์ค๊ฐ ์ด๋์ ๋ ์ ์ง๋์ด์ผ ํ๋ค.
3. ์ต์ํ Windows Server ์๋ฆฌ์ฆ๋ก ์ค์น ํ ์ ์๊ณ , Windows 7์ผ๋ก ์ค์น ๋์ด์ผ ํ๋ค.
์ฒ์์ ์ด ๋ด์ฉ์ ๋ฃ๊ณ , 1~2๋ฒ ์๊ตฌ์ฌํญ์ ์ด๋ฏธ AWS์์ ์ ์ง์์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์๋ฌด๋ฐ ๊ฑฑ์ ์ด ์์์ผ๋, 3๋ฒ์ด ๊ฐ์ฅ ํฐ ๋ฌธ์ ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ OS๋ฅผ ๊ณต์ ์ง์ํ์ง ์๋ AWS
AWS์์๋ ํ์ฌ Server ๊ณ์ด์ OS์ด๋ฏธ์ง๋ค์ ๋ํด์๋ง ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
<์๋ฒ ๊ณ์ด๋ง ์ง์ํ๋ AWS ใ ใ >
์ฆ, Windows 7/8/10๋ฑ์ ํด๋ผ์ด์ธํธ OS๋ ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ์ง ์๊ธฐ๋๋ฌธ์ EC2์ ์ค์น๊ฐ ํ๋ ๊ฒ ํ์ค์ ๋๋ค.
์ด๋ ๊ฒ AWS๋ก ์ด์ ์ ์๋๋๊ฒ์ธ๊ฐ, ์ข์ ์ ํ๋์ค์ AWS ๊ณต์ ๊ธ์์ ์ฌ๋ฏธ์๋ ๊ธ์ ํ๋ ๋ฐ๊ฒฌํ์์ต๋๋ค.
AWS์์ ๊ธฐ์กด์ ์ฌ์ฉํ๋ VM์ AMI(Amazone Machine Image)๋ก ๋ณํ ํ ์ ์๋๋ก ์ง์์ ํ๊ณ ์๋๊ฒ์ ๋๋ค.
์์ํ๊ธฐ
์์ ์ ์ปดํจํฐ์ ๊ฐ์ํ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์
ํ
ํด๋ด
์๋ค.
์๋ง์ ๊ฐ์ํ ํ๋ก๊ทธ๋จ์ด ์์ง๋ง, ๊ทธ์ค์ ์ ๋ VirtualBox๋ฅผ ์ ํํ์ฌ ์
ํ
ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
VM์ ํ ๋ฐ ์ด๋ฏธ์ง ์ ํ
๊ธฐ์กด์ ์ค์ ์ ๋ชจ๋ ์ฌ๋ฌ๋ถ์ ์
๋ง์ ๋ง๊ฒ ์ค์ ์ ํด์ฃผ์๊ณ , ๋์คํฌ ์์ฑ์ VHD (๊ฐ์ ํ๋ ๋์คํฌ)๋ง ์ ํํด์ค๋๋ค.
(์ด์งํผ, EC2๋ก ๊ฐ๋ฉด ์
ํ
ํ ๋ ์ค์ ์ผ๋ก ๋ค ๋ณ๊ฒฝ๋๋ ์ฌ๊ธฐ์ ๊ตณ์ด ๊ณ ๋ฏผํ๊ฑฐ๋ ํ๋ฉด์ ํ์ ์๋นผ๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค)
์ ์ผ๋จ ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ ์๋ฃ ๋์์ต๋๋ค. ์ด ์ํ์์ ๊ทธ๋ฅ ์๋์ฐ ์ค์น๋ฅผ ํด๋ณด๋๋ก ํฉ์๋ค.
์ด๋ด๋ ์ญ์ ์ปคํผ ํ์์ ์ฌ์ ๋ฅผ ๊ฐ์ง๋ฉฐ ์กฐ์ฉํ ์ค์น๊ฐ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค ์ค๋๋ค.
๋๋์ด, ๊ธฐ๋ค๋ฆฌ๊ณ ๊ธฐ๋ค๋ฆฌ๋ OS ์ค์น๊ฐ ์๋ฃ๋์์ต๋๋ค.
์ฌ๊ธฐ์ ํ๊ฐ์ง ์ฃผ์ ํด์ฃผ์
์ผ ํ๋ ๋ถ๋ถ์ ํด์ฃผ์
๋ ๋ฌด๊ดํ๊ธดํ์ง๋ง, Virtual Box Tool์ ์ค์นํ์ง ์๋๊ฒ์ ์ถ์ฒํฉ๋๋ค.
์ค์ ์์ ์๊ฒฉ ๋ฐ์คํฌํฑ ์ฌ์ฉ ์ค์ ๋ ํด์ฃผ์๊ณ , ์ ์ ๋ชจ๋ ํด์ ๊น์ง ํด์ฃผ์๋ฉด ์ด๋ฏธ์ง ์ ํ ์ ์๋ฃ ๋ฉ๋๋ค.
VM ์ด๋ฏธ์ง ์ ๋ก๋
์ด๋ฏธ์ง ์ค๋น๊ฐ ์๋ฃ๋๋ฉด VBox ํด๋ ์์ ์ฐ๋ฆฌ๊ฐ ์์ฑํ๋ ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ Amazone S3 Storage์ ์ ๋ก๋ ํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ , VM ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ ๋ฒํท์ ์์ฑํฉ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ํ ์ ์ ๋ฆฌ์ ์ ์ ํํ ๋ ์์ ์ด AMI ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ์ ํ๋ ๋ฆฌ์ ์ผ๋ก ์ค์ ํด์ฃผ์
์ผ ํฉ๋๋ค.
์ ์ ๊ฒฝ์ฐ์๋ “windows-os-image” ๋ผ๊ณ ์์ฑํ์ต๋๋ค.
์ ์ด์ VHD์ด๋ฏธ์ง๋ฅผ S3์ ์ ๋ก๋ ํด์ผํ๋๋ฐ, ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ง๋ง ์ ์ ๊ฒฝ์ฐ์๋ AWS CLI Tool์ ํ์ฉํ์ฌ ์ ๋ก๋ ํด๋ณด๊ฒ ์ต๋๋ค.
VM IMPORT ๊ถํ ์ค์
์ ๋ก๋๊ฐ ์งํ๋๋ ๋ํ AMI ์ด๋ฏธ์ง ์์ฑ์ ์ํ ๊ถํ์ ์ค์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
policy.json์ด๋ผ๋ ํ์ผ์ ์์ฑํ๊ณ ์๋์ json์ ์์ฑํฉ๋๋ค.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
}
}
}
]
}
๊ทธ๋ฆฌ๊ณ AWS CLI๋ฅผ ํตํด AWS์ VM import/export๋ฅผ ํ ์์๋ ์ ์ฑ ์ ์์ฑํ๋ ๋ช ๋ น์ ๋ด๋ ค์ค๋๋ค.
aws iam create-role --role-name vmimport --assume-role-policy-document file://๊ฒฝ๋ก
๊ทธ๋ฆฌ๊ณ ์ด์ S3์ EC2 ์์คํ ๊ฐ์ ๊ถํ์ ์์ฑ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ์๋์ ์ ์ฑ
Json์ ์์ฑํด์ค๋๋ค.
์ ๋ policy_import.json์ด๋ผ๊ณ ์์ฑํ์์ต๋๋ค.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::windows-os-image"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::windows-os-image/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource": "*"
}
]
}
ํด๋น ๋ฃฐ ํ์ผ๊ณผ ์๊น ์์ฑํ vmimport ์ ์ฑ ์ ์ฐ๊ฒฐ ํด์ค์๋ค.
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://๊ฒฝ๋ก
์, ์ด์ VM์ Import ํ ์ค๋น๊ฐ ์๋ฃ ๋์์ต๋๋ค.
IAM ์ด๋ฏธ์ง ์์ฑ
์ ๊ฐ ์์์ ๋ง์๋๋ฆฐ ๋ชจ๋ ์ ์ฐจ๋ฅผ ์ฑ๊ณตํ์ จ๋ค๋ฉด, ์ฌ๋ฌ๋ถ๋ค์ด ๋ก์ปฌ์์ ๋ง๋ VM์ EC2์์ Import ํ ์ค๋น๋ ๋ชจ๋ ์๋ฃ๋์์ต๋๋ค.
์ด์ AWS์๊ฒ “๋ด๊ฐ ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก VM์ ์์ฑํด!” ๋ผ๋ ๋ช ๋ น์ ๋ด๋ ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ๋ช ๋ น์ ์ ์ํ json ํ์ผ์ ์์ฑํ๊ฒ ์ต๋๋ค.
[
{
"Description": "Windows 7 Public Image ",
"Format": "vhd",
"UserBucket": {
"S3Bucket": "windows-os-image",
"S3Key": "win7.vhd"
}
}
]
AWS CLI๋ฅผ ํตํด AWS์๋ฒ์ ๋ช ๋ น์ ๋ด๋ ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
aws ec2 import-image --license-type BYOL --disk-containers file://ํ์ผ๊ฒฝ๋ก
์ ์ด๋ ๊ฒ ์์ ์ ๋ํ ๋ด์ฉ์ด AWS์์ ๋ฐํ๋์ด ๋์์ค๋ฉด AWS์์ ์๋์ ์ผ๋ก ์ฌ๋ฌ๋ถ๋ค์ด ๋ง๋ VM Image๋ฅผ AMI๋ก ์์ฑํฉ๋๋ค.
์ด์ ์๋ฃ๊ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ธฐ๋ง ํ๋ฉด EC2์์ Windows 7์ ์คํํ ์ ์์ต๋๋ค.
VM Import Task ์ํ ํ์ธ
์์์ ๊ธฐ๋ค๋ฆฌ๊ธฐ๋ง ํ๋ฉด ๋๋ค๊ณ ์ด์ผ๊ธฐ ํ์ง๋ง,
์ผ๋ง๋ ๊ธฐ๋ค๋ ค์ผ ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ๊ณ ํ๋ฐฐ๋ก ์น๋ฉด ์ฅ์ฒ์ ๋ค์ด๊ฐ ๊ธฐ๋ถ์ ๋๋ ์ ์์ต๋๋ค.
๋ด๊ฐ ๋ฃ์ Task๊ฐ ์๋ฃ๋์๋์ง ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์๊น import๋ฅผ ์๋ฃ ํ๊ณ ๋์ ๋์จ Json์ ๋ณด๋ฉด
{
"Status": "active",
"LicenseType": "BYOL",
"SnapshotDetails": [
{
"UserBucket": {
"S3Bucket": "windows-os-image",
"S3Key": "win7.vhd"
},
"DiskImageSize": 0.0,
"Format": "VHD"
}
],
"Progress": "2",
"StatusMessage": "pending",
"ImportTaskId": "import-ami-fgok8m2q"
}
“ImportTaskId”๋ผ๋ Key๊ฐ ์กด์ฌํฉ๋๋ค.
์ด Key๋ Task์ ๋ํ ๊ณ ์ ํ ํค์ด๊ณ , ์ด ํค๋ฅผ ํตํด์ ์ํ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
AWS CLI์ ์๋์ ๊ฐ์ ๋ช ๋ น์ ๋ด๋ ค๋ด ์๋ค.
aws ec2 describe-import-image-tasks --import-task-ids [์์์ ๋์จ ImportTaskId]
์ ์ ์์ ์ ์์ง ์๋ฃ๊ฐ ์๋์๋ค์.
์ด ๊ธ์ ์ ๊ธฐ ์ ์ ์ ๊ฐ ํ
์คํธ๋ฅผ ํด๋ณธ ๊ฒฐ๊ณผ๋ก๋ ๊ฑฐ์ 30๋ถ ~ 40๋ถ ์ ๋ ๊ฑธ๋ฆฌ๋ ์์
์ด๋๋ผ๊ตฌ์.
์ ๋ฐ ์๋ฌ๊ฐ ๋์ง ๋ง์๋ฌ๋ผ๊ณ ๊ธฐ๋ํ๋ฉด์ ์ ์ ๊ธฐ๋ค๋ฆฌ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
VM์์ํ๊ธฐ
๋๋์ด ๋ชจ๋ ์์ ์ด ์๋ฃ๋๊ณ ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ํตํด EC2 VM์ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก VM ์์ฑํ ๋ ์ฒ๋ผ Launch Instanse๋ฅผ ์ ํํด์ฃผ์๊ณ , ์ผ์ชฝ ์๋ธ ๋ฉ๋ด์ My AMIs ๋ฉ๋ด๋ฅผ ์ ํํด์ค๋๋ค.
์ฐ๋ฆฌ๊ฐ ํ๋ค๊ฒ ๋ง๋ IAM ์ด๋ฏธ์ง๊ฐ ์ ๊ธฐ ๋ณด์ ๋๋ค. ํด๋น ์ด๋ฏธ์ง๋ฅผ ์ ํ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ์ ์๊ธ ์ํฉ์ ๋ง๋ Instance๋ฅผ ์ ํํด์ฃผ์๊ณ Review & Launch๋ฅผ ๋๋ฌ์ค๋๋ค.
๋ฐฉ๊ธ ์์ฑํ ์ธ์คํด์ค๊ฐ Running ์ํ๋ก ๋ฐ๋๊ณ ๋๋ฉด ์๊ฒฉ ๋ฐ์คํฌํ์ ํตํด ์ ์ ํด๋ด ์๋ค.
์ง์ ๋๋์ด ์ค์น๊ฐ ์๋ฃ๋์์ต๋๋ค.
๋ง์น๋ฉฐ
์ด ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๊ฒ์ AWS์ Xen ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ํ ์์คํ ์ด ๋์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค.
๋ ๊ฑฐ์ VM์ AWS๋ก ์ฎ๊ธฐ๋ ์์
์ญ์ ์ ๊ฐ ํ๋ ๋ฐฉ๋ฒ ๊ทธ๋๋ก ์ด์ ์ด ๊ฐ๋ฅํ๊ธฐ๋๋ฌธ์,
๋ ๊ฑฐ์ VM์ ๊ทธ๋๋ก ์ด์ํ์ง๋ง ํ๋์จ์ด์ ์ธ ๊ด๋ฆฌ๋ฅผ ์ค์ด๊ณ , Auto Scaling๋ก ์๋น์ค ์ด์์ด ํ์ ํ๋ค๋ฉด ์ด ๋ฐฉ๋ฒ์ ํตํด ์ถ์ฒํ๊ธดํฉ๋๋ค๋ง..
๋ค๋ง, ๊ตณ์ด Windows Client OS๋ฅผ ์ฐ์ง ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด AWS์์ ์ต์ ํ๋ Server OS Image๋ฅผ ์ฌ์ฉํ์๋๊ฒ์ ์ถ์ฒํฉ๋๋ค.
์ฒ์ ์ ์ด๋ณด๋ ๊ธ์ด๋ผ, ๋์๊ฐ ์์ง๋ง ๋๊น์ง ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ถ๋ก. Amazon WorkSpaces
๊ทธ๋ฆฌ๊ณ ์ฌ์ค AWS์๋ Amazon WorkSpaces๋ผ๋ VDI๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋จ์ํ๊ฒ Windows๋ง ํ์ํ๋ค ๋ผ๋ ๋ถ์ Amazon WorkSpaces๊ฐ ์กฐ๊ธ ๋ ์ ํฉํ์ง ์์๊น ์ถ์ต๋๋ค.
'๐จโ๐ปDevOps > AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS์ ํธ๊ตฌ ์กํ์ง ์๋ ๋ฐฉ๋ฒ feat. CDN ๋น์ฉ์ ๊ฐ ์งํ๊ธฐ (2) | 2021.02.12 |
---|---|
์์๋ณด์ Aurora Serverless ๋ฐฐ์๋ณด์ Aurora Serverless (AKA. ์A๋ฐฐA) (0) | 2020.03.13 |
CloudFront, Error Cache ์ฝ์ง๊ธฐ (0) | 2020.01.06 |
AWS VPC ํผ์ด๋ง ํ๊ธฐ (0) | 2020.01.06 |
๋๊ธ