โ€œเจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจจเฉ‚เฉฐ 10 เจ—เฉเจฃเจพ เจตเจงเจพเจ‡เจ†โ€: เจ‡เจธ เจฒเจˆ เจ•เฉŒเจฃ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ?

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆเจ‡เจน เจฒเฉ‡เจ–, เจฏเฉ‚เจฐเจชเฉ€เจ…เจจ เจ•เฉฐเจชเจจเฉ€ เจ…เจกเฉ‡เจตเจฟเฉฐเจŸเจพ เจฆเฉ‡ เจชเฉเจฐเจฟเฉฐเจธเฉ€เจชเจฒ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ, เจ—เฉˆเจฒเฉ‹ เจจเจตเจพเจฐเฉ‹ เจฆเฉเจ†เจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฆเจฟเจฒเจšเจธเจช เจ…เจคเฉ‡ เจธเจฟเฉฑเจ–เจฟเจ†เจฆเจพเจ‡เจ• "เจœเจพเจ‚เจš" เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจฎเฉ‚เจฒ เจธเจฟเจฐเจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจ…เจจเฉเจตเจพเจฆ เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเฉเจนเจพ เจธเฉ‹เจงเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฒเฉ‡เจ–เจ• เจจเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจนเฉ€ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฆเฉฑเจธเจฟเจ† เจนเฉˆเฅค

โ€œเจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจจเฉ‚เฉฐ 10 เจ—เฉเจฃเจพ เจตเจงเจพเจ‡เจ†โ€: เจ‡เจธ เจฒเจˆ เจ•เฉŒเจฃ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ?

เจฒเฉ‡เจ–เจ• เจคเฉ‹เจ‚ เจจเฉ‹เจŸ: เจ‡เจน เจ‡เจธ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจตเจฐเจ—เจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ†เจ•เจฐเจธเจผเจฟเจค เจ‡เจธ เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจจเจพเจฒเฉ‹เจ‚ เจ•เจฟเจคเฉ‡ เจœเจผเจฟเจ†เจฆเจพ เจงเจฟเจ†เจจ เจฎเจฟเจฒเจฟเจ† เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ—เฉเฉฐเจฎเจฐเจพเจนเจ•เฉเฉฐเจจ เจธเจฟเจฐเจฒเฉ‡เจ– เจฌเจพเจฐเฉ‡ เจ—เฉเฉฑเจธเฉ‡ เจญเจฐเฉ€เจ†เจ‚ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจฎเจฟเจฒเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจ•เฉเจ เจชเจพเจ เจ• เจชเจฐเฉ‡เจธเจผเจพเจจ เจนเจจเฅค เจฎเฉˆเจ‚ เจ‡เจธเจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพ เจนเจพเจ‚, เจ‡เจธ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจ•เจนเจพเจฃเฉ€ เจจเฉ‚เฉฐ เจตเจฟเจ—เจพเฉœเจจ เจฆเฉ‡ เจœเฉ‹เจ–เจฎ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจ‡เจน เจธเจฎเจเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจฒเฉ‡เจ– เจ•เจฟเจธ เจฌเจพเจฐเฉ‡ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจŸเฉ€เจฎเจพเจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจŸ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ‰เจคเจธเฉเจ• เจšเฉ€เจœเจผ เจฆเฉ‡เจ–เจฆเจพ เจนเจพเจ‚: เจนเจฐ เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจตเจงเฉ€ เจนเฉ‹เจˆ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€), เจคเจพเจ‚ เจ‰เจน เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‚เฉฐ เจฆเฉ‹เจธเจผเฉ€ เจ เจนเจฟเจฐเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจชเจฐ เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจ†เจฐเจ•เฉˆเจธเจŸเฉเจฐเฉ‡เจŸเจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฆเฉ‹เจธเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจน เจฒเฉ‡เจ– เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจฌเจพเจฐเฉ‡ เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจธเจฟเจฐเจฒเฉ‡เจ– เจธเจพเจกเฉ‡ เจ‡เฉฑเจ• เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฆเฉ‡ เจตเจฟเจธเจฎเจฟเจ• เจšเจฟเฉฐเจจเฉเจน เจจเฉ‚เฉฐ เจ—เฉ‚เฉฐเจœเจฆเจพ เจนเฉˆ (เจคเฉเจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เฉ‹เจ—เฉ‡ เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเจพ เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจฒเฉˆเจฃเจพ-เจฆเฉ‡เจฃเจพ เจจเจนเฉ€เจ‚ เจธเฉ€)เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฌเจพเจฐเฉ‡ เจ•เฉ‹เจˆ เจนเฉˆเจฐเจพเจจเฉ€เจœเจจเจ• เจ–เฉเจฒเจพเจธเฉ‡ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฃเจ—เฉ‡, เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจšเฉฐเจ—เฉ‡ เจธเจฌเจ•เจพเจ‚ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ•เฉเจ เจนเจซเจผเจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉ‡เจฐเฉ€ เจŸเฉ€เจฎ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เฉ‹เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจŸ เจ•เจฐ เจฐเจนเฉ€ เจธเฉ€ เจœเจฟเจธ เจตเจฟเฉฑเจš CI/CD, เจ‡เฉฑเจ• Kubernetes-เจ…เจงเจพเจฐเจฟเจค เจ‰เจคเจชเจพเจฆเจจ เจตเจพเจคเจพเจตเจฐเจฃ, เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจธเจผเจพเจฎเจฒ เจธเจจเฅค เจ‡เจน เจ‡เฉฑเจ• เจชเจพเจ‡เจฒเจŸ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉ€: เจ…เจธเฉ€เจ‚ เจ‡เจธ 'เจคเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— 150 เจนเฉ‹เจฐ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพเจˆ เจธเฉ€เฅค เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจธเจชเฉ‡เจจ เจฆเฉ‡ เจ•เฉเจ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ‡ เจ”เจจเจฒเจพเจˆเจจ เจฌเจพเจœเจผเจพเจฐเจพเจ‚ (Infojobs, Fotocasa, เจ…เจคเฉ‡ เจนเฉ‹เจฐ) เจจเฉ‚เฉฐ เจธเจผเจ•เจคเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 'เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ•เฉเจ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจ‡เจธ เจตเฉฑเจฒ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจšเจฟเฉฐเจคเจพเจœเจจเจ• เจนเฉˆเจฐเจพเจจเฉ€ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†เฅค เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ (เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€) เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ EC2 เจจเจพเจฒเฉ‹เจ‚ 10 เจ—เฉเจฃเจพ เจตเฉฑเจง เจธเฉ€เฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจฒเฉฑเจญเจฃเจพ เจœเจพเจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ (เจ…เจคเฉ‡, เจธเฉฐเจญเจพเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจชเฉ‚เจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ) เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€เฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš EC2 เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจ‡เฉฐเจจเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจ•เจฟเจ‰เจ‚ เจนเฉˆ?

เจฐเฉเจ•เจพเจตเจŸ เจฒเฉฑเจญเจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจชเฉ‚เจฐเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจฎเจพเจฐเจ— เจฆเฉ‡ เจจเจพเจฒ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡เฅค เจธเจพเจกเจพ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจธเจงเจพเจฐเจจ เจนเฉˆ: เจ‡เฉฑเจ• API เจ—เฉ‡เจŸเจตเฉ‡ (Zuul) EC2 เจœเจพเจ‚ Kubernetes เจตเจฟเฉฑเจš เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค Kubernetes เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• NGINX เจ‡เฉฐเจ—เฉเจฐเฉ‡เจธ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจฌเฉˆเจ•เจเจ‚เจก เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจฟเจฏเจฎเจค เจตเจธเจคเฉ‚เจ†เจ‚ เจนเจจเฅค เจกเจฟเจชเจฒเฉ‹เจฎเฉ‡เจŸ เจธเจชเจฐเจฟเฉฐเจ— เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจ‡เฉฑเจ• JVM เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒเฅค

                                  EC2
                            +---------------+
                            |  +---------+  |
                            |  |         |  |
                       +-------> BACKEND |  |
                       |    |  |         |  |
                       |    |  +---------+  |                   
                       |    +---------------+
             +------+  |
Public       |      |  |
      -------> ZUUL +--+
traffic      |      |  |              Kubernetes
             +------+  |    +-----------------------------+
                       |    |  +-------+      +---------+ |
                       |    |  |       |  xx  |         | |
                       +-------> NGINX +------> BACKEND | |
                            |  |       |  xx  |         | |
                            |  +-------+      +---------+ |
                            +-----------------------------+

เจ‡เจน เจฎเฉเฉฑเจฆเจพ เจฌเฉˆเจ•เจเจ‚เจก เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉœเจพเจ… 'เจคเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจœเจพเจชเจฆเจพ เจธเฉ€ (เจฎเฉˆเจ‚ เจ—เฉเจฐเจพเจซ 'เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ‡ เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ "xx" เจตเจœเฉ‹เจ‚ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ)เฅค EC2 เจตเจฟเฉฑเจš, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— 20 ms เจฒเฉฑเจ—เฉ‡เฅค Kubernetes เจตเจฟเฉฑเจš, เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ 100-200 ms เจคเฉฑเจ• เจตเจง เจ—เจˆเฅค

เจ…เจธเฉ€เจ‚ เจฐเจจเจŸเจพเจˆเจฎ เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเฉฐเจญเจพเจตเจฟเจค เจธเจผเฉฑเจ•เฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเจฒเจฆเฉ€ เจนเฉ€ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค JVM เจธเฉฐเจธเจ•เจฐเจฃ เจ‰เจนเฉ€ เจฐเจฟเจนเจพเฅค เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฎเฉเฉฑเจฆเฉ‡ เจตเฉ€ เจ…เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเจจ: เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ EC2 เจตเจฟเฉฑเจš เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจšเฉฑเจฒ เจฐเจนเฉ€ เจธเฉ€เฅค เจฒเฉ‹เจก? เจชเจฐ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจตเฉ€ เจ‰เฉฑเจš เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจฆเฉ‡เจ–เฉ€เฅค เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ‡ เจตเจฟเจฐเจพเจฎ เจตเฉ€ เจจเจพ-เจฎเจพเจคเจฐ เจธเจจเฅค

เจธเจพเจกเฉ‡ เจ‡เฉฑเจ• Kubernetes เจเจกเจฎเจฟเจจ เจจเฉ‡ เจชเฉเฉฑเจ›เจฟเจ† เจ•เจฟ เจ•เฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฌเจพเจนเจฐเฉ€ เจจเจฟเจฐเจญเจฐเจคเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ DNS เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจตเฉ€ เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉˆเจฆเจพ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจธเจจเฅค

เจชเจฐเจฟเจ•เจฒเจชเจจเจพ 1: DNS เจจเจพเจฎ เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ

เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ, เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• AWS Elasticsearch เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจคเจฟเฉฐเจจ เจ•เจพเจฒเจพเจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ elastic.spain.adevinta.comเจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฎเฉŒเจœเฉ‚เจฆ เจกเฉฑเจฌเจฟเจ†เจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจ–เฉ‹เจฒ เจนเฉˆเฅค, เจคเจพเจ‚ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เฉ€เจ เจ•เจฟ เจ•เฉ€ เจกเฉ‹เจฎเฉ‡เจจ เจ–เฉ‹เจœ เจธเฉฑเจšเจฎเฉเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉ‹เจ‚ DNS เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚:

[root@be-851c76f696-alf8z /]# while true; do dig "elastic.spain.adevinta.com" | grep time; sleep 2; done
;; Query time: 22 msec
;; Query time: 22 msec
;; Query time: 29 msec
;; Query time: 21 msec
;; Query time: 28 msec
;; Query time: 43 msec
;; Query time: 39 msec

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ EC2 เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจฎเจฟเจฒเจฆเฉ€เจ†เจ‚-เจœเฉเจฒเจฆเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚:

bash-4.4# while true; do dig "elastic.spain.adevinta.com" | grep time; sleep 2; done
;; Query time: 77 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec
;; Query time: 0 msec

เจ‡เจน เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจฒเฉเฉฑเจ•เจ…เฉฑเจช เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— 30 เจฎเจฟเจฒเฉ€เจฎเฉ€เจŸเจฐ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจฟเจ† เจ•เจฟ เจ‡เจฒเจพเจธเจŸเจฟเจ•เจธเจš เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ DNS เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจตเจงเฉ€ เจนเฉ‹เจˆ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจตเจฟเฉฑเจš เจฏเฉ‹เจ—เจฆเจพเจจ เจชเจพ เจฐเจฟเจนเจพ เจธเฉ€เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจฆเฉ‹ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจœเฉ€เจฌ เจธเฉ€:

  1. เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจนเจจ เจœเฉ‹ AWS เจธเจฐเฉ‹เจคเจพเจ‚ เจจเจพเจฒ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจฆเฉ‡ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ•เจพเจฐเจจ เจœเฉ‹ เจตเฉ€ เจนเฉ‹เจตเฉ‡, เจ‡เจน เจ‡เจธ เจ–เจพเจธ เจฎเจพเจฎเจฒเฉ‡ เจฒเจˆ เจ–เจพเจธ เจนเฉˆเฅค
  2. เจ…เจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ JVM เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ DNS เจ•เฉˆเจธเจผเจฟเฉฐเจ— เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš, TTL เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจนเจพเจฐเจกเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ $JAVA_HOME/jre/lib/security/java.security เจ…เจคเฉ‡ 10 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹: networkaddress.cache.ttl = 10เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, JVM เจจเฉ‚เฉฐ เจธเจพเจฐเฉ€เจ†เจ‚ DNS เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเฉ‚เฉฐ 10 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจ•เฉˆเจธเจผ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจชเจนเจฟเจฒเฉ€ เจชเจฐเจฟเจ•เจฒเจชเจจเจพ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ DNS เจฒเฉเฉฑเจ•เจ…เฉฑเจช เจจเฉ‚เฉฐ เจ…เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ•เจฟ เจ•เฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉฑเจฒ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจชเจนเจฟเจฒเจพเจ‚, เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจกเฉ‹เจฎเฉ‡เจจ เจจเจพเจฎ เจฆเฉ€ เจฌเจœเจพเจ เจ‡เจธเจฆเฉ‡ IP เจชเจคเฉ‡ เจฐเจพเจนเฉ€เจ‚ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ Elasticsearch เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เฉ€เจคเจพเฅค เจ‡เจธ เจฒเจˆ เจ‡เฉฑเจ• เจ•เฉ‹เจก เจคเจฌเจฆเฉ€เจฒเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจกเฉ‹เจฎเฉ‡เจจ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ IP เจชเจคเฉ‡ เจจเจพเจฒ เจฎเฉˆเจช เจ•เฉ€เจคเจพ เจนเฉˆเฅค /etc/hosts:

34.55.5.111 elastic.spain.adevinta.com

เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจนเฉเจฃ เจฒเจ—เจญเจ— เจคเฉเจฐเฉฐเจค เจ†เจชเจฃเจพ IP เจชเจคเจพ เจฎเจฟเจฒ เจ—เจฟเจ†เฅค เจ‡เจธ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ•เฉเจ เจธเฉเจงเจพเจฐ เจนเฉ‹เจ‡เจ†, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ‡ เจ—เจ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจชเฉฑเจงเจฐ เจฆเฉ‡ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉ€ เจธเฉ€เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ DNS เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจฒเฉฑเจ— เจฐเจฟเจนเจพ เจธเฉ€, เจชเจฐ เจ…เจธเจฒ เจ•เจพเจฐเจจ เจ…เจœเฉ‡ เจตเฉ€ เจธเจพเจกเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจจเจนเฉ€เจ‚ เจ†เจ‡เจ†เฅค

เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ•เจธ

เจ…เจธเฉ€เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉ‹เจ‚ เจ†เจตเจพเจœเจพเจˆ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆ tcpdumpเจจเฉˆเฉฑเจŸเจตเจฐเจ• 'เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ, เจ‡เจธเจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ:

[root@be-851c76f696-alf8z /]# tcpdump -leni any -w capture.pcap

เจซเจฟเจฐ เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจ•เฉˆเจชเจšเจฐ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเจพ (kubectl cp my-service:/capture.pcap capture.pcap) เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฒเจˆ เจตเจฐเจ…เจฐเจนเจพเจฐเจ•.

DNS เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจตเฉ€ เจธเจผเฉฑเจ•เฉ€ เจจเจนเฉ€เจ‚ เจธเฉ€ (เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡ เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจฎเฉˆเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจšเจฐเจšเจพ เจ•เจฐเจพเจ‚เจ—เจพ)เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‡ เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€, เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจ…เจœเฉ€เจฌ เจ—เฉฑเจฒเจพเจ‚ เจธเจจเฅค เจนเฉ‡เจ เจพเจ‚ เจ‡เฉฑเจ• เจ•เฉˆเจชเจšเจฐ เจฆเจพ เจธเจ•เฉเจฐเฉ€เจจเจธเจผเฉŒเจŸ เจนเฉˆ เจœเฉ‹ เจœเจตเจพเจฌ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

โ€œเจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจจเฉ‚เฉฐ 10 เจ—เฉเจฃเจพ เจตเจงเจพเจ‡เจ†โ€: เจ‡เจธ เจฒเจˆ เจ•เฉŒเจฃ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ?

เจชเฉˆเจ•เฉ‡เจŸ เจจเฉฐเจฌเจฐ เจชเจนเจฟเจฒเฉ‡ เจ•เจพเจฒเจฎ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ เจ—เจ เจนเจจเฅค เจธเจชเจธเจผเจŸเจคเจพ เจฒเจˆ, เจฎเฉˆเจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– TCP เจธเจŸเฉเจฐเฉ€เจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉฐเจ— เจตเจฟเฉฑเจš เจ‰เจœเจพเจ—เจฐ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

เจชเฉˆเจ•เฉ‡เจŸ 328 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจตเจพเจฒเฉ€ เจนเจฐเฉ€ เจงเจพเจฐเจพ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ (172.17.22.150) เจจเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ (172.17.36.147) เจจเจพเจฒ เจ‡เฉฑเจ• TCP เจ•เจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเจพเฅค เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจนเฉˆเจ‚เจกเจธเจผเฉ‡เจ• (328-330) เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจชเฉˆเจ•เฉ‡เจŸ 331 เจฒเจฟเจ†เจ‡เจ† HTTP GET /v1/.. โ€” เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจฒเจˆ เจ‡เฉฑเจ• เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€เฅค เจชเฉ‚เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš 1 เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ—เฉ‡เฅค

เจธเจฒเฉ‡เจŸเฉ€ เจธเจŸเฉเจฐเฉ€เจฎ (เจชเฉˆเจ•เฉ‡เจŸ 339 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ) เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‡ Elasticsearch เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• HTTP เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ€ เจนเฉˆ (เจ•เฉ‹เจˆ TCP เจนเฉˆเจ‚เจกเจธเจผเฉ‡เจ• เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ)เฅค เจ‡เจธ เจตเจฟเฉฑเจš 18 ms เจฒเฉฑเจ—เฉ‡เฅค

เจนเฉเจฃ เจคเฉฑเจ• เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฎเจพเจ‚ เจฒเจ—เจญเจ— เจ…เจจเฉเจฎเจพเจจเจฟเจค เจฆเฉ‡เจฐเฉ€ (เจ•เจฒเจพเจ‡เฉฐเจŸ เจคเฉ‹เจ‚ เจฎเจพเจชเจฃ 'เจคเฉ‡ 20-30 ms) เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจจเฉ€เจฒเจพ เจญเจพเจ— 86 ms เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เฉฑเจฅเฉ‡ เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ? เจชเฉˆเจ•เฉ‡เจŸ 333 เจฆเฉ‡ เจจเจพเจฒ, เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‡ เจ‡เฉฑเจ• HTTP GET เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ€ /latest/meta-data/iam/security-credentials, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ, เจ‰เจธเฉ‡ TCP เจ•เจจเฉˆเจ•เจธเจผเจจ เจ‰เฉฑเจคเฉ‡, เจ‡เฉฑเจ• เจนเฉ‹เจฐ GET เจฌเฉ‡เจจเจคเฉ€ /latest/meta-data/iam/security-credentials/arn:...

เจ…เจธเฉ€เจ‚ เจชเจพเจ‡เจ† เจ•เจฟ เจ‡เจน เจŸเจฐเฉ‡เจธ เจฆเฉŒเจฐเจพเจจ เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจธเฉ€เฅค เจธเจพเจกเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเฉฑเจš DNS เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจธเฉฑเจšเจฎเฉเฉฑเจš เจฅเฉ‹เฉœเฉเจนเจพ เจนเฉŒเจฒเฉ€ เจธเฉ€ (เจ‡เจธ เจตเจฐเจคเจพเจฐเฉ‡ เจฆเฉ€ เจตเจฟเจ†เจ–เจฟเจ† เจ•เจพเจซเจผเฉ€ เจฆเจฟเจฒเจšเจธเจช เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฒเฉ‡เจ– เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจพเจ‚เจ—เจพ)เฅค เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ เจตเฉฑเจกเฉ€ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ AWS เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ•เจพเจฒเจพเจ‚ เจ•เจพเจฐเจจ เจนเฉ‹เจˆ เจธเฉ€เฅค

เจชเจฐเจฟเจ•เจฒเจชเจจเจพ 2: AWS เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจ•เจพเจฒเจพเจ‚

เจฆเฉ‹เจตเฉ‡เจ‚ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเจจ AWS เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ APIเจธเจพเจกเฉ€ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ‡เจธ เจธเฉ‡เจตเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‡เจฒเจพเจธเจŸเจฟเจ•เจธเจš เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจฆเฉ‹เจตเฉ‡เจ‚ เจ•เจพเจฒเจพเจ‚ เจฎเฉเฉฑเจขเจฒเฉ€ เจ…เจงเจฟเจ•เจพเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจนเจฟเฉฑเจธเจพ เจนเจจเฅค เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจเจ•เจธเฉˆเจธ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจเจ‚เจกเจชเฉเจ†เจ‡เฉฐเจŸ เจ‰เจฆเจพเจนเจฐเจฃ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค IAM เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

/ # curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
arn:aws:iam::<account_id>:role/some_role

เจฆเฉ‚เจœเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ‡เจธ เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ เจ…เจธเจฅเจพเจˆ เจ…เจจเฉเจฎเจคเฉ€เจ†เจ‚ เจฒเจˆ เจฆเฉ‚เจœเฉ‡ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เจฐเจฆเฉ€ เจนเฉˆ:

/ # curl http://169.254.169.254/latest/meta-data/iam/security-credentials/arn:aws:iam::<account_id>:role/some_role`
{
    "Code" : "Success",
    "LastUpdated" : "2012-04-26T16:39:16Z",
    "Type" : "AWS-HMAC",
    "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
    "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    "Token" : "token",
    "Expiration" : "2017-05-17T15:09:54Z"
}

เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจนเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเฉ‡ เจชเฉˆเจ‚เจฆเฉ‡ เจนเจจ (เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจคเจพเจฐเฉ€เจ– เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€)เฅค Expiration). เจฎเจพเจกเจฒ เจธเจงเจพเจฐเจจ เจนเฉˆ: AWS เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจ•เจธเจฐ เจ…เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ˜เฉเฉฐเจฎเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ—เจพเจนเจ• เจจเจตเฉ‡เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจœเฉเจฐเจฎเจพเจจเฉ‡ เจจเฉ‚เฉฐ เจ†เจซเจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจ•เฉเจ เจฎเจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

AWS Java SDK เจจเฉ‚เฉฐ เจ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐเฉ€ เจฒเฉˆเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจชเจฐ เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค

GitHub 'เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจ†เจˆเฅค #1921เจ‰เจธเจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจนเฉ‹เจฐ เจ–เฉเจฆเจพเจˆ เจ•เจฟเจธ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ•เจฐเจจเฉ€ เจนเฉˆเฅค

AWS SDK เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจจเจตเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ‡เฉฑเจ• เจธเจฅเจฟเจคเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ:

  • เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจคเจพเจฐเฉ€เจ– (Expiration) เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ EXPIRATION_THRESHOLD, 15 เจฎเจฟเฉฐเจŸเจพเจ‚ เจคเฉฑเจ• เจนเจพเจฐเจก-เจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฐเฉ€เจจเจฟเจŠ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ–เจฐเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉเจฃ เจคเฉฑเจ• เจ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเจพเจ‚ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ REFRESH_THRESHOLD, 60 เจฎเจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจนเจพเจฐเจกเจ•เฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค

เจธเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจนเฉ‹ เจฐเจนเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจ…เจธเจฒ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจคเจพเจฐเฉ€เจ– เจฆเฉ‡เจ–เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจ…เจคเฉ‡ EC2 เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‹เจตเจพเจ‚ เจคเฉ‹เจ‚ เจ‰เจชเจฐเฉ‹เจ•เจค cURL เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจšเจฒเจพเจˆเจ†เจ‚เฅค เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจคเจพเจฐเฉ€เจ– เจฌเจนเฉเจค เจ›เฉ‹เจŸเฉ€ เจธเฉ€: เจฌเจฟเจฒเจ•เฉเจฒ 15 เจฎเจฟเฉฐเจŸเฅค

เจนเฉเจฃ เจธเจญ เจ•เฉเจ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจฟเจ†: เจชเจนเจฟเจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ, เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจ…เจธเจฅเจพเจˆ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจฐเจนเฉ€ เจธเฉ€เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจฎเจฟเจคเฉ€ 15 เจฎเจฟเฉฐเจŸเจพเจ‚ เจคเฉฑเจ• เจธเฉ€เจฎเจฟเจค เจธเฉ€, AWS SDK เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจฐเฉ€เจจเจฟเจŠ เจ•เจฐเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡ เจ‡เจน เจนเจฐ เจฌเฉ‡เจจเจคเฉ€ เจจเจพเจฒ เจนเฉ‹เจ‡เจ†เฅค

เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจตเฉˆเจงเจคเจพ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจ•เจฟเจ‰เจ‚ เจ˜เฉฑเจŸ เจ—เจˆ เจนเฉˆ?

AWS เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจธเฉ‡เจตเจพ EC2 เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเจพเจฒ เจจเจนเฉ€เจ‚เฅค เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€เฅค เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจตเจฐเจคเจฟเจ† เจ•เจฟเจ†เจฎ โ€” เจ‡เฉฑเจ• เจŸเฉ‚เจฒ เจœเฉ‹, เจนเจฐเฉ‡เจ• เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‹เจก 'เจคเฉ‡ เจเจœเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ (เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ) เจจเฉ‚เฉฐ เจชเฉŒเจกเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ IAM เจฐเฉ‹เจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน EC2 เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจนเฉ‹เจฃเฅค KIAM AWS เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ•เจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ AWS เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจธเฉ€เฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเจพเฅค

KIAM เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเจฎเจเจฆเจพเจฐเฉ€ เจฆเฉ€ เจ—เฉฑเจฒ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ”เจธเจค เจชเฉŒเจก เจœเฉ€เจตเจจ เจ•เจพเจฒ EC2 เจ‰เจฆเจพเจนเจฐเจฃ เจจเจพเจฒเฉ‹เจ‚ เจ›เฉ‹เจŸเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจกเจฟเจซเจพเจฒเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‰เจนเฉ€ 15 เจฎเจฟเฉฐเจŸ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆ.

เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เจนเจจเจพเจ‚ เจฆเฉ‹เจจเจพเจ‚ เจกเจฟเจซเจพเจฒเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจชเฉˆเจฆเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเจฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ 15 เจฎเจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค AWS Java SDK เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ‡ เจจเจตเฉ€เจจเฉ€เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธเจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจคเฉฑเจ• 15 เจฎเจฟเฉฐเจŸเจพเจ‚ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจธเจฎเจพเจ‚ เจฌเจพเจ•เฉ€ เจนเฉˆเฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ…เจธเจฅเจพเจˆ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจจเจตเจฟเจ†เจ‰เจฃ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš AWS API เจจเฉ‚เฉฐ เจ•เจˆ เจ•เจพเจฒเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจตเจฟเฉฑเจš เจ•เจพเจซเจผเฉ€ เจตเจพเจงเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ AWS Java SDK เจตเจฟเฉฑเจš เจ–เฉ‹เจœเจฟเจ† เจนเฉˆเฅค เจซเฉ€เจšเจฐ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจœเจผเจฟเจ•เจฐ เจนเฉˆเฅค

เจนเฉฑเจฒ เจธเฉŒเจ–เจพ เจจเจฟเจ•เจฒเจฟเจ†เฅค เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ KIAM เจจเฉ‚เฉฐ เจฒเฉฐเจฌเฉ‡ เจตเฉˆเจงเจคเจพ เจธเจฎเฉ‡เจ‚ เจตเจพเจฒเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจฒเจˆ เจฆเฉเจฌเจพเจฐเจพ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเจพเฅค เจ‡เฉฑเจ• เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจ‡เจน เจนเฉ‹ เจ—เจฟเจ†, เจคเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ AWS เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจธเฉ‡เจตเจพ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ…เฉฑเจ—เฉ‡ เจตเจงเจฃเฉ€เจ†เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจˆเจ†เจ‚, เจ…เจคเฉ‡ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ EC2 เจจเจพเจฒเฉ‹เจ‚ เจตเฉ€ เจ˜เฉฑเจŸ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ† เจ—เจˆเฅค

เจธเจฟเฉฑเจŸเจพ

เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจพเจกเฉ‡ เจคเจœเจฐเจฌเฉ‡ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจ†เจฎ เจธเจฐเฉ‹เจคเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจœเจพเจ‚ เจนเฉ‹เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจคเฉฑเจคเจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉฑเจ— เจจเจนเฉ€เจ‚ เจนเจจเฅค เจจเจพ เจนเฉ€ เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจ–เจพเจฎเฉ€เจ†เจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจŸ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ…เจ•เจธเจฐ เจธเจฟเจฐเจซเจผ เจ‡เจธ เจฒเจˆ เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจคเฉฑเจคเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เฉ‡ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ…เจธเฉ€เจ‚ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฆเฉ‡ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจจเจนเฉ€เจ‚ เจชเจพเจ‡เจ†, เจ‡เจน เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ‰เจน เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ, เจตเฉฑเจกเจพ เจธเจฟเจธเจŸเจฎ เจฌเจฃเจพเจ‰เจฃเจ—เฉ‡เฅค เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจœเจฟเฉฐเจจเฉ‡ เจœเจผเจฟเจ†เจฆเจพ เจคเฉฑเจค เจนเฉ‹เจฃเจ—เฉ‡, เจ—เจฒเจคเฉ€ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจ“เจจเฉ€ เจนเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจเจ‚เจŸเจฐเฉŒเจชเฉ€ เจ“เจจเฉ€ เจนเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจธเจพเจกเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‰เฉฑเจš เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ Kubernetes, KIAM, AWS Java SDK, เจœเจพเจ‚ เจธเจพเจกเฉ€ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจตเจฟเฉฑเจš เจฌเฉฑเจ—เจพเจ‚ เจœเจพเจ‚ เจฎเจพเฉœเฉ‡ เจซเฉˆเจธเจฒเจฟเจ†เจ‚ เจฆเจพ เจจเจคเฉ€เจœเจพ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ‡เจน เจฆเฉ‹ เจธเฉเจคเฉฐเจคเจฐ เจกเจฟเจซเจพเจฒเจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเจพ เจจเจคเฉ€เจœเจพ เจธเฉ€: เจ‡เฉฑเจ• KIAM เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจ‡เฉฑเจ• AWS Java SDK เจตเจฟเฉฑเจšเฅค เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจคเฉŒเจฐ 'เจคเฉ‡, เจฆเฉ‹เจตเฉ‡เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจธเจฎเจ เจ†เจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ: AWS Java SDK เจตเจฟเฉฑเจš เจธเจฐเจ—เจฐเจฎ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเจตเฉ€เจจเฉ€เจ•เจฐเจจ เจจเฉ€เจคเฉ€ เจ…เจคเฉ‡ KAIM เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเจพ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเจพ เจธเจฎเจพเจ‚เฅค เจชเจฐ เจœเจฆเฉ‹เจ‚ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจจเจคเฉ€เจœเฉ‡ เจ…เจฃเจชเจ›เจพเจคเฉ‡ เจฌเจฃ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจฆเฉ‹ เจธเฉเจคเฉฐเจคเจฐ เจ…เจคเฉ‡ เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจนเฉฑเจฒ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฟ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจ…เจฐเจฅ เจนเฉ‹เจตเฉ‡เฅค

เจ…เจจเฉเจตเจพเจฆเจ• เจคเฉ‹เจ‚ เจชเฉ€.เจเจธ

เจคเฉเจธเฉ€เจ‚ AWS IAM เจจเฉ‚เฉฐ Kubernetes เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ KIAM เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เจธ เจฒเฉ‡เจ– เจ‡เจธเจฆเฉ‡ เจธเจฟเจฐเจœเจฃเจนเจพเจฐเจพเจ‚ เจคเฉ‹เจ‚เฅค

เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจตเฉ€ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster