AWS Parametrlar Do'koni va Atrof muhit o'zgaruvchilari

Ushbu maqolada men AWS parametrlari do'konidan AWS infratuzilmasidagi atrof-muhit o'zgaruvchilarini almashtirish uchun qachon va qanday foydalanish kerakligini ko'rib chiqaman. Men bularning har biri nima ekanligini yoki ularni qanday qilib chuqurroq o'rnatishni ko'rib chiqmayman, aksincha ikkalasini solishtirish.

Atrof muhit o'zgaruvchilari uchun vaziyat

Sozlash oson

Atrof-muhit o'zgaruvchilari bilan sozlash juda oddiy. Masalan, tugun npm orqali bitta buyruq bilan o'rnatilishi mumkin bo'lgan dotenv moduliga ega:

npm dotenv o'rnating

Biz dotenv-ning skriptimizning biron bir joyiga kirish nuqtasi borligiga ishonch hosil qilishimiz kerak, odatda talab qilish bayoni orqali -

talab qilish ('dotenv'). config ()

Bu erdan atrofimizdagi o'zgaruvchilarni loyihaning ildiz papkasida joylashgan .env fayliga qo'shishimiz kerak.

Dotenv moduli haqida ko'proq ma'lumotni bu erda topishingiz mumkin:

Shuni ta'kidlash kerakki, Parametrlar do'koni dastlab sozlash qulayligida bir xil jihatlarni baham ko'rmaydi - agar siz ilgari Parametrlar do'koni bilan hech qachon ishlamagan bo'lsangiz, sozlash jarayoni juda og'ir bo'lib tuyulishi mumkin:

  • Siz AWS hisob qaydnomasiga kirishingiz kerak
  • Siz AWS boshqaruv panelini qanday boshqarishni bilishingiz kerak - xususan SSM bo'limi.
  • Ta'sirchan / Xavfsiz parametrlarni KMS bilan shifrlash kerak - buning uchun qo'shimcha sozlash talab etiladi (https://aws.amazon.com/kms/)
  • Parametrlar do'konining to'g'ri ishlashini ta'minlash uchun sizning ehtiyojlaringizga qarab, boshqa AWS xizmatlari, masalan, IAM va SSM buyurtmalari haqida ma'lumot olishingiz kerak bo'lishi mumkin.
  • Barcha parametrlar IAM dasturiy kirishni talab qiladigan bulutga joylashtirilgan, bu esa uzluksiz ulanishni talab qiladi (shuni ta'kidlash kerakki, mahalliy sozlamalar vaziyatga qarab Parametrlar do'koni o'zgaruvchilarining o'rnida ishlatilishi mumkin bo'lgan mahalliy o'zgaruvchilar bilan yaratilishi mumkin - I aslida bunday yondashuvni rag'batlantiradi).

Dasturlash, joylashtirish va sinov paytida yangilash oson

Atrof muhit o'zgaruvchilari yuqorida aytib o'tilgan .env fayli va dotenv moduli orqali osongina yangilanishi mumkin. Ushbu faylning o'zgarishlari har bir tegishli muhitga mos ravishda yaratilishi va ishlatilishi mumkin. Sinov stsenariysiga bizning atrof-muhitdagi o'zgaruvchilarni import qilish xuddi shunday ishlaydi (envlarni import qilish tegishli dotenv faylidan farq qiladi).

Sahna yoki ishlab chiqarish serveriga joylashtirish uchun biz .env faylining alternativ versiyasidan foydalanishimiz kerak. Buning uchun sizning versiyangizni boshqarish tizimidagi mavjud .env fayliga e'tibor bermaslik (odatda git) va har bir bosqich / server nusxasida yangi nusxani yaratish orqali amalga oshiriladi.

Atrof muhit o'zgaruvchilari ham doimiy integratsiya tizimlari (CI) bilan yaxshi birlashadi. Masalan, CI doirasi atrof-muhit o'zgaruvchilarini boshqarish uchun maxsus bo'limga ega, unda loyihani yaratish darajasida qo'shilishi va joylashishga tayyor bo'lganda bitta joyda yangilanishi mumkin -

Parametrlar do'koni nuqtai nazaridan, bu agnostic til / ramka bo'lib, barcha sozlash Parametrlar do'koni xizmatiga dasturiy kirish huquqiga ega AWS SDK yordamida yoki shunga o'xshash uchinchi tomon provayderi orqali amalga oshiriladi (masalan, npm moduli kabi). . AWS va uning xizmatlari bulutli hisoblash domenidagi xavfsizlik standartlari uchun asosiy mezon bo'lsa-da, siz ishlab chiqmoqchi yoki ishlatmoqchi bo'lgan maxsus modullar yovuzlik yoki nazorat tufayli xavfsizlikning zaifliklariga ega bo'lishi mumkin, buning uchun sanoat tomonidan qabul qilingan modullar mavjud. o'zlari kabi ishonchli tashkilotlar tomonidan qo'llab-quvvatlanadi va tasdiqlanadi.

O'rnatish / sinash nuqtai nazaridan Parametr do'koni noyob muammolar to'plamiga ega, chunki taklif qilingan yondashuvlar mavjud bo'lsa-da, Parametrlar do'koni bilan qanday ishlashni qachon va qachon tanlash sizga bog'liq.

Atrof-muhit o'zgaruvchilaridan foydalanish bepul

Garchi AWS Parametrlar Do'konida qo'shimcha to'lovlar mavjud bo'lmasa (https://aws.amazon.com/systems-manager/pricing), KMS (https://aws.amazon.com/kms/pricing) kabi tegishli xizmatlar uchun Amazonning narx tuzilishi ) foydalanishni hisobga olmaganda qo'shimcha xarajatlarga olib keladi. Boshqa tomondan, atrof-muhit o'zgaruvchilaridan foydalanish bepul.

Xo'sh, nima uchun atrof-muhit o'zgaruvchilarini almashtirish kerak? : Parametrlar do'koni uchun sumka

Shu paytga qadar vanil muhitining o'zgaruvchan echimi Parametrlar do'konida sahnada / o'zgaruvchan maydonda ustunlik uchun poyga paytida ko'rinadi. Parametrlar do'koni hal qilgandan ko'ra ko'proq qiyinchiliklar tug'dirayotganga o'xshaydi, ammo bir nechta narsa bor, Parametr Store do'koni atrof-muhit o'zgaruvchisiga nisbatan shubhasiz yaxshiroq ishlaydi:

Parametr do'koni o'zgaruvchilarini bir nechta loyihalarda bo'lishish mumkin

Atrof-muhit o'zgaruvchilarini loyihalar o'rtasida almashish uchun eng yaxshi sozlash - bu muhit o'zgaruvchilarini umumiy ob'ekt tarkibidagi fayldan, masalan, S3 chelak kabi, kerak bo'lganda, loyiha konfiguratsiyasiga ulanadigan avtomatik joylashtirish jarayonidan foydalanish (odatda bu orqali amalga oshiriladi) CI xizmatidan ishlaydigan skript). Oldingi tajribadan kelib chiqqan holda, bu eng semantik jihatdan maqbul variant (iltimos, agar biron bir yaxshi variantni tanlash bo'yicha tajribangiz bo'lsa, menga xabar bering). Afsuski, bu zerikarli mashq bo'lib, dastlab va oxir-oqibat siz qo'lda ushlab turishni xohlamagan narsa emas, bu asosan o'rnatish yoki uni saqlash paytida yo'l qo'yilayotgan xatolar yoki nazoratlar muammolarga olib kelishi mumkin.

Avtomatlashtirish uchun AWS xizmatiga topshirishimiz mumkin bo'lgan hamma narsa, biz kerak va Parametrlar do'koni shu erda porlaydi. KMS kalitlari va Parameter Store parametrlarini loyihalar o'rtasida almashish oddiy holga keltirilmaydi.

Men orqaga qadam tashlab, AWS-ga yaxlit nuqtai nazar bilan qarashni xohlayman. Amazon bulutli hisoblashning har qanday yo'nalishini boshqarish bo'yicha juda yaxshi ishlarni amalga oshirdi va siz va men hech qachon ko'paytira olmaydigan maxsus xizmatlarga bag'ishlangan ko'plab ishlab chiqarish guruhlariga ega. Oxir oqibat, Amazon'ning tajribasini sotib olganingizdan so'ng, AWS bulutli infratuzilma bayrog'i ostida birgalikda ishlash uchun yaratilgan barcha xizmatlardan foydalanishingiz kerak. Garchi u o'z muammolariga ega bo'lsa-da (masalan, siz va men hozir AWS-ga provayder sifatida to'liq qulflangan bo'lsak ham), oxir oqibat, qo'lingizdan kelgan hamma narsani ularga yuklab olish osonroq, chunki bu kamroq tashvishlanishingiz kerak bo'lgan narsa - hatto u bo'lsa ham. bir oz ko'proq xarajat.

Parametrlar do'koni kirishni boshqarish vositasidan foydalanishi mumkin

Foydalanuvchi kirishini aniq nazorat qilish, IAM xizmatini AWSning eng katta atributlaridan biriga aylantiradi, ayniqsa bu API kalitlari yoki parollar kabi potentsial sezgir ma'lumotlar bilan ishlashda. Vanil tuyg'usida (masalan, dotenv yondashuvidan foydalangan holda) atrof-muhit o'zgaruvchisiga kirishni boshqarish kontseptsiyasi shunchaki variant emas (agar siz o'zingizning shaxsiy echimingizni ishlab chiqishga tayyor bo'lmasangiz yoki "eng yaxshi amaliyot" doirasidan tashqariga chiqmasangiz).

Parametr do'kon qiymatlari osongina yangilanadi

Parametrlar do'konidagi biron bir qiymatni yangilash uchun sizning AWS boshqaruv panelingiz (yoki CLI) ga kirish huquqi mavjud, ya'ni texnik bo'lmagan guruh a'zolari ham AWS boshqaruv panelining bir oz tajribasi bilan qiymatlarni yangilashlari mumkin.

Argumentning yangilangan atrof-muhit o'zgaruvchan tomonida atrof-muhit muammolari paydo bo'ladi, chunki odatda ularni yangilashga faqat serverni yangilash huquqiga ega bo'lgan malakali guruh a'zolari kirishlari mumkin. Bundan tashqari, bu sizning loyihangizni zaiflik darajasiga ochadi, chunki serverga kirish va asosiy fayl fayllarini yangilash (hatto avtomatik sozlashda) muammolarga olib kelishi mumkin.

KMS osonlikcha Parametrlar Store qiymatlarini shifrlashi mumkin

Parametrlar do'konida shifrlash qiymatlarini dastlabki sozlash biroz qiyin tuyulishi mumkin, ammo bunga o'rganib qolganingizdan keyin bu juda sodda va juda mantiqiy bo'ladi - hatto texnik bo'lmagan nuqtai nazardan. Bu, shuningdek, qo'shimcha ravishda ta'minlangan xavfsizlikning ajoyib qatlamidir.

Oddiy matnda saqlamoqchi bo'lmagan atrof-muhit o'zgaruvchilari uchun shifrlashdan foydalanish mumkin, ammo bu sozlash va qo'lda saqlash qiyin bo'lishi mumkin.

Parametr do'koni o'zgaruvchilarini tashkil qilish mumkin

Parametrlar do'konidan foydalanish paytida ishlab chiqarish va statsionar parametrlar bitta joyda boshqariladi, unga parametrlarni saralash va filtrlash va hatto maqsadlarini aniqlash uchun tavsiflar kiritish kiradi.

Atrof-muhit o'zgaruvchan nuqtai nazaridan siz o'zgaruvchan tashkilotga ega bo'lolmaysiz. Bir nechta atrof-muhit o'zgaruvchisiga ega bo'lish boshqarish uchun oson bo'lishi mumkin, ammo qo'lda boshqarish uchun juda ko'p o'zgaruvchilar mavjud bo'lganda, bu muammoli bo'lib qoladi. Atrof muhit o'zgaruvchilarini turli xil fayllar va papkalarga ajratish mumkin, ammo aslida keraksiz narsalarni murakkablashtirmaydigan ko'rinadigan, tashqaridan tashqarida hal qilinadigan echim topilmadi.

Oxir oqibat, qaysi ikkita echimni qo'llash to'g'risida qaror yuqorida aytib o'tilgan omillarni hisobga olgan holda loyihaning murakkabligi va ko'lami bilan belgilanishi kerak.

Xulosa

Bosqich / xavfsiz parametrlarni boshqarish uchun Parameter Store yoki atrof-muhit parametrlarini ishlatishni tanlashda e'tiborga olish kerak bo'lgan boshqa omillar ham bor, ammo umid qilamanki, ushbu maqolada biz muhimlarini ko'rib chiqdik.

Agar sizda e'tiborga loyiq boshqa omillar bo'lsa, men sizning fikrlaringizni eshitmoqchiman.