{"id":1748,"date":"2022-08-13T15:40:54","date_gmt":"2022-08-13T06:40:54","guid":{"rendered":"https:\/\/manvscloud.com\/?p=1748"},"modified":"2022-10-25T20:45:03","modified_gmt":"2022-10-25T11:45:03","slug":"ncp-object-storage-cli-%ec%82%ac%ec%9a%a9-%ea%b0%80%ec%9d%b4%eb%93%9c-centos7","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=1748","title":{"rendered":"[NCLOUD] Object Storage CLI \uc0ac\uc6a9 \uac00\uc774\ub4dc (CentOS7)"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694. ManVSCloud \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc624\ub298\uc740 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc5d0\uc11c Object Storage CLI\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ud3ec\uc2a4\ud305\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-luminous-vivid-amber-background-color has-text-color has-background wp-block-heading\"> Installation<\/h3>\n\n\n\n<p>\ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Object Storage\ub294 API \uce5c\ud654\uc801\uc785\ub2c8\ub2e4.<br>\uc81c\uacf5\ub418\ub294 API\ub294 Amazon S3\uc640 \ud638\ud658\uc774 \ub418\uae30\ub54c\ubb38\uc5d0 S3\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ub418\ub294 \ub2e4\uc591\ud55c 3rd-party \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc7a5\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uba3c\uc800 \uc624\ub298\uc740 Object Storage\ub97c CLI\ub85c \ucee8\ud2b8\ub864\ud558\uae30 \uc704\ud574 awscli\ub97c \uc124\uce58\ud558\uace0 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uac04\ub2e8\ud788 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>awscli\ub97c \uc124\uce58\ud558\uae30 \uc704\ud574\uc11c\ub294 python3.7.x \uc774\uc0c1\uc758 \ubc84\uc804\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 CentOS 7.8 \uc774\ubbf8\uc9c0 \uae30\uc900\uc73c\ub85c \uc124\uce58\ub418\uc5b4 \uc788\ub294 \uae30\ubcf8 Python \ubc84\uc804\uc740 2.7.5\uc73c\ub85c Python3\ub97c \ub530\ub85c \uc124\uce58\ud574\uc8fc\uc5b4\uc57c\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ud558\uc9c0\ub9cc python 3 \uc124\uce58 \ud6c4 \ud2b9\uc815 OS \ubc84\uc804\uc5d0\uc11c\ub294 \uae30\uc874 python 2\ubc84\uc804\uc744 \uc774\uc6a9\ud558\ub358 \uc18c\uc2a4\ub4e4\uc774 \uc624\ub958\ub97c \ucd9c\ub825\ud558\ub294 \ubb38\uc81c\uac00 \uc788\uc5b4 pyenv\ub97c \uc124\uce58\ud558\uc5ec OS\uc5d0 \uc601\ud5a5\uc774 \uac00\uc9c0 \uc54a\ub3c4\ub85d \ud558\uace0 \uac00\uc0c1 \ud658\uacbd\uc5d0\uc11c python3 \ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud560 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc11c\ub860\uc774 \uae38\uc5c8\uc73c\ub2c8 \ubc14\ub85c \uc124\uce58\ub97c \uc2dc\uc791\ud574\ubd05\uc2dc\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel git -y\nyum install gcc openssl-devel libffi-devel bzip2-devel wget xz-devel patch -y\ncurl -L https:\/\/github.com\/pyenv\/pyenv-installer\/raw\/master\/bin\/pyenv-installer | bash<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-green-cyan-background-color has-text-color has-background wp-block-heading\"> Environment Setting &amp; Running<\/h3>\n\n\n\n<p>\/root\/.bash_profile \uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \ucd94\uac00\ud574\uc8fc\uc790!<\/p>\n\n\n\n<p><strong>vi \/root\/.bash_profile<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">export PATH=\"$HOME\/.pyenv\/bin:$PATH\"\neval \"$(pyenv init -)\"\neval \"$(pyenv virtualenv-init -)\"<\/pre>\n\n\n\n<p>\ucd94\uac00 \ubc0f \uc800\uc7a5 \ud6c4 source \uba85\ub839\uc5b4\ub85c \uc218\uc815\ub41c \ud30c\uc77c\uc744 \ubc14\ub85c \uc801\uc6a9\uc2dc\ucf1c\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>source \/root\/.bash_profile<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ [\ucc38\uace0] pyenv install --list \ub97c \uc774\uc6a9\ud558\uc5ec \uc124\uce58 \uac00\ub2a5\ud55c python \ubc84\uc804 \ub9ac\uc2a4\ud2b8\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\/\/ \ud574\ub2f9 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 3.7.13 \ubc84\uc804\uc744 \uc124\uce58\ud558\uc600\uc2b5\ub2c8\ub2e4.\n\npyenv install 3.7.13\n\n\/\/ \uc124\uce58 \ud6c4 pyenv versions \uba85\ub839\uc5b4\ub97c \uc774\uc6a9\ud558\uc5ec \uc124\uce58\ub41c \ubc84\uc804\ubaa9\ub85d\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\/\/ obj \uc774\ub984\uc758 \uac00\uc0c1 \ud658\uacbd\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\npyenv virtualenv 3.7.13 obj\n\nmkdir -p ~\/bin\/obj\ncd ~\/bin\/obj\n\n\/\/ obj \ub514\ub809\ud1a0\ub9ac\uc5d0 obj \ud658\uacbd\uc744 \uc801\uc6a9\uc2dc\ud0b5\ub2c8\ub2e4.\npyenv local 3.7.13\n\n\/\/ cd\ub85c \ub2e4\ub978 \uacbd\ub85c\uc640 obj \uacbd\ub85c\uc5d0\uc11c python --version\ub85c \ubc84\uc804\uc744 \ud655\uc778\ud574\ubcf4\uba74 \ubc84\uc804\uc774 \ub2e4\ub978 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\/\/ \ub9c8\uc9c0\ub9c9\uc73c\ub85c pip\uc73c\ub85c awscli\ub97c \uc124\uce58\ud574\uc90d\uc2dc\ub2e4.\npip install awscli==1.15.85<\/pre>\n\n\n\n<ul><li>awscli 1.16.x \ubc84\uc804\uc740 \uc77c\ubd80 \uae30\ub2a5\uc744 \ubbf8\uc9c0\uc6d0\ud558\ubbc0\ub85c 1.15.x \ubc84\uc804 \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.<\/li><li>awscli 1.15.85 \ubc84\uc804\uc740 Python 3.8 \uc774\ud558 \ubc84\uc804\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-white-background-color has-text-color has-background\">[\ucc38\uace0] pyenv local\uc744 \ud574\ub3c4 python \ubc84\uc804\uc774 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc744 \uacbd\uc6b0 pyenv activate obj \uc640 \uac19\uc774 \uac00\uc0c1\ud658\uacbd\uc744 \ud65c\uc131\ud654 \uc2dc\ucf1c\uc900 \ub4a4 source deactivate \uba85\ub839\uc5b4\ub85c \ub2e4\uc2dc \ube44\ud65c\uc131\ud654 \ud55c \ud6c4 \ub2e4\uc2dc pyenv local\ub85c \uc2dc\ub3c4 \ud574\ubcf4\uae38 \ubc14\ub78d\ub2c8\ub2e4.\n\npyenv local\uc740 \uc9c0\uc815\ud55c \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c\ub9cc \uac00\uc0c1 \ud658\uacbd\uc774 \uc801\uc6a9\ub418\uc9c0\ub9cc pyenv activate \ub97c \ud558\uac8c\ub418\uba74 \uc5b4\ub290 \uacbd\ub85c\uc5d0\uc11c\ub4e0 \ubcc0\uacbd\ub41c \uac00\uc0c1 \ud658\uacbd\uc758 \ubc84\uc804\uc774 \uc801\uc6a9\ub41c\ub2e4\ub294 \ucc28\uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. <\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-cyan-blue-background-color has-text-color has-background wp-block-heading\"> Sub Account &#8211; Role<\/h3>\n\n\n\n<p>awscli\ub97c \uc774\uc6a9\ud558\uc5ec object storage\ub97c \ucee8\ud2b8\ub864\ud558\uae30 \uc704\ud574\uc11c\ub3c4 \uc5ed\uc2dc \uad8c\ud55c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>aws configure\ub97c \uc774\uc6a9\ud558\uc5ec Access key\uc640 secret key\ub97c \ub4f1\ub85d\ud574\uc8fc\ub294 \ubc29\ubc95\ub3c4 \uc788\uc9c0\ub9cc<br>\uc800\ub294 Sub Account-Roles\uc744 \uc774\uc6a9\ud558\uc5ec &#8220;NCP_OBJECT_STORAGE_MANAGER&#8221; \uad8c\ud55c\uc744 \ucd94\uac00\ud558\uace0 Role \uc18c\uc720 \ub9ac\uc18c\uc2a4\uc5d0 object storage\ub97c \ucee8\ud2b8\ub864\ud560 \uc11c\ubc84\ub97c \ucd94\uac00\ud574\uc8fc\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>&#8220;NCP_OBJECT_STORAGE_MANAGER&#8221; \uad8c\ud55c\uc744 \uc8fc\uc9c0\uc54a\uace0 \uc138\ubd80\uc801\uc778 \uad8c\ud55c\uc774 \ud544\uc694\ud560 \uacbd\uc6b0 Policies\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc815\uc758 \uc815\ucc45\uc744 \uc0dd\uc131\ud558\uc5ec \ud544\uc694\ud55c \uad8c\ud55c\ub9cc \ubd80\uc5ec\ud55c \ub4a4 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-red-background-color has-text-color has-background wp-block-heading\"> Cron<\/h3>\n\n\n\n<p>\uad8c\ud55c\ub9cc \ubd80\uc5ec\ud588\ub2e4\uba74 \uc0ac\uc6a9 \ubc29\ubc95\uc740 \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">aws --endpoint-url=https:\/\/kr.object.ncloudstorage.com s3 ls<\/pre>\n\n\n\n<p>\uc704\uc640 \uac19\uc740 \uba85\ub839\uc5b4\ub85c \ubc84\ud0b7 \ubaa9\ub85d\uc744 \uc870\ud68c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color\">\uc5ec\uae30\uc11c \uc8fc\uc758\ud560 \uc810\uc740 &#8211;endpoint-url \ucd94\uac00 \uc2dc \ubbfc\uac04\uc874, \uae08\uc735\uc874, \uacf5\uacf5\uc874\uc758 URL\uc774 \ubaa8\ub450 \ub2e4\ub974\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4.<br>\uac00\ub054 \uc81c\uac00 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4e4\uc5b4 \ubc30\ud3ec\ud558\ub294 \uac83\ub3c4 \ub3d9\uc77c\ud569\ub2c8\ub2e4. <br>\uc81c\uac00 \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ud574\ub4dc\ub9ac\ub294 \uac83\uc740 \ubbfc\uac04\uc874 \uae30\uc900\uc73c\ub85c \ubc30\ud3ec\ub97c \ud574\ub4dc\ub9ac\uace0 \uc788\uace0 \uae08\uc735, \uacf5\uacf5\uc874\uc774\ub77c\uba74 URL \uc218\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc790 \uac04\ub2e8\ud55c \uc0ac\uc6a9 \ubc29\ubc95\uc740 \uc5ec\uae30\uc11c \ub9c8\uce58\uace0 \ud558\ub098\uc758 \uc2dc\ub098\ub9ac\uc624\ub97c \uac00\uc815\ud574\ubd05\uc2dc\ub2e4.<br>\ubb3c\ub860 \uc704\uc640 \uac19\uc740 \uba85\ub839\uc5b4\ub85c Object Storage\ub97c \ucee8\ud2b8\ub864 \ud560 \uc218 \uc788\ub294\ub370 \ub9e4\ubc88 \uc774 \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uae30\uac00 \uadc0\ucc2e\uace0 \ud2b9\uc815 \uc2dc\uac04\ub9c8\ub2e4 \uc790\ub3d9\uc73c\ub85c \uc2e4\ud589\ub410\uc73c\uba74 \uc88b\uaca0\ub2e4 \uc774\uac70\uc8e0.<\/p>\n\n\n\n<p>\uadf8\ub7fc \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 cron\uc5d0\uc11c \uc2e4\ud589\ub418\ub3c4\ub85d \ud574\ubd05\uc2dc\ub2e4.<\/p>\n\n\n\n<p>\uc6b0\uc120 \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc544\ub798\uc640 \uac19\uc774 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>vi obj-cp.sh<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nexport PYENV_VIRTUALENV_DISABLE_PROMPT=1\nsource ~\/.bash_profile\npyenv activate obj\n\naws --endpoint-url=https:\/\/kr.object.ncloudstorage.com s3 cp \/home\/test\/dir s3:\/\/manvscloud-logs\/dir --recursive\n<\/pre>\n\n\n\n<p>\uc704\uc640 \uac19\uc774 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 <strong>chmod 700 obj-cp.sh<\/strong> \uba85\ub839\uc5b4\ub85c \uad8c\ud55c\uc744 \uc8fc\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc2a4\ud06c\ub9bd\ud2b8\ub294 \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ol><li>export PYENV_VIRTUALENV_DISABLE_PROMPT=1 <br>: \ud06c\uac8c \uc758\ubbf8 \uc5c6\ub294 \ubd80\ubd84\uc785\ub2c8\ub2e4. \uadf8\ub0e5 \ud504\ub86c\ud504\ud2b8\uac00 \ubcc0\uacbd\ub3fc\uc11c \uc81c\uac70\ub410\uc73c\ub2c8 export \ud574\ub77c \ub77c\ub294 \ubb38\uad6c\uac00 \ub728\ub294 \ubd80\ubd84\uc774 \uc788\uc5b4\uc11c \ucd94\uac00 \ud574\uc900 \uac83\uc785\ub2c8\ub2e4.<\/li><li>source ~\/.bash_profile<br>: pyenv \uc124\uce58 \uc2dc ~\/.bash_profile \uc5d0 \ucd94\uac00\ud588\ub358 export PATH=&#8221;$HOME\/.pyenv\/bin:$PATH&#8221;, eval &#8220;$(pyenv init -)&#8221;, eval &#8220;$(pyenv virtualenv-init -)&#8221; \ub97c \uc801\uc6a9\ud558\uae30 \uc704\ud568\uc785\ub2c8\ub2e4.<\/li><li>pyenv activate obj<br>: python 3.7.13 \uc744 \ud65c\uc131\ud654 \ud574\uc8fc\uae30 \uc704\ud574 \uc0ac\uc6a9\ub410\uc2b5\ub2c8\ub2e4. <br>(\uc9c8\ubb38) \uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc774 pyenv local\ub85c \uc9c0\uc815\ud574\uc900 obj \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc874\uc7ac\ud558\uba74 \ub418\uc9c0 \uc54a\ub098\uc694?<br>(\ub2f5\ubcc0) \ub124 \uc548\ub429\ub2c8\ub2e4. pyenv local\ub85c \uc9c0\uc815\ud574\uc900 obj \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c \uc791\uc5c5 \uc2dc\uc5d0\ub9cc python 3.7.13\uc758 \uc601\ud5a5\uc744 \ubc1b\uae30\ub54c\ubb38\uc5d0 activate\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4.<\/li><li>aws &#8211;endpoint-url=https:\/\/kr.object.ncloudstorage.com s3 cp \/home\/test\/dir s3:\/\/manvscloud-logs\/dir &#8211;recursive<br>: cp\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \uc989 \/home\/test\/dir \ub514\ub809\ud1a0\ub9ac\ub97c s3:\/\/manvscloud-logs\/dir \ub85c \ubcf5\uc0ac\ud558\uaca0\ub2e4\ub294 \uc758\ubbf8\uc778\ub370 &#8211;recursive\ub294 \uc65c \ucd94\uac00\ud588\ub290\ub0d0? &#8211;recursive \uc635\uc158 \uc0ac\uc6a9 \uc2dc \ud558\uc704 \ud30c\uc77c\ub4e4\ub3c4 \ubaa8\ub450 \ubcf5\uc0ac\uac00 \ub418\uae30 \ub54c\ubb38!<\/li><\/ol>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c crontab\uc5d0 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ucd94\uac00 \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>vi \/etc\/crontab<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">## Object Storage\ub85c \ubcf5\uc0ac cron \uc77c\uc815\uc740 \uc6d0\ud558\ub294 \uc870\uac74\uc5d0 \ub9de\ucdb0\uc11c \uc0ac\uc6a9\n* 1 * * * root \/root\/bin\/obj\/obj-cp.sh<\/pre>\n\n\n\n<p>\uc774\uc81c \ub9e4\uc77c \uc0c8\ubcbd 1\uc2dc\ub9c8\ub2e4 \uc2a4\ud06c\ub9bd\ud2b8\uac00 \uc2e4\ud589\ub418\uaca0\uad70\uc694.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-cyan-bluish-gray-background-color has-text-color has-background wp-block-heading\"> Personal Comments<\/h3>\n\n\n\n<p>\uc624\ub298\uc740 \uac04\ub2e8\ud558\uc9c0\ub9cc \ub9ce\uc774 \uc0ac\uc6a9\ub418\ub294 Object Storage CLI \uc0ac\uc6a9 \ubc29\ubc95\uc744 \ud3ec\uc2a4\ud305\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Object Storage CLI \uc0ac\uc6a9\uc740 \uc774\ubbf8 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \uac00\uc774\ub4dc\uc5d0\uc11c\ub3c4 \uc798 \ub098\uc640\uc788\ub294\ub370 \uc65c \uc774 \ud3ec\uc2a4\ud305\uc744 \ud558\uac8c \ub418\uc5c8\ub0d0\uba74 python \ubc84\uc804 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>awscli\ub97c \uc124\uce58\ud558\ub2e4 python \ubc84\uc804\uc5d0 \ub9c9\ud788\uace0 \ubb34\uc791\uc815 \uc2dc\ub3c4\ud558\ub2e4\uac00 OS\uc5d0 \uc601\ud5a5\uc774 \uc0dd\uaca8 \ud3ec\uae30\ud558\ub294..<br> <br>\ubb3c\ub860 \ub2e4\ub978 \ubc29\ubc95\ub4e4\uc744 \uc0dd\uac01\ud574\ub0b4\uace0 \ud574\uacb0\ud558\uc2dc\ub294 \ubd84\ub4e4\ub3c4 \ub9ce\uaca0\uc9c0\ub9cc \uadf8\ub807\uc9c0 \uc54a\uc558\ub358 6~7\ub144 \uc804\uc758 \ub098\uc640 \uac19\uc740 \uc2e0\uc785\ub4e4\uc774 \uc870\uae08\uc774\ub77c\ub3c4 \ud3b8\ud558\uac8c \ucc3e\uc544\uc11c \ud574\uacb0\ud558\uace0 \uc131\uc7a5\ud558\uc5ec \ub2e4\uc591\ud55c \uc815\ubcf4\ub97c \ub098\ub20c \uc218 \uc788\ub294 \ub3d9\ub8cc\uac00 \ub418\uae38 \ubc14\ub77c\ub294 \ub9c8\uc74c\uc73c\ub85c \uc791\uc131\ud558\uac8c \ub418\uc5c8\ub124\uc694.<br>(ManVSCloud \ube14\ub85c\uadf8\uc5d0 A to Z \ud3ec\uc2a4\ud305\uacfc TMI\uac00 \ub9ce\uc740 \uc774\uc720&#8230;)<\/p>\n\n\n\n<p>\uae34 \uae00 \uc77d\uc5b4\uc8fc\uc154\uc11c \uac10\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"137\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/25143135\/ncloud-master-1.png\" alt=\"\" class=\"wp-image-1265\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/25143135\/ncloud-master-1.png 800w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/25143135\/ncloud-master-1-300x51.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/25143135\/ncloud-master-1-768x132.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694. ManVSCloud \uae40\uc218\ud604\uc785\ub2c8\ub2e4. \uc624\ub298\uc740 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc5d0\uc11c Object Storage CLI\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ud3ec\uc2a4\ud305\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Installation \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Object Storage\ub294 API \uce5c\ud654\uc801\uc785\ub2c8\ub2e4.\uc81c\uacf5\ub418\ub294 API\ub294 Amazon S3\uc640 \ud638\ud658\uc774 \ub418\uae30\ub54c\ubb38\uc5d0 S3\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ub418\ub294 \ub2e4\uc591\ud55c 3rd-party \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc7a5\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc624\ub298\uc740 Object Storage\ub97c CLI\ub85c \ucee8\ud2b8\ub864\ud558\uae30 \uc704\ud574 awscli\ub97c \uc124\uce58\ud558\uace0 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uac04\ub2e8\ud788 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. awscli\ub97c \uc124\uce58\ud558\uae30 \uc704\ud574\uc11c\ub294 python3.7.x \uc774\uc0c1\uc758 \ubc84\uc804\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 CentOS 7.8 \uc774\ubbf8\uc9c0 \uae30\uc900\uc73c\ub85c \uc124\uce58\ub418\uc5b4 \uc788\ub294 \uae30\ubcf8 Python \ubc84\uc804\uc740 2.7.5\uc73c\ub85c Python3\ub97c \ub530\ub85c \uc124\uce58\ud574\uc8fc\uc5b4\uc57c\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc python 3 \uc124\uce58 \ud6c4 \ud2b9\uc815 OS \ubc84\uc804\uc5d0\uc11c\ub294 \uae30\uc874 python 2\ubc84\uc804\uc744 \uc774\uc6a9\ud558\ub358 \uc18c\uc2a4\ub4e4\uc774 \uc624\ub958\ub97c \ucd9c\ub825\ud558\ub294 \ubb38\uc81c\uac00 \uc788\uc5b4 pyenv\ub97c \uc124\uce58\ud558\uc5ec OS\uc5d0 \uc601\ud5a5\uc774 \uac00\uc9c0 \uc54a\ub3c4\ub85d \ud558\uace0 \uac00\uc0c1 \ud658\uacbd\uc5d0\uc11c python3 \ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud560 \uac83\uc785\ub2c8\ub2e4. \uc11c\ub860\uc774 \uae38\uc5c8\uc73c\ub2c8 \ubc14\ub85c \uc124\uce58\ub97c \uc2dc\uc791\ud574\ubd05\uc2dc\ub2e4. Environment Setting &amp; Running \/root\/.bash_profile \uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \ucd94\uac00\ud574\uc8fc\uc790! vi \/root\/.bash_profile \ucd94\uac00 \ubc0f \uc800\uc7a5 \ud6c4 source \uba85\ub839\uc5b4\ub85c \uc218\uc815\ub41c \ud30c\uc77c\uc744 \ubc14\ub85c \uc801\uc6a9\uc2dc\ucf1c\uc90d\ub2c8\ub2e4. source \/root\/.bash_profile awscli 1.16.x \ubc84\uc804\uc740 \uc77c\ubd80 \uae30\ub2a5\uc744 \ubbf8\uc9c0\uc6d0\ud558\ubbc0\ub85c 1.15.x \ubc84\uc804 \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4. awscli 1.15.85 \ubc84\uc804\uc740 Python 3.8 \uc774\ud558 \ubc84\uc804\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. [\ucc38\uace0] pyenv local\uc744 \ud574\ub3c4 python \ubc84\uc804\uc774 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc744 \uacbd\uc6b0 pyenv activate obj \uc640 \uac19\uc774 \uac00\uc0c1\ud658\uacbd\uc744 \ud65c\uc131\ud654 \uc2dc\ucf1c\uc900 \ub4a4 source deactivate \uba85\ub839\uc5b4\ub85c \ub2e4\uc2dc \ube44\ud65c\uc131\ud654 \ud55c \ud6c4 \ub2e4\uc2dc pyenv local\ub85c \uc2dc\ub3c4 \ud574\ubcf4\uae38 \ubc14\ub78d\ub2c8\ub2e4. pyenv local\uc740 \uc9c0\uc815\ud55c \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c\ub9cc \uac00\uc0c1 \ud658\uacbd\uc774 \uc801\uc6a9\ub418\uc9c0\ub9cc pyenv activate \ub97c \ud558\uac8c\ub418\uba74 \uc5b4\ub290 \uacbd\ub85c\uc5d0\uc11c\ub4e0 \ubcc0\uacbd\ub41c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"[NCP] Object Storage CLI \uc0ac\uc6a9 \uac00\uc774\ub4dc (CentOS7)","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[651,650,589,32,87,91,17,90,16,354,652,653,148,89,202,398],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/1748"}],"collection":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1748"}],"version-history":[{"count":13,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/1748\/revisions"}],"predecessor-version":[{"id":1908,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/1748\/revisions\/1908"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}