Skip to main content

AWS Marketplace

Introduction#

kupboard contianer๋Š” Docker Container๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋“  ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” AWS Marketplace์— ๋“ฑ๋ก๋œ kupboard container๋ฅผ ์„ค์น˜ ๋ฐ ์‹คํ–‰๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ , kupboard ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ์˜ Cloud Native ํ™˜๊ฒฝ์šธ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค.

note

If you use a kupboard container of Dockerhub instead of AWS Marketplace, skip the subscription process and move to Servers to create EC2 instances.

Subscription#

Kupboard๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € AWS Marketplace์—์„œ kupboard๋ฅผ ๊ฒ€์ƒ‰ํ•œ ํ›„ [Continue to Subscribe]๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ตฌ๋…ํ•œ๋‹ค.


aws-install-01


๊ตฌ๋…๊ณผ์ •์ด ์™„๋ฃŒ๋˜๋ฉด [Continue To Configuration]์„ ์„ ํƒํ•˜์—ฌ ์„ค์ •ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค.


aws-install-02


์„ค์ • ๋ฉ”๋‰ด์—์„œ Delivery Method์™€ Software Version์„ ์„ ํƒ ํ›„ [Continue to Launch]๋ฅผ ์„ ํƒํ•œ๋‹ค.


aws-install-03


์ด์ œ Kupboard๋ฅผ ์‹คํ–‰ํ•  ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค. ํ•˜๋‹จ์˜ [View container image details] ๋งํฌ๋ฅผ ์„ ํƒํ•˜๋ฉด Kupboard ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ Pullํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


aws-install-04


Installation#

AWS Marketplace์— ๋“ฑ๋ก๋œ container๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ๋จผ์ € awscli๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์„ค์น˜๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด Installing, updating, and uninstalling the AWS CLI๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ์„ค์น˜ํ•œ๋‹ค.

note

awscli ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— AWS ๊ณ„์ •์˜ credentail์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ awscli์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ผ๋ฉด Set up AWS Credentials and Region for Development๋ฅผ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=

Login to registry#

AWS Marketplace์—์„œ ๊ตฌ๋…ํ•œ kupboard container๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € AWS Marketplace์˜ registry์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•œ๋‹ค.

$ aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com

Pull kupboard image#

$ docker pull 709825985650.dkr.ecr.us-east-1.amazonaws.com/atop-cloud/kupboard:0.9.0

Run kupboard#

kupboard container๊ฐ€ ์ •์ƒ์ ์œผ๋กœ pull๋˜์—ˆ๋‹ค๋ฉด docker run ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

$ docker run --rm -it 709825985650.dkr.ecr.us-east-1.amazonaws.com/atop-cloud/kupboard:0.9.0
___ _ __ __ _______ _______ _______ _______ ______ ______
| | | || | | || || _ || || _ || _ | | |
| |_| || | | || _ || |_| || _ || |_| || | || | _ |
| _|| |_| || |_| || || | | || || |_||_ | | | |
| |_ | || ___|| _ | | |_| || || __ || |_| |
| _ || || | | |_| || || _ || | | || |
|___| |_||_______||___| |_______||_______||__| |__||___| |_||______|
v0.9.0
04:04:15.849 KBD โ–ถ INFO [Configuration : kupboard]
04:04:15.849 KBD โ–ถ INFO version: v0.1
04:04:15.849 KBD โ–ถ INFO company: atopcloud
04:04:15.849 KBD โ–ถ INFO name: hello kupboard
kupboard is a root command for managements of the Kupboard platform.
Usage:
kupboard [flags]
kupboard [command]
Available Commands:
build Build application containers
kollection Deploy applications and install packages
deploy Deploy services on target clusters
help Help about any command
setup Initialize target clusters
ssh ssh connection to a target host
Flags:
--config string config file (default "kupboard")
--debug enable debug
-e, --envvar string ansible envvars
-h, --help help for kupboard
--hide-log diable logging
--hide-logo hide kupboard logo
Use "kupboard [command] --help" for more information about a command.

Bash script for running kupboard (Recommended)#

kupboard container๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด docker ๋ช…๋ น์–ด๋ฅผ ์ง์ ‘์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ bash script๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

#!/bin/bash
docker run --rm -it 709825985650.dkr.ecr.us-east-1.amazonaws.com/atop-cloud/kupboard:0.9.0 "$@"

bash script๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ kupboard ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

$ kupboard setup --init-user

data ํด๋”๋ฅผ ๋งˆ์šดํŠธ ํ•  ๊ฒฝ์šฐ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด -v ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

#!/bin/bash
docker run --rm -it -v $(pwd)/data:/kupboard/data 709825985650.dkr.ecr.us-east-1.amazonaws.com/atop-cloud/kupboard:0.9.0 "$@"

Servers#

Kupboard์˜ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์„œ๋น„์Šค์™€ ์šฉ๋„์— ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ๊ฒŒ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” 1๊ฐœ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋œ Admin ํด๋Ÿฌ์Šคํ„ฐ, 1๊ฐœ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋œ Gatewayํด๋Ÿฌ์Šคํ„ฐ ๊ทธ๋ฆฌ๊ณ  4๊ฐœ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋œ Serviceํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.

note

kupboard์˜ 0.9 ๋ฒ„์ „์—์„œ๋Š” EC2 ์ธ์Šคํ„ด์Šค์˜ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ง„ํ–‰ํ•˜์ง€๋งŒ, ์ดํ›„ ๋ฒ„์ „์—์„œ๋Š” awscli๋ฅผ ํ†ตํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๊นŒ์ง€ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋  ์˜ˆ์ •์ด๋‹ค.

EC2 Instance#

์•„๋ž˜ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์ด 6๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์˜ OS๋Š” Ubuntu18.04 ๋˜๋Š” 20.04 ์ด์–ด์•ผ ํ•˜๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋Š” ๋™์ผํ•œ key pair๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

ClusterEC2 TypeQuantityBoot VolumeEBS Volume
Admint3.meidum <150GBN/A
Gatewayt3.meidum <130GBN/A
Servicet3.large <430GB50GB
info

Serviceํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋“ค์€ EBS Volume์ด ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๋Š” kupboard๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž๋™์œผ๋กœ ์ปจํŠธ๋กค๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ํฌ๋งท์ด๋‚˜ ๋งˆ์šดํŠธ ์ž‘์—…์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

note

kupboard-0.9์—์„œ๋Š” Ubuntu๊ฐ€ ์„ค์น˜๋œ Host๋งŒ ์ง€์›ํ•˜์ง€๋งŒ ์ดํ›„ ๋ฒ„์ „์—๋Š” Centos๊ฐ€ ์„ค์น˜๋œ Host๋„ ์ง€์›๋  ์˜ˆ์ •์ด๋‹ค.

Security Group#

kupboard-sg ์ด๋ฆ„(๋˜๋Š” ๋‹ค๋ฅธ ์ด๋ฆ„)์˜ Security Group์„ ์ƒ์„ฑํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด Inbound์™€ Outbound๋ฅผ ์„ค์ •ํ•œ๋‹ค. kupboard ํด๋Ÿฌ์Šคํ„ฐ์— ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์€ kupboard-sg Security Group์ด ์ ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค.

ClusterInboundSource
All220.0.0.0/0
1 - 65535kupboard
Admin80,4430.0.0.0/0
Gateway80,4430.0.0.0/0
ClusterOutboundDestination
All1 - 655350.0.0.0/0