AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಎಲ್ಲರಿಗು ನಮಸ್ಖರ! ನನ್ನ ಹೆಸರು ಕಿರಿಲ್, ನಾನು ಅಡಾಪ್ಟಿಯಲ್ಲಿ CTO ಆಗಿದ್ದೇನೆ. ನಮ್ಮ ಹೆಚ್ಚಿನ ಆರ್ಕಿಟೆಕ್ಚರ್ AWS ನಲ್ಲಿದೆ, ಮತ್ತು ಇಂದು ನಾನು ಉತ್ಪಾದನಾ ಪರಿಸರದಲ್ಲಿ ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸರ್ವರ್ ವೆಚ್ಚವನ್ನು 3 ಪಟ್ಟು ಕಡಿಮೆಗೊಳಿಸಿದ್ದೇವೆ ಮತ್ತು ಅವುಗಳ ಸ್ವಯಂ-ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ಮಾತನಾಡುತ್ತೇನೆ. ಮೊದಲು ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ಒಂದು ಅವಲೋಕನ ಇರುತ್ತದೆ, ಮತ್ತು ನಂತರ ಪ್ರಾರಂಭಿಸಲು ವಿವರವಾದ ಸೂಚನೆಗಳು.

ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳು ಯಾವುವು?

ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳು ಪ್ರಸ್ತುತ ನಿಷ್ಕ್ರಿಯವಾಗಿರುವ ಇತರ AWS ಬಳಕೆದಾರರ ಸರ್ವರ್‌ಗಳಾಗಿವೆ ಮತ್ತು ಅವುಗಳು ಅವುಗಳನ್ನು ದೊಡ್ಡ ರಿಯಾಯಿತಿಯಲ್ಲಿ ಮಾರಾಟ ಮಾಡುತ್ತವೆ (ಅಮೆಜಾನ್ 90% ವರೆಗೆ ಬರೆಯುತ್ತದೆ, ನಮ್ಮ ಅನುಭವದಲ್ಲಿ ~3x, ಪ್ರದೇಶ, AZ ಮತ್ತು ನಿದರ್ಶನ ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿ ಬದಲಾಗುತ್ತದೆ). ನಿಯಮಿತವಾದವುಗಳಿಂದ ಅವರ ಮುಖ್ಯ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಅವರು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಆಫ್ ಮಾಡಬಹುದು. ಆದ್ದರಿಂದ, ಎಸ್ 3 ಅಥವಾ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಉಳಿಸಲಾದ ಮಧ್ಯಂತರ ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ವರ್ಜಿನ್ ಪರಿಸರಕ್ಕಾಗಿ ಅಥವಾ ಏನನ್ನಾದರೂ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಕಾರ್ಯಗಳಿಗಾಗಿ ಅವುಗಳನ್ನು ಬಳಸುವುದು ಸಾಮಾನ್ಯವಾಗಿದೆ ಎಂದು ನಾವು ದೀರ್ಘಕಾಲದವರೆಗೆ ನಂಬಿದ್ದೇವೆ, ಆದರೆ ಮಾರಾಟಕ್ಕೆ ಅಲ್ಲ. ಉತ್ಪಾದನೆಯಲ್ಲಿ ತಾಣಗಳನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಪರಿಹಾರಗಳಿವೆ, ಆದರೆ ನಮ್ಮ ಪ್ರಕರಣಕ್ಕೆ ಹಲವು ಊರುಗೋಲುಗಳಿವೆ, ಆದ್ದರಿಂದ ನಾವು ಅವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಿಲ್ಲ. ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಿದ ವಿಧಾನವು ಹೆಚ್ಚುವರಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು, ಕಿರೀಟಗಳು ಇತ್ಯಾದಿಗಳಿಲ್ಲದೆ ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರಮಾಣಿತ AWS ಕ್ರಿಯಾತ್ಮಕತೆಯೊಳಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಿಗಾಗಿ ಬೆಲೆ ಇತಿಹಾಸವನ್ನು ತೋರಿಸುವ ಕೆಲವು ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ.

ಮೀ5.ಇಯು-ವೆಸ್ಟ್-1 (ಐರ್ಲೆಂಡ್) ಪ್ರದೇಶದಲ್ಲಿ ದೊಡ್ಡದು. ಬೆಲೆಯು 3 ತಿಂಗಳವರೆಗೆ ಸ್ಥಿರವಾಗಿದೆ, ಪ್ರಸ್ತುತ 2.9x ಉಳಿತಾಯವಾಗಿದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

m5. US-east-1 ಪ್ರದೇಶದಲ್ಲಿ ದೊಡ್ಡದು (N. ವರ್ಜೀನಿಯಾ). 3 ತಿಂಗಳುಗಳಲ್ಲಿ ಬೆಲೆ ನಿರಂತರವಾಗಿ ಬದಲಾಗುತ್ತಿದೆ, ಪ್ರಸ್ತುತ ಲಭ್ಯತೆಯ ವಲಯವನ್ನು ಅವಲಂಬಿಸಿ 2.3x ನಿಂದ 2.8x ವರೆಗೆ ಉಳಿತಾಯವಾಗುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

t3.small in the us-east-1 ಪ್ರದೇಶದಲ್ಲಿ (N. ವರ್ಜೀನಿಯಾ). 3 ತಿಂಗಳವರೆಗೆ ಬೆಲೆ ಸ್ಥಿರವಾಗಿದೆ, ಪ್ರಸ್ತುತ 3.4x ಉಳಿಸಲಾಗುತ್ತಿದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಸೇವಾ ವಾಸ್ತುಶಿಲ್ಪ

ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಮಾತನಾಡುವ ಸೇವೆಯ ಮೂಲ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಕೆಳಗಿನ ರೇಖಾಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ → EC2 ಟಾರ್ಗೆಟ್ ಗ್ರೂಪ್ → ಸ್ಥಿತಿಸ್ಥಾಪಕ ಕಂಟೈನರ್ ಸೇವೆ

ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ (ALB) ಅನ್ನು ಬ್ಯಾಲೆನ್ಸರ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಇದು EC2 ಟಾರ್ಗೆಟ್ ಗ್ರೂಪ್ (TG) ಗೆ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ALB ಗಳಿಗಾಗಿ ನಿದರ್ಶನಗಳಲ್ಲಿ ಪೋರ್ಟ್‌ಗಳನ್ನು ತೆರೆಯಲು ಮತ್ತು ಅವುಗಳನ್ನು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಕಂಟೈನರ್ ಸೇವೆ (ECS) ಕಂಟೈನರ್‌ಗಳ ಪೋರ್ಟ್‌ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು TG ಜವಾಬ್ದಾರನಾಗಿರುತ್ತಾನೆ. ECS ಎಂಬುದು AWS ನಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್‌ನ ಅನಲಾಗ್ ಆಗಿದೆ, ಇದು ಡಾಕರ್ ಕಂಟೇನರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

ಒಂದು ನಿದರ್ಶನವು ಒಂದೇ ಪೋರ್ಟ್‌ಗಳೊಂದಿಗೆ ಹಲವಾರು ಚಾಲನೆಯಲ್ಲಿರುವ ಕಂಟೇನರ್‌ಗಳನ್ನು ಹೊಂದಬಹುದು, ಆದ್ದರಿಂದ ನಾವು ಅವುಗಳನ್ನು ಸ್ಥಿರವಾಗಿ ಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ECS ಹೊಸ ಕಾರ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತಿದೆ ಎಂದು TG ಗೆ ಹೇಳುತ್ತದೆ (ಕುಬರ್ನೆಟ್ಸ್ ಪರಿಭಾಷೆಯಲ್ಲಿ ಇದನ್ನು ಪಾಡ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ), ಇದು ನಿದರ್ಶನದಲ್ಲಿ ಉಚಿತ ಪೋರ್ಟ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸಿದ ಕಾರ್ಯಕ್ಕೆ ನಿಯೋಜಿಸುತ್ತದೆ. ಆರೋಗ್ಯ ತಪಾಸಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿದರ್ಶನ ಮತ್ತು API ಅದರ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಎಂದು TG ನಿಯಮಿತವಾಗಿ ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ನೋಡಿದರೆ, ಅದು ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.

EC2 ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪುಗಳು + ECS ಸಾಮರ್ಥ್ಯ ಪೂರೈಕೆದಾರರು

ಮೇಲಿನ ರೇಖಾಚಿತ್ರವು EC2 ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪುಗಳ (ASG) ಸೇವೆಯನ್ನು ತೋರಿಸುವುದಿಲ್ಲ. ಸ್ಕೇಲಿಂಗ್ ನಿದರ್ಶನಗಳಿಗೆ ಇದು ಕಾರಣವಾಗಿದೆ ಎಂದು ಹೆಸರಿನಿಂದ ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು. ಆದಾಗ್ಯೂ, ಇತ್ತೀಚಿನವರೆಗೂ, ECS ನಿಂದ ಚಾಲನೆಯಲ್ಲಿರುವ ಯಂತ್ರಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಅಂತರ್ನಿರ್ಮಿತ ಸಾಮರ್ಥ್ಯವನ್ನು AWS ಹೊಂದಿರಲಿಲ್ಲ. ECS ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅಳೆಯಲು ಸಾಧ್ಯವಾಗಿಸಿತು, ಉದಾಹರಣೆಗೆ, CPU ಬಳಕೆ, RAM ಅಥವಾ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆ. ಆದರೆ ಕಾರ್ಯಗಳು ಎಲ್ಲಾ ಉಚಿತ ನಿದರ್ಶನಗಳನ್ನು ಆಕ್ರಮಿಸಿಕೊಂಡರೆ, ಹೊಸ ಯಂತ್ರಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗಿಲ್ಲ.

ಇಸಿಎಸ್ ಕೆಪಾಸಿಟಿ ಪ್ರೊವೈಡರ್ಸ್ (ಇಸಿಎಸ್ ಸಿಪಿ) ಆಗಮನದೊಂದಿಗೆ ಇದು ಬದಲಾಗಿದೆ. ಈಗ ECS ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಸೇವೆಯನ್ನು ASG ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು, ಮತ್ತು ಕಾರ್ಯಗಳು ಚಾಲನೆಯಲ್ಲಿರುವ ನಿದರ್ಶನಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ, ನಂತರ ಹೊಸದನ್ನು ಹೆಚ್ಚಿಸಲಾಗುತ್ತದೆ (ಆದರೆ ಸ್ಥಾಪಿತ ASG ಮಿತಿಗಳಲ್ಲಿ). ಇದು ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿಯೂ ಸಹ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ECS CP ಕಾರ್ಯಗಳಿಲ್ಲದೆ ನಿಷ್ಕ್ರಿಯ ನಿದರ್ಶನಗಳನ್ನು ನೋಡಿದರೆ, ನಂತರ ಅದನ್ನು ಮುಚ್ಚಲು ASG ಆಜ್ಞೆಯನ್ನು ನೀಡುತ್ತದೆ. ECS CP ನಿದರ್ಶನದ ಶೇಕಡಾವಾರು ಲೋಡ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ, ಇದರಿಂದಾಗಿ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಯಂತ್ರಗಳು ತ್ವರಿತವಾಗಿ ಸ್ಕೇಲಿಂಗ್ ಕಾರ್ಯಗಳಿಗಾಗಿ ಯಾವಾಗಲೂ ಮುಕ್ತವಾಗಿರುತ್ತವೆ; ನಾನು ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಈ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇನೆ.

EC2 ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳು

ಈ ಮೂಲಸೌಕರ್ಯವನ್ನು ರಚಿಸುವ ಬಗ್ಗೆ ವಿವರವಾಗಿ ಹೋಗುವ ಮೊದಲು ನಾನು ಮಾತನಾಡುವ ಕೊನೆಯ ಸೇವೆಯೆಂದರೆ EC2 ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳು. ಪ್ರತಿ ಬಾರಿಯೂ ಇದನ್ನು ಮೊದಲಿನಿಂದ ಪುನರಾವರ್ತಿಸದಂತೆ ಎಲ್ಲಾ ಯಂತ್ರಗಳು ಪ್ರಾರಂಭವಾಗುವ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇಲ್ಲಿ ನೀವು ಪ್ರಾರಂಭಿಸಲು ಯಂತ್ರದ ಪ್ರಕಾರ, ಭದ್ರತಾ ಗುಂಪು, ಡಿಸ್ಕ್ ಇಮೇಜ್ ಮತ್ತು ಇತರ ಹಲವು ನಿಯತಾಂಕಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಎಲ್ಲಾ ಪ್ರಾರಂಭಿಸಲಾದ ನಿದರ್ಶನಗಳಿಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗುವ ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸಹ ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ನೀವು ಬಳಕೆದಾರರ ಡೇಟಾದಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಚಲಾಯಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ನೀವು ಫೈಲ್‌ನ ವಿಷಯಗಳನ್ನು ಸಂಪಾದಿಸಬಹುದು ಇಸಿಎಸ್ ಏಜೆಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳು.

ಈ ಲೇಖನದ ಪ್ರಮುಖ ಸಂರಚನಾ ನಿಯತಾಂಕಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ ECS_ENABLE_SPOT_INSTANCE_DRAINING= ನಿಜ. ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಸ್ಪಾಟ್ ನಿದರ್ಶನವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ ಎಂಬ ಸಂಕೇತವನ್ನು ECS ಸ್ವೀಕರಿಸಿದ ತಕ್ಷಣ, ಅದರ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಡ್ರೈನಿಂಗ್ ಸ್ಥಿತಿಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ. ಈ ನಿದರ್ಶನಕ್ಕೆ ಯಾವುದೇ ಹೊಸ ಕಾರ್ಯಗಳನ್ನು ನಿಯೋಜಿಸಲಾಗುವುದಿಲ್ಲ; ಇದೀಗ ಅದನ್ನು ಹೊರತರಲು ಬಯಸುವ ಕಾರ್ಯಗಳಿದ್ದರೆ, ಅವುಗಳನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗುತ್ತದೆ. ಬ್ಯಾಲೆನ್ಸರ್‌ನಿಂದ ವಿನಂತಿಗಳು ಬರುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತವೆ. ನೈಜ ಘಟನೆಗೆ 2 ನಿಮಿಷಗಳ ಮೊದಲು ನಿದರ್ಶನ ಅಳಿಸುವಿಕೆಯ ಅಧಿಸೂಚನೆ ಬರುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಿಮ್ಮ ಸೇವೆಯು 2 ನಿಮಿಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸದಿದ್ದರೆ ಮತ್ತು ಡಿಸ್ಕ್ಗೆ ಏನನ್ನೂ ಉಳಿಸದಿದ್ದರೆ, ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳದೆ ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳನ್ನು ಬಳಸಬಹುದು.

ಡಿಸ್ಕ್ ಬಗ್ಗೆ - AWS ಇತ್ತೀಚೆಗೆ ಮಾಡಿದರು ECS ನೊಂದಿಗೆ ಎಲಾಸ್ಟಿಕ್ ಫೈಲ್ ಸಿಸ್ಟಮ್ (EFS) ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ; ಈ ಯೋಜನೆಯೊಂದಿಗೆ, ಡಿಸ್ಕ್ ಕೂಡ ಒಂದು ಅಡಚಣೆಯಲ್ಲ, ಆದರೆ ನಾವು ಇದನ್ನು ಪ್ರಯತ್ನಿಸಲಿಲ್ಲ, ಏಕೆಂದರೆ ತಾತ್ವಿಕವಾಗಿ ರಾಜ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಲು ನಮಗೆ ಡಿಸ್ಕ್ ಅಗತ್ಯವಿಲ್ಲ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, SIGINT ಅನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ (ಕೆಲಸವನ್ನು ಡ್ರೈನಿಂಗ್ ಸ್ಥಿತಿಗೆ ವರ್ಗಾಯಿಸಿದಾಗ ಕಳುಹಿಸಲಾಗುತ್ತದೆ), ಚಾಲನೆಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು 30 ಸೆಕೆಂಡುಗಳ ನಂತರ ನಿಲ್ಲಿಸಲಾಗುತ್ತದೆ, ಅವುಗಳು ಇನ್ನೂ ಪೂರ್ಣಗೊಂಡಿಲ್ಲದಿದ್ದರೂ ಸಹ; ನೀವು ಈ ಸಮಯವನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ಬಳಸಿ ಬದಲಾಯಿಸಬಹುದು ECS_CONTAINER_STOP_TIMEOUT. ಸ್ಪಾಟ್ ಯಂತ್ರಗಳಿಗೆ 2 ನಿಮಿಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ಕಾಲ ಅದನ್ನು ಹೊಂದಿಸುವುದು ಮುಖ್ಯ ವಿಷಯವಲ್ಲ.

ಸೇವೆಯನ್ನು ರಚಿಸುವುದು

ವಿವರಿಸಿದ ಸೇವೆಯನ್ನು ರಚಿಸಲು ನಾವು ಮುಂದುವರಿಯೋಣ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಮೇಲೆ ಉಲ್ಲೇಖಿಸದ ಹಲವಾರು ಉಪಯುಕ್ತ ಅಂಶಗಳನ್ನು ನಾನು ಹೆಚ್ಚುವರಿಯಾಗಿ ವಿವರಿಸುತ್ತೇನೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಇದು ಹಂತ-ಹಂತದ ಸೂಚನೆಯಾಗಿದೆ, ಆದರೆ ನಾನು ಕೆಲವು ಮೂಲಭೂತ ಅಥವಾ ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ ನಿರ್ದಿಷ್ಟ ಪ್ರಕರಣಗಳನ್ನು ಪರಿಗಣಿಸುವುದಿಲ್ಲ. ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳನ್ನು AWS ದೃಶ್ಯ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಕ್ಲೌಡ್‌ಫಾರ್ಮೇಷನ್ ಅಥವಾ ಟೆರಾಫಾರ್ಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್‌ನಲ್ಲಿ ಪುನರುತ್ಪಾದಿಸಬಹುದು. ಅಡಾಪ್ಟಿಯಲ್ಲಿ ನಾವು ಟೆರಾಫಾರ್ಮ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ.

EC2 ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್

ಈ ಸೇವೆಯು ಬಳಸಲಾಗುವ ಯಂತ್ರಗಳ ಸಂರಚನೆಯನ್ನು ರಚಿಸುತ್ತದೆ. ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು EC2 -> ನಿದರ್ಶನಗಳು -> ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳ ವಿಭಾಗದಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.

ಅಮೆಜಾನ್ ಯಂತ್ರ ಚಿತ್ರ (AMI) — ಎಲ್ಲಾ ನಿದರ್ಶನಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಡಿಸ್ಕ್ ಇಮೇಜ್ ಅನ್ನು ಸೂಚಿಸಿ. ಇಸಿಎಸ್‌ಗಾಗಿ, ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಅಮೆಜಾನ್‌ನಿಂದ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿದ ಚಿತ್ರವನ್ನು ಬಳಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ. ಇದು ನಿಯಮಿತವಾಗಿ ನವೀಕರಿಸಲ್ಪಡುತ್ತದೆ ಮತ್ತು ECS ಕೆಲಸ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಒಳಗೊಂಡಿದೆ. ಪ್ರಸ್ತುತ ಇಮೇಜ್ ಐಡಿಯನ್ನು ಕಂಡುಹಿಡಿಯಲು, ಪುಟಕ್ಕೆ ಹೋಗಿ Amazon ECS-ಆಪ್ಟಿಮೈಸ್ಡ್ AMI ಗಳು, ನೀವು ಬಳಸುತ್ತಿರುವ ಪ್ರದೇಶವನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಅದಕ್ಕೆ AMI ID ಅನ್ನು ನಕಲಿಸಿ. ಉದಾಹರಣೆಗೆ, us-east-1 ಪ್ರದೇಶಕ್ಕೆ, ಬರೆಯುವ ಸಮಯದಲ್ಲಿ ಪ್ರಸ್ತುತ ID ami-00c7c1cf5bdc913ed. ಈ ಐಡಿಯನ್ನು ಕಸ್ಟಮ್ ಮೌಲ್ಯದ ಐಟಂ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಲ್ಲಿ ಸೇರಿಸಬೇಕು.

ನಿದರ್ಶನದ ಪ್ರಕಾರ - ನಿದರ್ಶನದ ಪ್ರಕಾರವನ್ನು ಸೂಚಿಸಿ. ನಿಮ್ಮ ಕಾರ್ಯಕ್ಕೆ ಸೂಕ್ತವಾದದನ್ನು ಆರಿಸಿ.

ಕೀ ಜೋಡಿ (ಲಾಗಿನ್) - ಅಗತ್ಯವಿದ್ದರೆ, SSH ಮೂಲಕ ನೀವು ನಿದರ್ಶನಕ್ಕೆ ಸಂಪರ್ಕಿಸಬಹುದಾದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ.

ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು - ನೆಟ್ವರ್ಕ್ ನಿಯತಾಂಕಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ನೆಟ್ವರ್ಕಿಂಗ್ ವೇದಿಕೆ ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ವರ್ಚುವಲ್ ಪ್ರೈವೇಟ್ ಕ್ಲೌಡ್ (VPC) ಇರಬೇಕು. ಭದ್ರತಾ ಗುಂಪುಗಳು - ನಿಮ್ಮ ನಿದರ್ಶನಗಳಿಗಾಗಿ ಭದ್ರತಾ ಗುಂಪುಗಳು. ನಾವು ನಿದರ್ಶನಗಳ ಮುಂದೆ ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ, ಬ್ಯಾಲೆನ್ಸರ್ನಿಂದ ಮಾತ್ರ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸುವ ಗುಂಪನ್ನು ಇಲ್ಲಿ ಸೂಚಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. ಅಂದರೆ, ನೀವು 2 ಭದ್ರತಾ ಗುಂಪುಗಳನ್ನು ಹೊಂದಿರುತ್ತೀರಿ, ಒಂದು ಬ್ಯಾಲೆನ್ಸರ್‌ಗಾಗಿ, ಇದು ಪೋರ್ಟ್‌ಗಳು 80 (http) ಮತ್ತು 443 (https) ಎಲ್ಲಿಂದಲಾದರೂ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಬ್ಯಾಲೆನ್ಸರ್ ಗುಂಪಿನಿಂದ ಯಾವುದೇ ಪೋರ್ಟ್‌ಗಳಲ್ಲಿ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸುವ ಯಂತ್ರಗಳಿಗೆ ಎರಡನೆಯದು . ಎಲ್ಲಾ ವಿಳಾಸಗಳಿಗೆ ಎಲ್ಲಾ ಪೋರ್ಟ್‌ಗಳಿಗೆ TCP ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಎರಡೂ ಗುಂಪುಗಳಲ್ಲಿನ ಹೊರಹೋಗುವ ಸಂಪರ್ಕಗಳನ್ನು ತೆರೆಯಬೇಕು. ಹೊರಹೋಗುವ ಸಂಪರ್ಕಗಳಿಗಾಗಿ ನೀವು ಪೋರ್ಟ್‌ಗಳು ಮತ್ತು ವಿಳಾಸಗಳನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಆದರೆ ನಂತರ ನೀವು ಮುಚ್ಚಿದ ಪೋರ್ಟ್‌ನಲ್ಲಿ ಏನನ್ನಾದರೂ ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿಲ್ಲ ಎಂದು ನೀವು ನಿರಂತರವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

ಸಂಗ್ರಹಣೆ (ಸಂಪುಟಗಳು) - ಯಂತ್ರಗಳಿಗೆ ಡಿಸ್ಕ್ ನಿಯತಾಂಕಗಳನ್ನು ಸೂಚಿಸಿ. ಡಿಸ್ಕ್ ಗಾತ್ರವು AMI ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿರುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ಇರುವಂತಿಲ್ಲ; ECS ಆಪ್ಟಿಮೈಸ್ಡ್‌ಗೆ ಇದು 30 GiB ಆಗಿದೆ.

ಸುಧಾರಿತ ವಿವರಗಳು - ಹೆಚ್ಚುವರಿ ನಿಯತಾಂಕಗಳನ್ನು ಸೂಚಿಸಿ.

ಖರೀದಿ ಆಯ್ಕೆ — ನಾವು ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳನ್ನು ಖರೀದಿಸಲು ಬಯಸುತ್ತೇವೆಯೇ. ನಾವು ಬಯಸುತ್ತೇವೆ, ಆದರೆ ನಾವು ಈ ಪೆಟ್ಟಿಗೆಯನ್ನು ಇಲ್ಲಿ ಪರಿಶೀಲಿಸುವುದಿಲ್ಲ; ನಾವು ಅದನ್ನು ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪಿನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ, ಅಲ್ಲಿ ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿವೆ.

IAM ನಿದರ್ಶನ ಪ್ರೊಫೈಲ್ - ನಿದರ್ಶನಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಪಾತ್ರವನ್ನು ಸೂಚಿಸಿ. ನಿದರ್ಶನಗಳು ಇಸಿಎಸ್‌ನಲ್ಲಿ ರನ್ ಆಗಲು, ಅವುಗಳಿಗೆ ಅನುಮತಿಗಳ ಅಗತ್ಯವಿದೆ, ಅವುಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಪಾತ್ರದಲ್ಲಿ ಕಂಡುಬರುತ್ತವೆ ecsInstanceRole. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಇದನ್ನು ರಚಿಸಬಹುದು, ಇಲ್ಲದಿದ್ದರೆ, ನಂತರ ಇಲ್ಲಿ ಕೈಪಿಡಿ ಇದನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂದು. ರಚನೆಯ ನಂತರ, ನಾವು ಅದನ್ನು ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಸೂಚಿಸುತ್ತೇವೆ.
ಮುಂದೆ ಹಲವು ನಿಯತಾಂಕಗಳಿವೆ, ಮೂಲತಃ ನೀವು ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ಎಲ್ಲೆಡೆ ಬಿಡಬಹುದು, ಆದರೆ ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದೂ ಸ್ಪಷ್ಟ ವಿವರಣೆಯನ್ನು ಹೊಂದಿದೆ. ನಾನು ಯಾವಾಗಲೂ EBS-ಆಪ್ಟಿಮೈಸ್ಡ್ ನಿದರ್ಶನ ಮತ್ತು T2/T3 ಅನ್ಲಿಮಿಟೆಡ್ ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿದರೆ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತೇನೆ ಸಿಡಿಯಬಲ್ಲ ನಿದರ್ಶನಗಳು.

ಬಳಕೆದಾರರ ಡೇಟಾ - ಬಳಕೆದಾರ ಡೇಟಾವನ್ನು ಸೂಚಿಸಿ. ನಾವು ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸುತ್ತೇವೆ /etc/ecs/ecs.config, ಇದು ECS ಏಜೆಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
ಬಳಕೆದಾರರ ಡೇಟಾ ಹೇಗಿರಬಹುದು ಎಂಬುದರ ಉದಾಹರಣೆ:

#!/bin/bash
echo ECS_CLUSTER=DemoApiClusterProd >> /etc/ecs/ecs.config
echo ECS_ENABLE_SPOT_INSTANCE_DRAINING=true >> /etc/ecs/ecs.config
echo ECS_CONTAINER_STOP_TIMEOUT=1m >> /etc/ecs/ecs.config
echo ECS_ENGINE_AUTH_TYPE=docker >> /etc/ecs/ecs.config
echo "ECS_ENGINE_AUTH_DATA={"registry.gitlab.com":{"username":"username","password":"password"}}" >> /etc/ecs/ecs.config

ECS_CLUSTER=DemoApiClusterProd — ಪ್ಯಾರಾಮೀಟರ್ ನಿದರ್ಶನವು ನಿರ್ದಿಷ್ಟ ಹೆಸರಿನೊಂದಿಗೆ ಕ್ಲಸ್ಟರ್‌ಗೆ ಸೇರಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ, ಅಂದರೆ, ಈ ಕ್ಲಸ್ಟರ್ ತನ್ನ ಕಾರ್ಯಗಳನ್ನು ಈ ಸರ್ವರ್‌ನಲ್ಲಿ ಇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನಾವು ಇನ್ನೂ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ರಚಿಸಿಲ್ಲ, ಆದರೆ ಅದನ್ನು ರಚಿಸುವಾಗ ನಾವು ಈ ಹೆಸರನ್ನು ಬಳಸುತ್ತೇವೆ.

ECS_ENABLE_SPOT_INSTANCE_DRAINING=true - ಸ್ಪಾಟ್ ನಿದರ್ಶನವನ್ನು ಆಫ್ ಮಾಡಲು ಸಿಗ್ನಲ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ಅದರ ಮೇಲಿನ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಡ್ರೈನಿಂಗ್ ಸ್ಥಿತಿಗೆ ವರ್ಗಾಯಿಸಬೇಕು ಎಂದು ನಿಯತಾಂಕವು ಸೂಚಿಸುತ್ತದೆ.

ECS_CONTAINER_STOP_TIMEOUT=1m - SIGINT ಸಿಗ್ನಲ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, ಎಲ್ಲಾ ಕಾರ್ಯಗಳು ಕೊಲ್ಲುವ ಮೊದಲು 1 ನಿಮಿಷವನ್ನು ಹೊಂದಿರುತ್ತವೆ ಎಂದು ನಿಯತಾಂಕವು ಸೂಚಿಸುತ್ತದೆ.

ECS_ENGINE_AUTH_TYPE=docker - ಡಾಕರ್ ಸ್ಕೀಮ್ ಅನ್ನು ದೃಢೀಕರಣ ಕಾರ್ಯವಿಧಾನವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಎಂದು ನಿಯತಾಂಕವು ಸೂಚಿಸುತ್ತದೆ

ECS_ENGINE_AUTH_DATA=... — ನಿಮ್ಮ ಡಾಕರ್ ಚಿತ್ರಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿರುವ ಖಾಸಗಿ ಕಂಟೇನರ್ ರಿಜಿಸ್ಟ್ರಿಗೆ ಸಂಪರ್ಕ ನಿಯತಾಂಕಗಳು. ಇದು ಸಾರ್ವಜನಿಕವಾಗಿದ್ದರೆ, ನೀವು ಏನನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.

ಈ ಲೇಖನದ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ನಾನು ಡಾಕರ್ ಹಬ್‌ನಿಂದ ಸಾರ್ವಜನಿಕ ಚಿತ್ರವನ್ನು ಬಳಸುತ್ತೇನೆ, ಆದ್ದರಿಂದ ನಿಯತಾಂಕಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ ECS_ENGINE_AUTH_TYPE и ECS_ENGINE_AUTH_DATA ಅಗತ್ಯವಿಲ್ಲ.

ತಿಳಿದಿರುವುದು ಒಳ್ಳೆಯದು: AMI ಅನ್ನು ನಿಯಮಿತವಾಗಿ ನವೀಕರಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ, ಏಕೆಂದರೆ ಹೊಸ ಆವೃತ್ತಿಗಳು ಡಾಕರ್, ಲಿನಕ್ಸ್, ECS ಏಜೆಂಟ್, ಇತ್ಯಾದಿಗಳ ಆವೃತ್ತಿಗಳನ್ನು ನವೀಕರಿಸುತ್ತವೆ. ಇದರ ಬಗ್ಗೆ ಮರೆಯದಿರಲು, ನೀವು ಮಾಡಬಹುದು ಅಧಿಸೂಚನೆಗಳನ್ನು ಹೊಂದಿಸಿ ಹೊಸ ಆವೃತ್ತಿಗಳ ಬಿಡುಗಡೆಯ ಬಗ್ಗೆ. ನೀವು ಇಮೇಲ್ ಮೂಲಕ ಅಧಿಸೂಚನೆಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು ಮತ್ತು ಹಸ್ತಚಾಲಿತವಾಗಿ ನವೀಕರಿಸಬಹುದು ಅಥವಾ ನವೀಕರಿಸಿದ AMI ಯೊಂದಿಗೆ ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸುವ ಲ್ಯಾಂಬ್ಡಾ ಕಾರ್ಯವನ್ನು ನೀವು ಬರೆಯಬಹುದು.

EC2 ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪು

ಆಟೋ ಸ್ಕೇಲಿಂಗ್ ಗ್ರೂಪ್ ಲಾಂಚ್ ಮತ್ತು ಸ್ಕೇಲಿಂಗ್ ನಿದರ್ಶನಗಳಿಗೆ ಕಾರಣವಾಗಿದೆ. ಗುಂಪುಗಳನ್ನು EC2 -> ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ -> ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪುಗಳ ವಿಭಾಗದಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.

ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ - ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ರಚಿಸಲಾದ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ನಾವು ಡೀಫಾಲ್ಟ್ ಆವೃತ್ತಿಯನ್ನು ಬಿಡುತ್ತೇವೆ.

ಖರೀದಿ ಆಯ್ಕೆಗಳು ಮತ್ತು ನಿದರ್ಶನ ಪ್ರಕಾರಗಳು - ಕ್ಲಸ್ಟರ್‌ಗಾಗಿ ನಿದರ್ಶನಗಳ ಪ್ರಕಾರಗಳನ್ನು ಸೂಚಿಸಿ. ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ಗೆ ಅಂಟಿಕೊಳ್ಳುವುದು ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ನಿಂದ ನಿದರ್ಶನ ಪ್ರಕಾರವನ್ನು ಬಳಸುತ್ತದೆ. ಖರೀದಿ ಆಯ್ಕೆಗಳು ಮತ್ತು ನಿದರ್ಶನ ಪ್ರಕಾರಗಳನ್ನು ಸಂಯೋಜಿಸಿ ನಿದರ್ಶನ ಪ್ರಕಾರಗಳನ್ನು ಮೃದುವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನಾವು ಅದನ್ನು ಬಳಸುತ್ತೇವೆ.

ಐಚ್ಛಿಕ ಆನ್-ಡಿಮಾಂಡ್ ಬೇಸ್ - ಯಾವಾಗಲೂ ಕೆಲಸ ಮಾಡುವ ನಿಯಮಿತ, ಸ್ಪಾಟ್ ಅಲ್ಲದ ನಿದರ್ಶನಗಳ ಸಂಖ್ಯೆ.

ಬೇಸ್ ಮೇಲೆ ಬೇಡಿಕೆಯ ಶೇಕಡಾವಾರು - ನಿಯಮಿತ ಮತ್ತು ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳ ಶೇಕಡಾವಾರು ಅನುಪಾತ, 50-50 ಅನ್ನು ಸಮಾನವಾಗಿ ವಿತರಿಸಲಾಗುತ್ತದೆ, ಪ್ರತಿ ನಿಯಮಿತ ನಿದರ್ಶನಕ್ಕೆ 20-80 4 ಸ್ಪಾಟ್ ಅನ್ನು ಹೆಚ್ಚಿಸಲಾಗುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ನಾನು 50-50 ಅನ್ನು ಸೂಚಿಸುತ್ತೇನೆ, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ ನಾವು ಹೆಚ್ಚಾಗಿ 20-80 ಅನ್ನು ಮಾಡುತ್ತೇವೆ, ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ 0-100.

ನಿದರ್ಶನದ ಪ್ರಕಾರಗಳು — ಇಲ್ಲಿ ನೀವು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ ಹೆಚ್ಚುವರಿ ರೀತಿಯ ನಿದರ್ಶನಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಕಥೆಯ ಅರ್ಥ ನನಗೆ ಅರ್ಥವಾಗದ ಕಾರಣ ನಾವು ಅದನ್ನು ಎಂದಿಗೂ ಬಳಸಲಿಲ್ಲ. ಬಹುಶಃ ಇದು ನಿರ್ದಿಷ್ಟ ರೀತಿಯ ನಿದರ್ಶನಗಳ ಮೇಲಿನ ಮಿತಿಗಳ ಕಾರಣದಿಂದಾಗಿರಬಹುದು, ಆದರೆ ಬೆಂಬಲದ ಮೂಲಕ ಅವುಗಳನ್ನು ಸುಲಭವಾಗಿ ಹೆಚ್ಚಿಸಬಹುದು. ನಿಮಗೆ ಅಪ್ಲಿಕೇಶನ್ ತಿಳಿದಿದ್ದರೆ, ಅದನ್ನು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಓದಲು ನನಗೆ ಸಂತೋಷವಾಗುತ್ತದೆ)

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ನೆಟ್ವರ್ಕ್ — ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಯಂತ್ರಗಳಿಗಾಗಿ VPC ಮತ್ತು ಸಬ್‌ನೆಟ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ, ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ನೀವು ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಸಬ್‌ನೆಟ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕು.

ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ - ಬ್ಯಾಲೆನ್ಸರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಆದರೆ ನಾವು ಇದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಮಾಡುತ್ತೇವೆ, ನಾವು ಇಲ್ಲಿ ಏನನ್ನೂ ಮುಟ್ಟುವುದಿಲ್ಲ. ಆರೋಗ್ಯ ತಪಾಸಣೆ ನಂತರ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುವುದು.

ಗುಂಪು ಗಾತ್ರ — ನಾವು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿರುವ ಯಂತ್ರಗಳ ಸಂಖ್ಯೆಯ ಮಿತಿಗಳನ್ನು ಮತ್ತು ಪ್ರಾರಂಭದಲ್ಲಿ ಅಪೇಕ್ಷಿತ ಸಂಖ್ಯೆಯ ಯಂತ್ರಗಳನ್ನು ಸೂಚಿಸುತ್ತೇವೆ. ಮೆಟ್ರಿಕ್‌ಗಳ ಪ್ರಕಾರ ಸ್ಕೇಲಿಂಗ್ ಸಂಭವಿಸಿದರೂ ಸಹ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿರುವ ಯಂತ್ರಗಳ ಸಂಖ್ಯೆಯು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕನಿಷ್ಠಕ್ಕಿಂತ ಕಡಿಮೆ ಮತ್ತು ಗರಿಷ್ಠಕ್ಕಿಂತ ಹೆಚ್ಚಿರುವುದಿಲ್ಲ.

ಸ್ಕೇಲಿಂಗ್ ನೀತಿಗಳು - ಸ್ಕೇಲಿಂಗ್ ನಿಯತಾಂಕಗಳು, ಆದರೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಇಸಿಎಸ್ ಕಾರ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ನಾವು ಅಳೆಯುತ್ತೇವೆ, ಆದ್ದರಿಂದ ನಾವು ನಂತರ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.

ನಿದರ್ಶನ ಸ್ಕೇಲ್-ಇನ್ ರಕ್ಷಣೆ - ಸ್ಕೇಲಿಂಗ್ ಡೌನ್ ಮಾಡುವಾಗ ಅಳಿಸುವಿಕೆಯಿಂದ ನಿದರ್ಶನಗಳ ರಕ್ಷಣೆ. ಚಾಲನೆಯಲ್ಲಿರುವ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಯಂತ್ರವನ್ನು ASG ಅಳಿಸದಂತೆ ನಾವು ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತೇವೆ. ECS ಸಾಮರ್ಥ್ಯ ಪೂರೈಕೆದಾರರು ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿರದ ನಿದರ್ಶನಗಳಿಗೆ ರಕ್ಷಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.

ಟ್ಯಾಗ್‌ಗಳನ್ನು ಸೇರಿಸಿ — ನೀವು ನಿದರ್ಶನಗಳಿಗಾಗಿ ಟ್ಯಾಗ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು (ಇದಕ್ಕಾಗಿ, ಟ್ಯಾಗ್ ಹೊಸ ನಿದರ್ಶನಗಳ ಚೆಕ್‌ಬಾಕ್ಸ್ ಅನ್ನು ಪರಿಶೀಲಿಸಬೇಕು). ಹೆಸರಿನ ಟ್ಯಾಗ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ, ನಂತರ ಗುಂಪಿನೊಳಗೆ ಪ್ರಾರಂಭಿಸಲಾದ ಎಲ್ಲಾ ನಿದರ್ಶನಗಳು ಒಂದೇ ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ವೀಕ್ಷಿಸಲು ಅನುಕೂಲಕರವಾಗಿದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಗುಂಪನ್ನು ರಚಿಸಿದ ನಂತರ, ಅದನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಸುಧಾರಿತ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. ರಚನೆಯ ಹಂತದಲ್ಲಿ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಎಲ್ಲಾ ಆಯ್ಕೆಗಳು ಏಕೆ ಗೋಚರಿಸುವುದಿಲ್ಲ.

ಮುಕ್ತಾಯ ನೀತಿಗಳು - ನಿದರ್ಶನಗಳನ್ನು ಅಳಿಸುವಾಗ ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾದ ನಿಯಮಗಳು. ಅವುಗಳನ್ನು ಕ್ರಮವಾಗಿ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ. ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಚಿತ್ರದಲ್ಲಿರುವುದನ್ನು ಬಳಸುತ್ತೇವೆ. ಮೊದಲಿಗೆ, ಹಳೆಯ ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್‌ನೊಂದಿಗಿನ ನಿದರ್ಶನಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ನಾವು AMI ಅನ್ನು ನವೀಕರಿಸಿದರೆ, ನಾವು ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ರಚಿಸಿದ್ದೇವೆ, ಆದರೆ ಎಲ್ಲಾ ನಿದರ್ಶನಗಳು ಅದನ್ನು ಬದಲಾಯಿಸಲು ನಿರ್ವಹಿಸುತ್ತಿದ್ದವು). ನಂತರ ಮುಂದಿನ ಬಿಲ್ಲಿಂಗ್ ಗಂಟೆಗೆ ಹತ್ತಿರವಿರುವ ನಿದರ್ಶನಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ತದನಂತರ ಉಡಾವಣಾ ದಿನಾಂಕದ ಆಧಾರದ ಮೇಲೆ ಹಳೆಯದನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ತಿಳಿದಿರುವುದು ಒಳ್ಳೆಯದು: ಎಲ್ಲಾ ಯಂತ್ರಗಳನ್ನು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ನವೀಕರಿಸಲು, ಬಳಸಲು ಅನುಕೂಲಕರವಾಗಿದೆ ಉದಾಹರಣೆಗೆ ರಿಫ್ರೆಶ್. ಹಿಂದಿನ ಹಂತದಿಂದ ನೀವು ಇದನ್ನು ಲ್ಯಾಂಬ್ಡಾ ಕಾರ್ಯದೊಂದಿಗೆ ಸಂಯೋಜಿಸಿದರೆ, ನೀವು ಸಂಪೂರ್ಣ ಸ್ವಯಂಚಾಲಿತ ನಿದರ್ಶನ ನವೀಕರಣ ವ್ಯವಸ್ಥೆಯನ್ನು ಹೊಂದಿರುತ್ತೀರಿ. ಎಲ್ಲಾ ಯಂತ್ರಗಳನ್ನು ನವೀಕರಿಸುವ ಮೊದಲು, ಗುಂಪಿನಲ್ಲಿರುವ ಎಲ್ಲಾ ನಿದರ್ಶನಗಳಿಗೆ ನೀವು ನಿದರ್ಶನ ಸ್ಕೇಲ್-ಇನ್ ರಕ್ಷಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕು. ಗುಂಪಿನಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅಲ್ಲ, ಆದರೆ ಯಂತ್ರಗಳಿಂದಲೇ ರಕ್ಷಣೆ, ಇದನ್ನು ನಿದರ್ಶನ ನಿರ್ವಹಣೆ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ.

ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಮತ್ತು EC2 ಟಾರ್ಗೆಟ್ ಗ್ರೂಪ್

ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ವಿಭಾಗ EC2 → ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ → ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್‌ಗಳಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ. ನಾವು ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ; ವಿವಿಧ ರೀತಿಯ ಬ್ಯಾಲೆನ್ಸರ್‌ಗಳ ಹೋಲಿಕೆಯನ್ನು ಇಲ್ಲಿ ಓದಬಹುದು ಸೇವಾ ಪುಟ.

ಕೇಳುಗರು - ಪೋರ್ಟ್‌ಗಳನ್ನು 80 ಮತ್ತು 443 ಮಾಡಲು ಮತ್ತು ನಂತರ ಬ್ಯಾಲೆನ್ಸರ್ ನಿಯಮಗಳನ್ನು ಬಳಸಿಕೊಂಡು 80 ರಿಂದ 443 ಗೆ ಮರುನಿರ್ದೇಶಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

ಲಭ್ಯತೆ ವಲಯಗಳು — ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ, ನಾವು ಎಲ್ಲರಿಗೂ ಪ್ರವೇಶಿಸುವಿಕೆ ವಲಯಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ.

ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ - ಬ್ಯಾಲೆನ್ಸರ್ಗಾಗಿ SSL ಪ್ರಮಾಣಪತ್ರವನ್ನು ಇಲ್ಲಿ ಸೂಚಿಸಲಾಗುತ್ತದೆ, ಅತ್ಯಂತ ಅನುಕೂಲಕರ ಆಯ್ಕೆಯಾಗಿದೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಮಾಡಿ ACM ನಲ್ಲಿ. ವ್ಯತ್ಯಾಸಗಳ ಬಗ್ಗೆ ಭದ್ರತಾ ನೀತಿ ನಲ್ಲಿ ಓದಬಹುದು ದಸ್ತಾವೇಜನ್ನು, ನೀವು ಅದನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಬಹುದು ELBSecurityPolicy-2016-08. ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ, ನೀವು ಅದನ್ನು ನೋಡುತ್ತೀರಿ ಡಿಎನ್ಎಸ್ ಹೆಸರು, ನಿಮ್ಮ ಡೊಮೇನ್‌ಗಾಗಿ ನೀವು CNAME ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಕ್ಲೌಡ್‌ಫ್ಲೇರ್‌ನಲ್ಲಿ ಇದು ಹೇಗೆ ಕಾಣುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಭದ್ರತಾ ಗುಂಪು — ಬ್ಯಾಲೆನ್ಸರ್‌ಗಾಗಿ ಸುರಕ್ಷತಾ ಗುಂಪನ್ನು ರಚಿಸಿ ಅಥವಾ ಆಯ್ಕೆಮಾಡಿ, ನಾನು EC2 ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್ → ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ವಿಭಾಗದಲ್ಲಿ ಇದರ ಬಗ್ಗೆ ಹೆಚ್ಚಿನದನ್ನು ಬರೆದಿದ್ದೇನೆ.

ಟಾರ್ಗೆಟ್ ಗುಂಪು — ಬ್ಯಾಲೆನ್ಸರ್‌ನಿಂದ ಯಂತ್ರಗಳಿಗೆ ವಿನಂತಿಗಳನ್ನು ರೂಟಿಂಗ್ ಮಾಡಲು ಮತ್ತು ಸಮಸ್ಯೆಗಳ ಸಂದರ್ಭದಲ್ಲಿ ಅವುಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅವುಗಳ ಲಭ್ಯತೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ನಾವು ಜವಾಬ್ದಾರರಾಗಿರುವ ಗುಂಪನ್ನು ರಚಿಸುತ್ತೇವೆ. ಗುರಿ ಪ್ರಕಾರ ನಿದರ್ಶನವಾಗಿರಬೇಕು, ಪ್ರೋಟೋಕಾಲ್ и ಪೋರ್ಟ್ ಯಾವುದೇ, ನೀವು ಬ್ಯಾಲೆನ್ಸರ್ ಮತ್ತು ನಿದರ್ಶನಗಳ ನಡುವಿನ ಸಂವಹನಕ್ಕಾಗಿ HTTPS ಅನ್ನು ಬಳಸಿದರೆ, ನಂತರ ನೀವು ಅವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ನಾವು ಇದನ್ನು ಮಾಡುವುದಿಲ್ಲ, ನಾವು ಪೋರ್ಟ್ 80 ಅನ್ನು ಬಿಡುತ್ತೇವೆ.

ಆರೋಗ್ಯ ತಪಾಸಣೆ - ಸೇವೆಯ ಕಾರ್ಯವನ್ನು ಪರಿಶೀಲಿಸುವ ನಿಯತಾಂಕಗಳು. ನಿಜವಾದ ಸೇವೆಯಲ್ಲಿ, ಇದು ವ್ಯವಹಾರ ತರ್ಕದ ಪ್ರಮುಖ ಭಾಗಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಪ್ರತ್ಯೇಕ ವಿನಂತಿಯಾಗಿರಬೇಕು; ಈ ಉದಾಹರಣೆಯ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ನಾನು ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಿಡುತ್ತೇನೆ. ಮುಂದೆ, ನೀವು ವಿನಂತಿಯ ಮಧ್ಯಂತರ, ಸಮಯ ಮೀರುವಿಕೆ, ಯಶಸ್ಸಿನ ಕೋಡ್‌ಗಳು ಇತ್ಯಾದಿಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ನಮ್ಮ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಯಶಸ್ಸಿನ ಕೋಡ್‌ಗಳು 200-399 ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ, ಏಕೆಂದರೆ ಬಳಸಲಾಗುವ ಡಾಕರ್ ಚಿತ್ರವು 304 ಕೋಡ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಗುರಿಗಳನ್ನು ನೋಂದಾಯಿಸಿ — ಇಲ್ಲಿ ಗುಂಪಿನ ಕಾರುಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ, ಆದರೆ ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಇದನ್ನು ECS ನಿಂದ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನಾವು ಈ ಹಂತವನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತೇವೆ.

ತಿಳಿದಿರುವುದು ಒಳ್ಳೆಯದು: ಬ್ಯಾಲೆನ್ಸರ್ ಮಟ್ಟದಲ್ಲಿ ನೀವು ನಿರ್ದಿಷ್ಟವಾಗಿ S3 ನಲ್ಲಿ ಉಳಿಸಲಾಗುವ ಲಾಗ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಸ್ವರೂಪ. ಅಲ್ಲಿಂದ ಅವುಗಳನ್ನು ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಸೇವೆಗಳಿಗೆ ರಫ್ತು ಮಾಡಬಹುದು ಅಥವಾ ನೀವು S3 ನಲ್ಲಿನ ಡೇಟಾದಲ್ಲಿ ನೇರವಾಗಿ SQL ಪ್ರಶ್ನೆಗಳನ್ನು ಮಾಡಬಹುದು ಅಥೇನಾ ಬಳಸಿ. ಇದು ಅನುಕೂಲಕರವಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಕೋಡ್ ಇಲ್ಲದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಸಮಯದ ನಂತರ S3 ಬಕೆಟ್‌ನಿಂದ ಲಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದನ್ನು ಹೊಂದಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.

ಇಸಿಎಸ್ ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನ

ಹಿಂದಿನ ಹಂತಗಳಲ್ಲಿ, ಸೇವಾ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲವನ್ನೂ ನಾವು ರಚಿಸಿದ್ದೇವೆ; ಈಗ ನಾವು ಪ್ರಾರಂಭಿಸುವ ಕಂಟೈನರ್‌ಗಳನ್ನು ವಿವರಿಸಲು ನಾವು ಮುಂದುವರಿಯುತ್ತೇವೆ. ಇದನ್ನು ECS → ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನಗಳ ವಿಭಾಗದಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ.

ಲಾಂಚ್ ಪ್ರಕಾರದ ಹೊಂದಾಣಿಕೆ - EC2 ಆಯ್ಕೆಮಾಡಿ.

ಟಾಸ್ಕ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ IAM ಪಾತ್ರ - ಆಯ್ಕೆ ecsTaskExecutionRole. ಇದನ್ನು ಬಳಸಿ, ಲಾಗ್‌ಗಳನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ, ರಹಸ್ಯ ವೇರಿಯಬಲ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಇತ್ಯಾದಿ.

ಕಂಟೈನರ್ ವ್ಯಾಖ್ಯಾನಗಳ ವಿಭಾಗದಲ್ಲಿ, ಕಂಟೈನರ್ ಸೇರಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ.

ಚಿತ್ರ - ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್‌ನೊಂದಿಗೆ ಚಿತ್ರಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಿ; ಈ ಉದಾಹರಣೆಗಾಗಿ ನಾನು ಡಾಕರ್ ಹಬ್‌ನಿಂದ ಸಾರ್ವಜನಿಕ ಚಿತ್ರವನ್ನು ಬಳಸುತ್ತೇನೆ ಬಿಟ್ನಾಮಿ/ನೋಡ್-ಉದಾಹರಣೆ:0.0.1.

ಮೆಮೊರಿ ಮಿತಿಗಳು - ಕಂಟೇನರ್‌ಗಾಗಿ ಮೆಮೊರಿ ಮಿತಿಗಳು. ಕಠಿಣ ಮಿತಿ — ಹಾರ್ಡ್ ಮಿತಿ, ಕಂಟೇನರ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮೌಲ್ಯವನ್ನು ಮೀರಿ ಹೋದರೆ, ಡಾಕರ್ ಕಿಲ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಕಂಟೇನರ್ ತಕ್ಷಣವೇ ಸಾಯುತ್ತದೆ. ಮೃದು ಮಿತಿ - ಮೃದು ಮಿತಿ, ಧಾರಕವು ನಿಗದಿತ ಮೌಲ್ಯವನ್ನು ಮೀರಿ ಹೋಗಬಹುದು, ಆದರೆ ಯಂತ್ರಗಳಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ಇರಿಸುವಾಗ ಈ ನಿಯತಾಂಕವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಯಂತ್ರವು 4 GiB RAM ಅನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ಕಂಟೇನರ್‌ನ ಮೃದು ಮಿತಿ 2048 MiB ಆಗಿದ್ದರೆ, ಈ ಯಂತ್ರವು ಈ ಕಂಟೇನರ್‌ನೊಂದಿಗೆ ಗರಿಷ್ಠ 2 ಚಾಲನೆಯಲ್ಲಿರುವ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಬಹುದು. ವಾಸ್ತವದಲ್ಲಿ, 4 GiB RAM 4096 MiB ಗಿಂತ ಸ್ವಲ್ಪ ಕಡಿಮೆಯಾಗಿದೆ, ಇದನ್ನು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿರುವ ECS ನಿದರ್ಶನಗಳ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು. ಮೃದು ಮಿತಿಯು ಕಠಿಣ ಮಿತಿಗಿಂತ ಹೆಚ್ಚಿರಬಾರದು. ಒಂದು ಕಾರ್ಯದಲ್ಲಿ ಹಲವಾರು ಧಾರಕಗಳಿದ್ದರೆ, ಅವುಗಳ ಮಿತಿಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ.

ಪೋರ್ಟ್ ಮ್ಯಾಪಿಂಗ್‌ಗಳು - ಇನ್ ಹೋಸ್ಟ್ ಪೋರ್ಟ್ ನಾವು 0 ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ, ಇದರರ್ಥ ಪೋರ್ಟ್ ಅನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನಿಯೋಜಿಸಲಾಗುವುದು ಮತ್ತು ಟಾರ್ಗೆಟ್ ಗ್ರೂಪ್ ಮೂಲಕ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತದೆ. ಕಂಟೈನರ್ ಪೋರ್ಟ್ — ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ರನ್ ಆಗುವ ಪೋರ್ಟ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಕಮಾಂಡ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್, ಡಾಕರ್‌ಫೈಲ್ ಇತ್ಯಾದಿಗಳಲ್ಲಿ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ನಮ್ಮ ಉದಾಹರಣೆಗಾಗಿ ನಾವು 3000 ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಏಕೆಂದರೆ ಅದನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ ಡಾಕರ್‌ಫೈಲ್ ಚಿತ್ರವನ್ನು ಬಳಸಲಾಗುತ್ತಿದೆ.

ಆರೋಗ್ಯ ತಪಾಸಣೆ - ಕಂಟೈನರ್ ಆರೋಗ್ಯ ತಪಾಸಣೆ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು, ಟಾರ್ಗೆಟ್ ಗ್ರೂಪ್‌ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಒಂದರೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು.

ಪರಿಸರ - ಪರಿಸರ ಸೆಟ್ಟಿಂಗ್ಗಳು. CPU ಘಟಕಗಳು - ಮೆಮೊರಿ ಮಿತಿಗಳನ್ನು ಹೋಲುತ್ತದೆ, ಪ್ರೊಸೆಸರ್ ಬಗ್ಗೆ ಮಾತ್ರ. ಪ್ರತಿ ಪ್ರೊಸೆಸರ್ ಕೋರ್ 1024 ಘಟಕಗಳು, ಆದ್ದರಿಂದ ಸರ್ವರ್ ಡ್ಯುಯಲ್-ಕೋರ್ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ಕಂಟೇನರ್ ಅನ್ನು 512 ಗೆ ಹೊಂದಿಸಿದರೆ, ಈ ಕಂಟೇನರ್ನೊಂದಿಗೆ 4 ಕಾರ್ಯಗಳನ್ನು ಒಂದು ಸರ್ವರ್ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಬಹುದು. CPU ಘಟಕಗಳು ಯಾವಾಗಲೂ ಕೋರ್ಗಳ ಸಂಖ್ಯೆಗೆ ಅನುಗುಣವಾಗಿರುತ್ತವೆ; ಮೆಮೊರಿಯಂತೆಯೇ ಅವುಗಳಲ್ಲಿ ಸ್ವಲ್ಪ ಕಡಿಮೆ ಇರುವಂತಿಲ್ಲ.

ಕಮಾಂಡ್ - ಕಂಟೇನರ್ ಒಳಗೆ ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಆಜ್ಞೆ, ಎಲ್ಲಾ ನಿಯತಾಂಕಗಳನ್ನು ಅಲ್ಪವಿರಾಮದಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ. ಇದು ಗುನಿಕಾರ್ನ್, npm, ಇತ್ಯಾದಿ ಆಗಿರಬಹುದು. ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಡಾಕರ್‌ಫೈಲ್‌ನಿಂದ CMD ನಿರ್ದೇಶನದ ಮೌಲ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ನಾವು ಸೂಚಿಸುತ್ತೇವೆ npm,start.

ಪರಿಸರ ಅಸ್ಥಿರ - ಕಂಟೇನರ್ ಪರಿಸರ ಅಸ್ಥಿರ. ಇದು ಸರಳ ಪಠ್ಯ ಡೇಟಾ ಅಥವಾ ರಹಸ್ಯ ವೇರಿಯಬಲ್ ಆಗಿರಬಹುದು ಸೀಕ್ರೆಟ್ಸ್ ಮ್ಯಾನೇಜರ್ ಅಥವಾ ಪ್ಯಾರಾಮೀಟರ್ ಅಂಗಡಿ.

ಸಂಗ್ರಹಣೆ ಮತ್ತು ಲಾಗಿಂಗ್ — ಇಲ್ಲಿ ನಾವು CloudWatch ಲಾಗ್‌ಗಳಲ್ಲಿ ಲಾಗಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ (AWS ನಿಂದ ಲಾಗ್‌ಗಳಿಗಾಗಿ ಸೇವೆ). ಇದನ್ನು ಮಾಡಲು, ಸ್ವಯಂ ಕಾನ್ಫಿಗರ್ ಕ್ಲೌಡ್‌ವಾಚ್ ಲಾಗ್‌ಗಳ ಚೆಕ್‌ಬಾಕ್ಸ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನವನ್ನು ರಚಿಸಿದ ನಂತರ, ಲಾಗ್‌ಗಳ ಗುಂಪನ್ನು ಕ್ಲೌಡ್‌ವಾಚ್‌ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಲಾಗ್‌ಗಳನ್ನು ಅದರಲ್ಲಿ ಅನಿರ್ದಿಷ್ಟವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ; ಧಾರಣ ಅವಧಿಯನ್ನು ನೆವರ್ ಎಕ್ಸ್‌ಪೈರ್‌ನಿಂದ ಅಗತ್ಯವಿರುವ ಅವಧಿಗೆ ಬದಲಾಯಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. ಇದನ್ನು CloudWatch ಲಾಗ್ ಗುಂಪುಗಳಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ, ನೀವು ಪ್ರಸ್ತುತ ಅವಧಿಯ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಹೊಸದನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಇಸಿಎಸ್ ಕ್ಲಸ್ಟರ್ ಮತ್ತು ಇಸಿಎಸ್ ಸಾಮರ್ಥ್ಯ ಪೂರೈಕೆದಾರ

ಕ್ಲಸ್ಟರ್ ರಚಿಸಲು ECS → ಕ್ಲಸ್ಟರ್‌ಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. ನಾವು EC2 Linux + ನೆಟ್‌ವರ್ಕಿಂಗ್ ಅನ್ನು ಟೆಂಪ್ಲೇಟ್ ಆಗಿ ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ.

ಕ್ಲಸ್ಟರ್ ಹೆಸರು - ಬಹಳ ಮುಖ್ಯ, ಲಾಂಚ್ ಟೆಂಪ್ಲೇಟ್ ಪ್ಯಾರಾಮೀಟರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅದೇ ಹೆಸರನ್ನು ನಾವು ಇಲ್ಲಿ ಮಾಡುತ್ತೇವೆ ECS_CLUSTER, ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ - DemoApiClusterProd. ಖಾಲಿ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ರಚಿಸಿ ಚೆಕ್‌ಬಾಕ್ಸ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಐಚ್ಛಿಕವಾಗಿ, ಕ್ಲೌಡ್‌ವಾಚ್‌ನಲ್ಲಿ ಸೇವೆಗಳಿಗಾಗಿ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ನೀವು ಕಂಟೈನರ್ ಒಳನೋಟಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು. ನೀವು ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಮಾಡಿದರೆ, ಇಸಿಎಸ್ ನಿದರ್ಶನಗಳ ವಿಭಾಗದಲ್ಲಿ ನೀವು ಆಟೋ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪಿನಲ್ಲಿ ರಚಿಸಲಾದ ಯಂತ್ರಗಳನ್ನು ನೋಡುತ್ತೀರಿ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಟ್ಯಾಬ್‌ಗೆ ಹೋಗಿ ಸಾಮರ್ಥ್ಯ ಪೂರೈಕೆದಾರರು ಮತ್ತು ಹೊಸದನ್ನು ರಚಿಸಿ. ಚಾಲನೆಯಲ್ಲಿರುವ ಇಸಿಎಸ್ ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅವಲಂಬಿಸಿ ಯಂತ್ರಗಳ ರಚನೆ ಮತ್ತು ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಅಗತ್ಯವಿದೆಯೆಂದು ನಾನು ನಿಮಗೆ ನೆನಪಿಸುತ್ತೇನೆ. ಒದಗಿಸುವವರನ್ನು ಒಂದು ಗುಂಪಿಗೆ ಮಾತ್ರ ನಿಯೋಜಿಸಬಹುದು ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯ.

ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಗುಂಪು - ಹಿಂದೆ ರಚಿಸಿದ ಗುಂಪನ್ನು ಆಯ್ಕೆಮಾಡಿ.

ನಿರ್ವಹಿಸಿದ ಸ್ಕೇಲಿಂಗ್ — ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಇದರಿಂದ ಪೂರೈಕೆದಾರರು ಸೇವೆಯನ್ನು ಅಳೆಯಬಹುದು.

ಗುರಿ ಸಾಮರ್ಥ್ಯ % - ಕಾರ್ಯಗಳೊಂದಿಗೆ ಲೋಡ್ ಮಾಡಲಾದ ಯಂತ್ರಗಳ ಶೇಕಡಾವಾರು ನಮಗೆ ಅಗತ್ಯವಿದೆ. ನೀವು 100% ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ಎಲ್ಲಾ ಯಂತ್ರಗಳು ಯಾವಾಗಲೂ ಚಾಲನೆಯಲ್ಲಿರುವ ಕಾರ್ಯಗಳಲ್ಲಿ ನಿರತವಾಗಿರುತ್ತವೆ. ನೀವು 50% ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ಅರ್ಧದಷ್ಟು ಕಾರುಗಳು ಯಾವಾಗಲೂ ಉಚಿತವಾಗಿರುತ್ತವೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಲೋಡ್ನಲ್ಲಿ ತೀಕ್ಷ್ಣವಾದ ಜಂಪ್ ಇದ್ದರೆ, ಹೊಸ ಟ್ಯಾಕ್ಸಿಗಳು ತಕ್ಷಣವೇ ಉಚಿತ ಕಾರುಗಳನ್ನು ಪಡೆಯುತ್ತವೆ, ನಿದರ್ಶನಗಳನ್ನು ನಿಯೋಜಿಸಲು ಕಾಯದೆಯೇ.

ನಿರ್ವಹಿಸಿದ ಮುಕ್ತಾಯ ರಕ್ಷಣೆ — ಸಕ್ರಿಯಗೊಳಿಸಿ, ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅಳಿಸುವಿಕೆಯಿಂದ ನಿದರ್ಶನಗಳ ರಕ್ಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕಲು ಒದಗಿಸುವವರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಗಣಕದಲ್ಲಿ ಯಾವುದೇ ಸಕ್ರಿಯ ಕಾರ್ಯಗಳಿಲ್ಲದಿದ್ದಾಗ ಮತ್ತು ಟಾರ್ಗೆಟ್ ಸಾಮರ್ಥ್ಯವನ್ನು% ಅನುಮತಿಸಿದಾಗ ಇದು ಸಂಭವಿಸುತ್ತದೆ.

ಇಸಿಎಸ್ ಸೇವೆ ಮತ್ತು ಸ್ಕೇಲಿಂಗ್ ಸೆಟಪ್

ಕೊನೆಯ ಹಂತ :) ಸೇವೆಯನ್ನು ರಚಿಸಲು, ನೀವು ಸೇವೆಗಳ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಹಿಂದೆ ರಚಿಸಿದ ಕ್ಲಸ್ಟರ್‌ಗೆ ಹೋಗಬೇಕಾಗುತ್ತದೆ.

ಲಾಂಚ್ ಪ್ರಕಾರ — ನೀವು ಸ್ವಿಚ್ ಟು ಸಾಮರ್ಥ್ಯ ಪೂರೈಕೆದಾರರ ತಂತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಹಿಂದೆ ರಚಿಸಿದ ಪೂರೈಕೆದಾರರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನ — ಹಿಂದೆ ರಚಿಸಿದ ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನ ಮತ್ತು ಅದರ ಪರಿಷ್ಕರಣೆ ಆಯ್ಕೆಮಾಡಿ.

ಸೇವೆಯ ಹೆಸರು — ಗೊಂದಲವನ್ನು ತಪ್ಪಿಸಲು, ನಾವು ಯಾವಾಗಲೂ ಕಾರ್ಯ ವ್ಯಾಖ್ಯಾನದಂತೆಯೇ ಸೂಚಿಸುತ್ತೇವೆ.

ಸೇವಾ ಪ್ರಕಾರ - ಯಾವಾಗಲೂ ಪ್ರತಿರೂಪ.

ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆ - ಸೇವೆಯಲ್ಲಿ ಸಕ್ರಿಯ ಕಾರ್ಯಗಳ ಅಪೇಕ್ಷಿತ ಸಂಖ್ಯೆ. ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸ್ಕೇಲಿಂಗ್ ಮೂಲಕ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಇನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.

ಕನಿಷ್ಠ ಆರೋಗ್ಯಕರ ಶೇ и ಗರಿಷ್ಠ ಶೇ - ನಿಯೋಜನೆಯ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಗಳ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ಧರಿಸಿ. ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳು 100 ಮತ್ತು 200 ಆಗಿದ್ದು, ನಿಯೋಜನೆಯ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆಯು ಹಲವಾರು ಬಾರಿ ಹೆಚ್ಚಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಅಪೇಕ್ಷಿತ ಮೌಲ್ಯಕ್ಕೆ ಹಿಂತಿರುಗುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ. ನೀವು 1 ಟಾಸ್ಕ್ ರನ್ನಿಂಗ್ ಹೊಂದಿದ್ದರೆ, min=0, ಮತ್ತು max=100, ನಂತರ ನಿಯೋಜನೆಯ ಸಮಯದಲ್ಲಿ ಅದು ಕೊಲ್ಲಲ್ಪಡುತ್ತದೆ, ಮತ್ತು ಅದರ ನಂತರ ಹೊಸದನ್ನು ಏರಿಸಲಾಗುತ್ತದೆ, ಅಂದರೆ ಅದು ಅಲಭ್ಯವಾಗಿರುತ್ತದೆ. 1 ಕಾರ್ಯವು ಚಾಲನೆಯಲ್ಲಿದ್ದರೆ, min=50, max=150, ನಂತರ ನಿಯೋಜನೆಯು ಸಂಭವಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ 1 ಕಾರ್ಯವನ್ನು ಅರ್ಧದಷ್ಟು ಭಾಗಿಸಲು ಅಥವಾ ಒಂದೂವರೆ ಪಟ್ಟು ಹೆಚ್ಚಿಸಲಾಗುವುದಿಲ್ಲ.

ನಿಯೋಜನೆ ಪ್ರಕಾರ - ರೋಲಿಂಗ್ ನವೀಕರಣವನ್ನು ಬಿಡಿ.

ಪ್ಲೇಸ್‌ಮೆಂಟ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳು - ಯಂತ್ರಗಳಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ಇರಿಸುವ ನಿಯಮಗಳು. ಡೀಫಾಲ್ಟ್ AZ ಬ್ಯಾಲೆನ್ಸ್ಡ್ ಸ್ಪ್ರೆಡ್ ಆಗಿದೆ - ಇದರರ್ಥ ಎಲ್ಲಾ ಲಭ್ಯತೆಯ ವಲಯಗಳಲ್ಲಿನ ಯಂತ್ರಗಳು ಏರುವವರೆಗೆ ಪ್ರತಿ ಹೊಸ ಕಾರ್ಯವನ್ನು ಹೊಸ ನಿದರ್ಶನದಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ. ನಾವು ಸಾಮಾನ್ಯವಾಗಿ BinPack - CPU ಮತ್ತು Spread - AZ ಅನ್ನು ಮಾಡುತ್ತೇವೆ; ಈ ನೀತಿಯೊಂದಿಗೆ, ಪ್ರತಿ CPU ಗೆ ಒಂದು ಯಂತ್ರದಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ದಟ್ಟವಾಗಿ ಇರಿಸಲಾಗುತ್ತದೆ. ಹೊಸ ಯಂತ್ರವನ್ನು ರಚಿಸಲು ಅಗತ್ಯವಿದ್ದರೆ, ಅದನ್ನು ಹೊಸ ಲಭ್ಯತೆಯ ವಲಯದಲ್ಲಿ ರಚಿಸಲಾಗುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಪ್ರಕಾರ - ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಆಯ್ಕೆಮಾಡಿ.

ಸೇವೆ IAM ಪಾತ್ರ - ಆಯ್ಕೆ ecsServiceRole.

ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಹೆಸರು - ಹಿಂದೆ ರಚಿಸಿದ ಬ್ಯಾಲೆನ್ಸರ್ ಆಯ್ಕೆಮಾಡಿ.

ಆರೋಗ್ಯ ತಪಾಸಣೆ ಗ್ರೇಸ್ ಅವಧಿ - ಹೊಸ ಕಾರ್ಯವನ್ನು ಹೊರತಂದ ನಂತರ ಆರೋಗ್ಯ ತಪಾಸಣೆ ಮಾಡುವ ಮೊದಲು ವಿರಾಮಗೊಳಿಸಿ, ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಅದನ್ನು 60 ಸೆಕೆಂಡುಗಳಿಗೆ ಹೊಂದಿಸುತ್ತೇವೆ.

ಸಮತೋಲನವನ್ನು ಲೋಡ್ ಮಾಡಲು ಕಂಟೇನರ್ — ಟಾರ್ಗೆಟ್ ಗುಂಪಿನ ಹೆಸರಿನ ಐಟಂನಲ್ಲಿ, ಹಿಂದೆ ರಚಿಸಿದ ಗುಂಪನ್ನು ಆಯ್ಕೆಮಾಡಿ, ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತುಂಬಲಾಗುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಸೇವೆ ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ - ಸೇವಾ ಸ್ಕೇಲಿಂಗ್ ನಿಯತಾಂಕಗಳು. ನಿಮ್ಮ ಸೇವೆಯ ಅಪೇಕ್ಷಿತ ಸಂಖ್ಯೆಯನ್ನು ಸರಿಹೊಂದಿಸಲು ಸೇವಾ ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ ಆಯ್ಕೆಮಾಡಿ. ಸ್ಕೇಲಿಂಗ್ ಮಾಡುವಾಗ ನಾವು ಕನಿಷ್ಟ ಮತ್ತು ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ.

ಸೇವಾ ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್‌ಗಾಗಿ IAM ಪಾತ್ರ - ಆಯ್ಕೆ AWSServiceRoleForApplicationAutoScaling_ECSService.

ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯ ಸ್ಕೇಲಿಂಗ್ ನೀತಿಗಳು - ಸ್ಕೇಲಿಂಗ್ ನಿಯಮಗಳು. 2 ವಿಧಗಳಿವೆ:

  1. ಟಾರ್ಗೆಟ್ ಟ್ರ್ಯಾಕಿಂಗ್ — ಟ್ರ್ಯಾಕಿಂಗ್ ಗುರಿ ಮೆಟ್ರಿಕ್ಸ್ (CPU/RAM ಬಳಕೆ ಅಥವಾ ಪ್ರತಿ ಕಾರ್ಯಕ್ಕಾಗಿ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆ). ಉದಾಹರಣೆಗೆ, ಸರಾಸರಿ ಪ್ರೊಸೆಸರ್ ಲೋಡ್ 85% ಆಗಿರಬೇಕು ಎಂದು ನಾವು ಬಯಸುತ್ತೇವೆ, ಅದು ಹೆಚ್ಚಾದಾಗ, ಗುರಿ ಮೌಲ್ಯವನ್ನು ತಲುಪುವವರೆಗೆ ಹೊಸ ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. ಲೋಡ್ ಕಡಿಮೆಯಿದ್ದರೆ, ಸ್ಕೇಲಿಂಗ್ ಡೌನ್ ವಿರುದ್ಧ ರಕ್ಷಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸದ ಹೊರತು, ಕಾರ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ (ಸ್ಕೇಲ್-ಇನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ).
  2. ಹಂತದ ಸ್ಕೇಲಿಂಗ್ - ಅನಿಯಂತ್ರಿತ ಘಟನೆಗೆ ಪ್ರತಿಕ್ರಿಯೆ. ಇಲ್ಲಿ ನೀವು ಯಾವುದೇ ಈವೆಂಟ್‌ಗೆ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು (ಕ್ಲೌಡ್‌ವಾಚ್ ಅಲಾರ್ಮ್), ಅದು ಸಂಭವಿಸಿದಾಗ, ನೀವು ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ತೆಗೆದುಹಾಕಬಹುದು ಅಥವಾ ನಿಖರವಾದ ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.

ಸೇವೆಯು ಹಲವಾರು ಸ್ಕೇಲಿಂಗ್ ನಿಯಮಗಳನ್ನು ಹೊಂದಿರಬಹುದು, ಇದು ಉಪಯುಕ್ತವಾಗಬಹುದು, ಮುಖ್ಯ ವಿಷಯವೆಂದರೆ ಅವುಗಳು ಪರಸ್ಪರ ಸಂಘರ್ಷಕ್ಕೆ ಒಳಗಾಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.

ತೀರ್ಮಾನಕ್ಕೆ

ನೀವು ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿದರೆ ಮತ್ತು ಅದೇ ಡಾಕರ್ ಚಿತ್ರವನ್ನು ಬಳಸಿದರೆ, ನಿಮ್ಮ ಸೇವೆಯು ಈ ರೀತಿಯ ಪುಟವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

AWS ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಸ್ಕೇಲೆಬಲ್ API ಅನ್ನು ನಿರ್ಮಿಸುವುದು

  1. ನಾವು ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ ಅದರ ಪ್ರಕಾರ ಸೇವೆಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಯಂತ್ರಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ. ಟೆಂಪ್ಲೇಟ್ ಬದಲಾದಾಗ ಯಂತ್ರಗಳನ್ನು ಹೇಗೆ ನವೀಕರಿಸಬೇಕು ಎಂಬುದನ್ನು ಸಹ ನಾವು ಕಲಿತಿದ್ದೇವೆ.
  2. ನಾವು ಸ್ಪಾಟ್ ಇನ್‌ಸ್ಟಾನ್ಸ್ ಸ್ಟಾಪ್ ಸಿಗ್ನಲ್‌ನ ಸಂಸ್ಕರಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೇವೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ ಒಂದು ನಿಮಿಷದಲ್ಲಿ, ಎಲ್ಲಾ ಚಾಲನೆಯಲ್ಲಿರುವ ಕಾರ್ಯಗಳನ್ನು ಯಂತ್ರದಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಏನೂ ಕಳೆದುಹೋಗುವುದಿಲ್ಲ ಅಥವಾ ಅಡಚಣೆಯಾಗುವುದಿಲ್ಲ.
  3. ಯಂತ್ರಗಳಾದ್ಯಂತ ಲೋಡ್ ಅನ್ನು ಸಮವಾಗಿ ವಿತರಿಸಲು ನಾವು ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ಹೆಚ್ಚಿಸಿದ್ದೇವೆ.
  4. ನಾವು ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಸೇವೆಯನ್ನು ರಚಿಸಿದ್ದೇವೆ, ಇದು ಯಂತ್ರದ ವೆಚ್ಚವನ್ನು ಸುಮಾರು 3 ಪಟ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
  5. ಡೌನ್‌ಟೈಮ್ ವೆಚ್ಚಗಳನ್ನು ಹೊಂದದೆ ಹೆಚ್ಚಿದ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಾವು ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ಸ್ವಯಂ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೇವೆ.
  6. ನಾವು ಕೆಪಾಸಿಟಿ ಪ್ರೊವೈಡರ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಇದರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಸೌಕರ್ಯವನ್ನು (ಯಂತ್ರಗಳು) ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಅಲ್ಲ.
  7. ನಾವು ಶ್ರೇಷ್ಠರು.

ನೀವು ಲೋಡ್‌ನಲ್ಲಿ ಊಹಿಸಬಹುದಾದ ಸ್ಪೈಕ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಉದಾಹರಣೆಗೆ ನೀವು ದೊಡ್ಡ ಇಮೇಲ್ ಪ್ರಚಾರದಲ್ಲಿ ಜಾಹೀರಾತು ಮಾಡುತ್ತಿದ್ದರೆ, ನೀವು ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು ವೇಳಾಪಟ್ಟಿ.

ನಿಮ್ಮ ಸಿಸ್ಟಂನ ವಿವಿಧ ಭಾಗಗಳಿಂದ ಡೇಟಾವನ್ನು ಆಧರಿಸಿ ನೀವು ಅಳೆಯಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಾವು ಕಾರ್ಯವನ್ನು ಹೊಂದಿದ್ದೇವೆ ವೈಯಕ್ತಿಕ ಪ್ರಚಾರದ ಕೊಡುಗೆಗಳನ್ನು ಕಳುಹಿಸುವುದು ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ಬಳಕೆದಾರರು. ಕೆಲವೊಮ್ಮೆ ಪ್ರಚಾರವನ್ನು 1M+ ಜನರಿಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಅಂತಹ ವಿತರಣೆಯ ನಂತರ, API ಗೆ ವಿನಂತಿಗಳಲ್ಲಿ ಯಾವಾಗಲೂ ಹೆಚ್ಚಿನ ಹೆಚ್ಚಳವಿದೆ, ಏಕೆಂದರೆ ಅನೇಕ ಬಳಕೆದಾರರು ಅದೇ ಸಮಯದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಲಾಗ್ ಇನ್ ಆಗುತ್ತಾರೆ. ಆದ್ದರಿಂದ ಪ್ರಚಾರದ ಪುಶ್ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು ಸರದಿಯಲ್ಲಿ ಗಣನೀಯವಾಗಿ ಹೆಚ್ಚು ಪ್ರಮಾಣಿತ ಸೂಚಕಗಳು ಇವೆ ಎಂದು ನಾವು ನೋಡಿದರೆ, ಲೋಡ್‌ಗೆ ಸಿದ್ಧವಾಗಲು ನಾವು ತಕ್ಷಣವೇ ಹಲವಾರು ಹೆಚ್ಚುವರಿ ಯಂತ್ರಗಳು ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳು ಮತ್ತು ಇಸಿಎಸ್ ಅಥವಾ ಸ್ಕೇಲಿಂಗ್ ಬಗ್ಗೆ ಏನನ್ನಾದರೂ ಬಳಸುವ ಆಸಕ್ತಿದಾಯಕ ಪ್ರಕರಣಗಳನ್ನು ನೀವು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಹೇಳಿದರೆ ನನಗೆ ಸಂತೋಷವಾಗುತ್ತದೆ.

ಪ್ರಧಾನವಾಗಿ ಸರ್ವರ್‌ಲೆಸ್ ಸ್ಟಾಕ್‌ನಲ್ಲಿ (ಹಣದೊಂದಿಗೆ) ನಾವು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಸಾವಿರಾರು ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಘಟನೆಗಳನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತೇವೆ ಮತ್ತು GitLab CI ಮತ್ತು Terraform ಕ್ಲೌಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸೇವೆಗಳ ನಿಯೋಜನೆಯು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ಕುರಿತು ಶೀಘ್ರದಲ್ಲೇ ಲೇಖನಗಳು ಬರುತ್ತವೆ.

ನಮಗೆ ಚಂದಾದಾರರಾಗಿ, ಇದು ಆಸಕ್ತಿದಾಯಕವಾಗಿರುತ್ತದೆ!

ನೋಂದಾಯಿತ ಬಳಕೆದಾರರು ಮಾತ್ರ ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದು. ಸೈನ್ ಇನ್ ಮಾಡಿ, ದಯವಿಟ್ಟು.

ಉತ್ಪಾದನೆಯಲ್ಲಿ ನೀವು ಸ್ಪಾಟ್ ನಿದರ್ಶನಗಳನ್ನು ಬಳಸುತ್ತೀರಾ?

  • 22,2%ಹೌದು 6

  • 66,7%No18

  • 11,1%ನಾನು ಅವರ ಬಗ್ಗೆ ಲೇಖನದಿಂದ ಕಲಿತಿದ್ದೇನೆ ಮತ್ತು ಅವುಗಳನ್ನು ಬಳಸಲು ಯೋಜಿಸಿದೆ3

27 ಬಳಕೆದಾರರು ಮತ ಹಾಕಿದ್ದಾರೆ. 5 ಬಳಕೆದಾರರು ದೂರ ಉಳಿದಿದ್ದಾರೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ