๋ฌธ์ ํ โ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ โ MongoDB ๋งค๋ด์ผ
Amazon Linux์ MongoDB Enterprise ์๋์ ์ค์น
์ด ํ์ด์ง์ ๋ด์ฉ
์ฐธ๊ณ
MongoDB Atlas
MongoDB Atlas ๋ ํด๋ผ์ฐ๋์์ ํธ์คํ ๋๋ MongoDB ์๋น์ค ์ต์ ์ผ๋ก, ์ค์น ์ค๋ฒํค๋๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ๋ฌด๋ฃ ๊ณ์ธต์ ์ ๊ณตํ์ฌ ์์ํ ์ ์์ต๋๋ค.
๊ฐ์
์ด ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผ yum
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ Amazon Linux์ MongoDB 7.0 Enterprise Edition์ ์ค์นํฉ๋๋ค.
MongoDB Enterprise Edition ์ ์ผ๋ถ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ณด์ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
Linux ๋ฐฐํฌ ํ์ธ
๋ช ๋ น์ค์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์คํ ์ค์ธ Linux ๋ฐฐํฌ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
grep ^NAME /etc/*release
๊ฒฐ๊ณผ๋ Amazon Linux ๋๋ Amazon Linux AMI์ ํด๋นํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ Linux ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํด๋น ํ๋ซํผ์ ๋ํ ์ค์น ์๋ด๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
MongoDB ๋ฒ์
์ด ํํ ๋ฆฌ์ผ์์๋ MongoDB 7.0 Enterprise Edition์ ์ค์นํฉ๋๋ค. ๋ค๋ฅธ ๋ฒ์ ์ MongoDB Community๋ฅผ ์ค์นํ๋ ค๋ฉด ํ์ด์ง ์ผ์ชฝ ์๋จ์ ๋ฒ์ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ ํด๋น ๋ฒ์ ์ ๋ํ ๋ฌธ์๋ฅผ ์ ํํ์ธ์.
๊ณ ๋ ค ์ฌํญ
ํ๋ซํผ ์ง์
MongoDB 7.0 ์ํฐํ๋ผ์ด์ฆ ์๋์ ์ x86_64 ์ํคํ ์ฒ์์ ๋ค์ 64๋นํธ Amazon Linux ๋ฆด๋ฆฌ์ค๋ฅผ ์ง์ํฉ๋๋ค.
Amazon Linux 2023
Amazon Linux 2
MongoDB๋ ์ด ํ๋ซํผ์ 64๋นํธ ๋ฒ์ ๋ง ์ง์ํฉ๋๋ค.
Amazon Linux์ MongoDB 7.0 Enterprise Edition์ ์ผ๋ถ ํ๋ซํผ์์ ARM64 ์ํคํ ์ฒ๋ ์ง์ํฉ๋๋ค.
์์ธํ ์ ๋ณด๋ ํ๋ซํผ ์ง์์์ ํ์ธํ ์ ์์ต๋๋ค.
ํ๋ก๋์ ์ ๋ณด
ํ๋ก๋์ MongoDB ๋ฐฐํฌ์ ๋ํ ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ๊ณผ ๊ตฌ์ฑ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํ๋ ํ๋ก๋์ ๋ ธํธ ๋ฌธ์๋ฅผ ๊ฒํ ํ ์ดํ์ ํ๋ก๋์ ํ๊ฒฝ์ MongoDB๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
MongoDB Enterprise Edition ์ค์น
๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ yum
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Enterprise Edition์ ์ค์นํฉ๋๋ค. ์ฌ์ฉ ์ค์ธ Amazon Linux ๋ฒ์ ์ ํด๋นํ๋ ํญ์ ์ ํํ์๊ธฐ ๋ฐ๋๋๋ค.
ํจํค์ง ๊ด๋ฆฌ ์์คํ
(yum
)์ ๊ตฌ์ฑํฉ๋๋ค.
yum
๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Enterprise๋ฅผ ์ง์ ์ค์นํ๋ ค๋ฉด /etc/yum.repos.d/mongodb-enterprise-7.0.repo
ํ์ผ์ ์์ฑํฉ๋๋ค.
์ฐธ๊ณ
์ด์ ์ MongoDB๋ฅผ ์ค์นํ๋ ๊ณผ์ ์์ mongodb-enterprise.repo
ํ์ผ์ด ์ด ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น ํ์ผ์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. MongoDB 7.0์ ์ค์นํ๋ ค๋ฉด ์์ mongodb-enterprise-7.0.repo
ํ์ผ์ ์ฌ์ฉํฉ๋๋ค.
MongoDB ๋ฆฌํฌ์งํ ๋ฆฌ ์์ .rpm
ํ์ผ์ ์ง์ ๋ค์ด๋ก๋ํ ์๋ ์์ต๋๋ค. ๋ค์ด๋ก๋๋ Amazon Linux ๋ฒ์ (์: 2023
), MongoDB ๋ฆด๋ฆฌ์ค ๋ฒ์ (์: 7.0
), ์ํคํ
์ฒ(์: x86_64
) ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
MongoDB Enterprise ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
MongoDB Enterprise 7.0์ ์ค์นํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
sudo yum install -y mongodb-enterprise
MongoDB Enterprise์ ํน์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์นํฉ๋๋ค.
ํน์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์นํ๋ ค๋ฉด ๋ค์ ์์์ ๊ฐ์ด ๊ฐ ๊ตฌ์ฑ ์์ ํจํค์ง๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ง์ ํ๊ณ ํจํค์ง ์ด๋ฆ์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
sudo yum install -y mongodb-enterprise-7.0.7 mongodb-enterprise-database-7.0.7 mongodb-enterprise-server-7.0.7 mongodb-mongosh-7.0.7 mongodb-enterprise-mongos-7.0.7 mongodb-enterprise-tools-7.0.7
mongodb-enterprise=7.0.7
๋ง ์ค์นํ๊ณ ๊ตฌ์ฑ ์์ ํจํค์ง๋ฅผ ํฌํจํ์ง ์์ผ๋ฉด ์ง์ ํ ๋ฒ์ ์ ๊ด๊ณ์์ด ๊ฐ MongoDB ํจํค์ง์ ์ต์ ๋ฒ์ ์ด ์ค์น๋ฉ๋๋ค.
MongoDB Enterprise์ ํน์ ๋ฒ์ ์ ๊ณ ์ ํฉ๋๋ค.
์ด์ฉ ๊ฐ๋ฅํ ๋ชจ๋ MongoDB ๋ฒ์ ์ ์ง์ ํ ์ ์์ง๋ง ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ yum
์ด ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. ์๋ํ์ง ์์ ์
๊ทธ๋ ์ด๋๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด /etc/yum.conf
ํ์ผ์ ๋ค์ exclude
์ง์๋ฌธ์ ์ถ๊ฐํ์ฌ ํจํค์ง๋ฅผ ๊ณ ์ ํฉ๋๋ค.
exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools
์ฐธ๊ณ
์์คํ ์ OpenSSL์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํ ์๋ ์์ต๋๋ค. ์์คํ ์ OpenSSL์ ์ค์นํ ์ดํ์ ์ด ๋ฒ์ ์ MongoDB ์ ธ์ ์ค์นํด์ผ ํฉ๋๋ค.
๋จผ์ MongoDB ์ ธ์ ์ ๊ฑฐํ์ง ์์๋ ๋ชจ๋ MongoDB Enterprise ํจํค์ง์ ์์คํ OpenSSL์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํ ์ ์์ต๋๋ค. ๊ทธ ์์๋ ์๋์ ๊ฐ์ต๋๋ค.
sudo yum install -y mongodb-enterprise mongodb-mongosh-shared-openssl11
๋ค์ ์์์์๋ MongoDB ์ ธ์ ์ ๊ฑฐํ ๋ค์ ์์คํ ์ OpenSSL 1.1์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํฉ๋๋ค.
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl11
๋ค์ ์์์์๋ MongoDB ์ ธ์ ์ ๊ฑฐํ ๋ค์ ์์คํ ์ OpenSSL 3์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํฉ๋๋ค.
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl3
์ค์นํ MongoDB ํจํค์ง๋ฅผ ์ ํํ ์๋ ์์ต๋๋ค.
๋ค์ ์์์์๋ MongoDB Enterprise์ ๋๊ตฌ, ์์คํ ์ OpenSSL 1.1์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํฉ๋๋ค.
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl11
๋ค์ ์์์์๋ MongoDB Enterprise์ ๋๊ตฌ, ์์คํ ์ OpenSSL 3์ ์ฌ์ฉํ๋ MongoDB ์ ธ์ ์ค์นํฉ๋๋ค.
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl3
MongoDB Enterprise Edition ์คํ
ulimit ๊ณ ๋ ค ์ฌํญ
Unix ๊ณ์ด ์ด์ ์ฒด์ ๋ ๋๋ถ๋ถ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ ์ ์๋ ์์คํ
๋ฆฌ์์ค๋ฅผ ์ ํํฉ๋๋ค. ์ด๋ฌํ ์ ํ์ MongoDB ์๋์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ผ๋ฏ๋ก ์กฐ์ ํด์ผ ํฉ๋๋ค. ํ๋ซํผ์ ๊ถ์ฅ๋๋ ์ค์ ์ ๊ดํ ๋ด์ฉ์ UNIX ulimit
์ค์ ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
์ด๋ฆฐ ํ์ผ ์์ ๋ํ ulimit
๊ฐ์ด 64000
๋ฏธ๋ง์ธ ๊ฒฝ์ฐ MongoDB๋ ์์ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํฉ๋๋ค.
๋๋ ํ ๋ฆฌ
๊ธฐ๋ณธ์ ์ผ๋ก MongoDB ์ธ์คํด์ค๋ ๋ค์์ ์ ์ฅํฉ๋๋ค.
๋ฐ์ดํฐ ํ์ผ:
/var/lib/mongo
๋ก๊ทธ ํ์ผ:
/var/log/mongodb
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ํตํด ์ค์นํ ๊ฒฝ์ฐ ์ค์น ์ค์ ์ด๋ฌํ ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
ํ๋ฅด๋ณผ์ ๋ค์ด๋ก๋ํ์ฌ ์๋์ผ๋ก ์ค์นํ ๊ฒฝ์ฐ, MongoDB๋ฅผ ์คํํ ์ฌ์ฉ์์ ๋ฐ๋ผ mkdir -p <directory>
๋๋ sudo mkdir -p
<directory>
๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. (mkdir
๋ฐ sudo
์ ๋ํ ์์ธํ ๋ด์ฉ์ Linux ๋งค๋ด์ผ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.)
๊ธฐ๋ณธ์ ์ผ๋ก MongoDB๋ mongod
์ฌ์ฉ์ ๊ณ์ ์ ์ฌ์ฉํ์ฌ ์คํ๋ฉ๋๋ค. MongoDB ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ /var/lib/mongo
๋ฐ /var/log/mongodb
๋๋ ํ ๋ฆฌ์ ๋ํ ๊ถํ๋ ์์ ํ์ฌ ์ฌ์ฉ์์๊ฒ ์ด๋ฌํ ๋๋ ํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ฐ๋์ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
๋ค๋ฅธ ๋ก๊ทธ ํ์ผ ๋๋ ํ ๋ฆฌ์ ๋ฐ์ดํฐ ํ์ผ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ๋ ค๋ฉด /etc/mongod.conf
์์ systemLog.path
๋ฐ storage.dbPath
์ค์ ์ ํธ์งํฉ๋๋ค. MongoDB๋ฅผ ์คํํ๋ ์ฌ์ฉ์์๊ฒ ์ด ๋๋ ํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์๋์ง ํ์ธํ์ธ์.
์ ์ฐจ
MongoDB Enterprise Edition์ ์คํํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์. ์ด ์ง์นจ์์๋ ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
init ์์คํ
mongod
์ ์คํํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ด์ ์ฒด์ ์ ๋ด์ฅ๋ init ์์คํ
์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ต์ ๋ฒ์ ์ Linux๋ systemctl
๋ช
๋ น์ ์ฌ์ฉํ๋ systemd๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์๋ ๋ฐ๋ฉด, ๊ตฌ๋ฒ์ ์ service
๋ช
๋ น์ ์ฌ์ฉํ๋ System V init๋ฅผ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
ํ๋ซํผ์์ ์ฌ์ฉํ๋ init ์์คํ ์ ์ ํํ ์ ์ ์๋ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
ps --no-headers -o comm 1
์ดํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋์์ ์ ์ ํ ํญ์ ์ ํํฉ๋๋ค.
systemd
- ์๋์ systemd(systemctl) ํญ์ ์ ํํฉ๋๋ค.init
- ์๋์ System V Init(์๋น์ค) ํญ์ ์ ํํฉ๋๋ค.
MongoDB ์ ๊ฑฐ
์์คํ ์์ MongoDB๋ฅผ ์์ ํ ์ ๊ฑฐํ๋ ค๋ฉด MongoDB ์ ํ๋ฆฌ์ผ์ด์ ์์ฒด์ ๊ตฌ์ฑ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ก๊ทธ๊ฐ ํฌํจ๋ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ๋ค์ ์น์ ์์๋ ํ์ํ ๋จ๊ณ๋ฅผ ์๋ดํฉ๋๋ค.
๊ฒฝ๊ณ
์ด ํ๋ก์ธ์ค๋ MongoDB์ ๊ทธ ๊ตฌ์ฑ, ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํ ์ ๊ฑฐํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋๋๋ฆด ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ๊ตฌ์ฑ๊ณผ ๋ฐ์ดํฐ์ ๋ฐฑ์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ดํ์ ์งํํด์ผ ํฉ๋๋ค.
MongoDB๋ฅผ ์ค์งํฉ๋๋ค.
๋ค์ ๋ช
๋ น์ ์คํํ์ฌ mongod
ํ๋ก์ธ์ค๋ฅผ ์ค์งํฉ๋๋ค.
sudo service mongod stop
์ถ๊ฐ ์ ๋ณด
๊ธฐ๋ณธ ๋ก์ปฌ ํธ์คํธ ๋ฐ์ธ๋ฉ
๊ธฐ๋ณธ์ ์ผ๋ก MongoDB๋ bindIp
๋ฅผ ๋ก์ปฌ ํธ์คํธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋ฐ์ธ๋ฉ๋ 127.0.0.1
๋ก ์ค์ ํ ์ํ๋ก ์์ํฉ๋๋ค. ์ฆ mongod
๊ฐ ๋์ผํ ๋จธ์ ์์ ์คํ ์ค์ธ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋ง ํ์ฉํ ์ ์๋ค๋ ์๋ฏธ์
๋๋ค. ์๊ฒฉ ํด๋ผ์ด์ธํธ๋ mongod
์ ์ฐ๊ฒฐํ ์ ์์ผ๋ฉฐ, ์ด ๊ฐ์ด ์๊ฒฉ ํด๋ผ์ด์ธํธ๊ฐ ์ก์ธ์คํ ์ ์๋ ์ ํจํ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก ์ค์ ๋์ด ์์ง ์์ ํ mongod
๋ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
์ด ๊ฐ์ ๋ค์ ์ค ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ
๊ณต๊ฐ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋ IP ์ฃผ์์ ์ธ์คํด์ค๋ฅผ ๋ฐ์ธ๋ฉํ๊ธฐ ์ ์ ๋ฌด๋จ ์ก์ธ์ค๋ก๋ถํฐ ํด๋ฌ์คํฐ๋ฅผ ๋ณดํธํด์ผ ํฉ๋๋ค. ๋ณด์ ๊ถ์ฅ ์ฌํญ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ณด์ ๊ฒ์ฌ ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์. ์ต์ํ์ผ๋ก ์ธ์ฆ์ ํ์ฑํํ๊ณ ๋คํธ์ํฌ ์ธํ๋ผ๋ฅผ ๊ฐํํ๋ ๊ฒ์ ๊ณ ๋ คํ์ธ์.
bindIp
๊ตฌ์ฑ์ ๊ดํ ์์ธํ ์ ๋ณด๋ IP ๋ฐ์ธ๋ฉ์์ ํ์ธํ ์ ์์ต๋๋ค.
MongoDB Enterprise Edition ํจํค์ง
MongoDB Enterprise Edition์ ์ ์ฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๊ณต์ ์ง์ ํจํค์ง๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
ํจํค์ง ์ด๋ฆ | ์ค๋ช
| ||||||||
---|---|---|---|---|---|---|---|---|---|
mongodb-enterprise | metapackage ๋ ์๋ ๋์ด๋ ๊ตฌ์ฑ์์ ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ค์นํฉ๋๋ค. | ||||||||
mongodb-enterprise-database |
| ||||||||
mongodb-mongosh | MongoDB Shell( mongosh )์ ํฌํจํฉ๋๋ค. | ||||||||
mongodb-shared-openssl* | ์ปดํจํฐ์ ์ด๋ฏธ ์ค์น๋ OpenSSL ๋ฒ์ ( mongosh )์ ์ฌ์ฉํ๋ MongoDB Shell์ด ํฌํจ๋์ด ์์ต๋๋ค. | ||||||||
mongodb-enterprise-tools |
|