AWS Config гэж юу вэ?

Ankhbayar Gansukh
Unimedia Solutions
Published in
3 min readMay 21, 2019

Анх AWS ашиглаж эхлэхэд аль нэг сайт дээрх tutorial эсвэл youtube видео үзэн дуурайн хийх нь илүү ойлгомжтой байдаг. Дагаж хийгээд ямар ч байсан ажилладаг орчин бий болгоно. Хэсэг хугацаа өнгөрсний дараа өөрчилж сайжруулна. AWS-ийн document-ууд болон Whitepaper-уудыг илүү уншдаг болно. Өөрийн гэсэн стандарттай болж түүнд нийцсэн дүрэмүүд гаргаж инфра маань сайжирсаар байх болно.

Үүний хажуугаар систем маань томорч, олон инфра инженерүүдтэй болно. Нэг төсөл дотроо бол харьцангуй асуудал багатай, инфра инженерүүд маань мэдээллээ солилцоод стандартаа мөрдөөд явчихна. Харин зэрэгцээд олон төслүүд эхлэхэд шинэ инфрачид маань эхний инженерийн гаргасан алдааг нь давтаж явсан замаар дахин явах тохиолдол бий. Энэ асуудлыг AWS-ийн архитекторууд олж хараад AWS Config үйлчилгээг гаргажээ.

AWS Config нь AWS дээр хийгдсэн үйлдэл болон тохиргоо бүрийг бүртгэж өөрчлөлтийн түүхийг хөтөлнө. Мөн тэдгээр нь стандартад нийцэж байнуу, дотоод дүрэмд харшилж байнуу гэдгийг шалгаж асуудалтай тохиргоог олж илрүүлэн админд мэдэгдэх үндсэн зорилготой. Үүний хажуугаар нууцлалын шинжилгээ хийх, ажиллагааны доголдлыг олох, өөрчлөлтийн менежмент хийхэд тустай.

Өөрчлөлтийн түүх

AWS ресорсууд дээр хийгдэж байгаа бүх тохиргоонуудыг бүртгэж хэн хэзээ ямар өөрчлөлт хийсэн түүхийг хөтөлнө. Ямар тохиргоотой байсныг ямар болгож өөрчилснийг ойлгомжтойгоор харуулдаг. Буруу тохиргоо хийсэн бол хуучнаар сэргээх боломжтой.

Мөн AWS-ийн өөрчлөлтийн түүхээс гадна EC2 инстанс дотор хийгдсэн системийн түвшний тохиргооны түүхийг харах боломжтой. Жишээ нь үйлдлийн системийн шинэчлэлийн түүх, програм суулгасан эсвэл устгасан түүх, сүлжээний тохиргооны өөрчлөлт зэрэг. (SSM Agent-ийн тусламжтайгаар хийгдэнэ, дэлгэрэнгүйг эндээс)

S3 bucket-ийн өөрчлөлтийн түүх

Дүрэм

Дотоод стандартад нийцсэн дүрмүүдийг тодорхойлон түүнийг хянаж дүрэмд харшлах тохиргоо хийгдвэл админд SNS-ээр мэдэгдэнэ. Жишээ нь EC2 инстансын SSH порт нь зөвхөн компанийн оффисоос ордог байх ёстой гэсэн дүрэмтэй гэж бодоё. Гэтэл Newbie инженер нь аль нэг серверийн SSH портыг паблик болгоод нээчихэж. Тэгвэл AWS Config үүнийг мэдрэн админд SNS мэдэгдэл илгээнэ. Админ нь орж шалгаад тохиргоог буцаахдаа заавал гараараа буцаахгүйгээр сүүлд хийгдсэн энэ тохиргоог буцаая гэж товч дарахад хуучин хэвэндээ орно.

AWS-ээс гаргасан загвар дүрэмүүд

AWS Config дээр олон builtin загвар дүрэмүүд байдаг бөгөөд заримаас нь дурдая.

  • restricted-ssh
    SSH порт пабликаар нээлттэй security group-ийг олж өгнө. (дээр жишээнд дурдагдсан)
  • eip-attached
    Ашиглагдаагүй EIP(elactic ip буюу public ip)-ийг олж өгнө. AWS дээр EIP нь ашиглагдаж байвал төлбөр гардаггүй, харин ашиглагдахгүй байвал төлбөр гардаг. Жишээ нь та EC2 сервер дээр EIP тавиад ашиглаж байвал зөвхөн серверийн төлбөр төлнө, харин серверээ зогсоовол EIP-ний төлбөр гарна. Тэгхээр ашиглагдаагүй EIP-уудыг заавал суллах хэрэгтэй байдаг.
  • acm-certificate-expiration-check
    Хугацаа дуусах гэж байгаа SSL certificate-ийг олж өгнө (зөвхөн AWS ACM-ийн сертификатуудыг шалгана). Дашрамд хэлэхэд AWS Certificate Manager(ACM) дээрээс үнэгүй Domain Validated certificate авч лоадбалансер дээр ашиглах боломжтой бөгөөд нэг жилийн хугацаатай олгодог. ACM бий болсноос хойш манайх SSL certificate-д мөнгө үрэхээ болисон.
  • ec2-volume-inuse-check
    Ашиглагдаагүй EBS Volume-ийг олж өгнө. EC2 инстанс үүсгэхэд volume дээр Delete on terminate буюу инстанс устахад хардыг нь автоматаар устгах гэсэн сонголт байдаг. Үүнийг сонгоогүй бол инстансыг устгахад EBS Volume нь үлдэн, үүнийг нь админ анзааралгүй нэмэлт төлбөр гараад байдаг.
  • elb-logging-enabled
    Лог бичдэггүй Application Load Balancer(ALB)-ийг олж өгнө. ALB нь өөрөөрөө дамжуулсан request, response-ийг S3-руу бичдэг лог функцтэй. Асуудал гарсан үед AWS Athena ашиглан логоос SQL query-ээр хайж troubleshoot хийхэд амар байдаг тул бүх ALB нь заавал лог бичих шаардлагатай байдаг.
  • ec2-instance-managed-by-systems-manager
    SSM Agent суугаагүй EC2 инстансыг олж өгнө. SSM Agent нь AWS Systems Manager(SSM) гэж админд зориулсан үйлчилгээний агент програм юм. Уг үйлчилгээг ашиглан AWS Management Console-оос сервер дээр shell комманд ажиллуулах, ямар програм ямар хувилбараар ажиллаж байгааг мэдэх, програмыг шинэчлэх зэрэг олон хэрэгтэй функцүүдтэй тул сервер бүр дээр SSM Agent суусан байх шаардлагатай байдаг.

Өөр AWS-с гаргасан олон загвар дүрмүүд бий. Мөн та өөрийн дүрмээ зохион Lambda функц бичээд AWS Config дээр бүртгэн ашиглаж болно.

Одоогийн байдлаар 84 ширхэг загвар дүрэмүүд байгаа нь дээрх зурганд харагдаж байна.

--

--