AWS: Trusted Advisor обзор

Thank you for reading this post, don't forget to subscribe!

AWS Trusted Advisor – инстру­мент от AWS, поз­во­ля­ю­щий про­ве­рить акка­унт и исполь­зу­е­мые в нём ресур­сы на пред­мет опти­ми­за­ции рас­хо­дов, про­из­во­ди­тель­но­сти, без­опас­но­сти и отказоустойчивости.

При этом доступ­ные вам реко­мен­да­ции зави­сят от типа Support Plan ваше­го акка­ун­та. К сча­стью, у нас Premium, так что есть воз­мож­ность пока­зать все дета­ли Trusted Advisor.

Общая доку­мен­та­ция тут – Про­вер­ки AWS Trusted Advisor на осно­ве реко­мен­да­ций, и доку­мен­та­ция по кате­го­ри­ям и про­вер­кам в каж­дой из них – AWS Trusted Advisor check reference.

При­сту­пим.

Пере­хо­дим в AWS Console > Trusted Adisor, попа­да­ем в даш­борд, где собра­ны основ­ные рекомендации:

Тут:

  • Action recommended: Trusted Advisor счи­та­ет, что тре­бу­ет­ся вме­ша­тель­ство и настрой­ка како­го-то сер­ви­са. напри­мер, при обна­ру­же­нии IAM, кото­рая тре­бу­ет немед­лен­но­го фикса
  • Investigation recommended: Trusted Advisor пред­по­ла­га­ет, что тре­бу­ет­ся вме­ша­тель­ство и настрой­ка како­го-то сер­ви­са, напри­мер – дости­же­ние кво­ты каким-то ресурсом
  • Excluded items: исклю­че­ния из проверок

А с левой сто­ро­ны видим доступ­ные кате­го­рии про­ве­рок – опти­ми­за­ция рас­хо­дов, про­из­во­ди­тель­ность, без­опас­ность и так далее.

Cost optimization

Нач­нём с Cost optimization, как наи­бо­лее  инте­рес­ная сей­час для тема.

Пере­хо­дим в кате­го­рию, и видим спи­сок рекомендаций:

К при­ме­ру, рас­кро­ем реко­мен­да­ции по Amazon RDS Idle DB Instances:

И видим пач­ку про­ста­и­ва­ю­щих без нагруз­ки и даже без под­клю­че­ний сер­ве­ров RDS.

Откро­ем один их них – про­ве­рим что там:

В самом деле – сер­вер про­ста­и­ва­ет, а зна­чит есть повод его или уда­лить, или умень­шить тип инстанса.

Ана­ло­гич­ная про­вер­ка для EC2:

Performance

Как понят­но из назва­ния – тут собра­ны реко­мен­да­ции по про­из­во­ди­тель­но­сти сервисов:

И рас­смот­рим отсю­да напри­мер Large Number of EC2 Security Group Rules Applied to an Instance – вполне себе реаль­ная проблема:

Security

Посмот­рим, что Trusted Advisor уме­ет в Security:

Ожи­да­е­мо – пре­ду­пре­жде­ние о том, что у нас не ротей­тят­ся IAM-клю­чи, и это проблема.

Так­же, весь­ма зани­ма­тель­ным ока­зал­ся блок Security Groups – Unrestricted Access:

И в самом деле – в SecurityGroup (SG) открыт пол­ный доступ в мир:

 

Как найти ресурс, к которому подключена AWS SecurityGroup?

Копи­ру­ем ID груп­пы, и пере­хо­дим в Network Interfaces, где по SG ID нахо­дим интерфейс:

Спра­ва видим Instance ID, к кото­ро­му под­клю­чен ENI (AWS Elastic network Interface) и, соот­вет­ствен­но, сама SecurityGroup.

В слу­чае ошиб­ки “No matching network interfaces found” – груп­па не под­клю­че­на ни к како­му инте­ф­рей­су, и её мож­но удалять.

Полез­ным может ока­зать­ся и про­вер­ка сооб­ще­ний про LoadBalancer Listeners, кото­рые не исполь­зу­ют SSL:

Fault tolerance

Тут, ожи­да­е­мо, резуль­та­ты про­ве­рок на отказоустойчивость:

К при­ме­ру, у нас есть сер­ве­ра баз дан­ных, кото­рые рас­по­ла­га­ют­ся в одной зоне доступ­но­сти, о чём и пре­ду­пре­жда­ет Trusted Advisor:

Service limits

И послед­няя кате­го­рия тут – Service limits, где сооб­ща­ет­ся о том, что какой-либо из сер­ви­сов уже достиг лими­та, или ско­ро его достигнет:

В слу­чае с VPC – теперь мы пре­ду­пре­же­ны, что в us-east-1 мы не смо­жем создать новые VPC:

Preferences

В Настрой­ках мож­но настро­ить отправ­ку писем с резуль­та­та­ми послед­них проверок:

 

Кро­ме того, мож­но настро­ить алер­ты CloudWatch, и отправ­лять сооб­ще­ния в, напри­мер, Slack