[AWS] 오토스케일링 PHP SDK 제어 및 현황 확인 > AWS.클라우드
AWS.클라우드

[AWS] 오토스케일링 PHP SDK 제어 및 현황 확인

조회 209회 댓글 0건

현재 AWS의 오토스케일링 현황을 볼 수 있는 SDK 입니다.

필요에 따라서 문제가 있을것으로 추정 되면 종료 시켜서 자동으로 새로 생성 되게 할 수 있습니다.


3a431b4e617b1cc09be8a09a9296fb78_1699530338_0392.png
 


원하는용량 - 이것은 한번에 생성 시킬 인스턴스를 말합니다. 보통 1을 지정하기도 하는데 이보다는 부하가 있기 때문에 생성 시키는 것으로 최소 2이상을 주는 것이 더 좋겠습니다.


아래 클래스는 오토스케일링 PHP SDK 현황 확인을 하는 것이며 아래쪽에 있는것은 종료 시키는 것입니다.



  class AwsAutoScaling
  {
    private $client;

    function __construct( $aAwsProfile ) {
      $client     = new AutoScalingClient($aAwsProfile);
      $this->client = $client;
    }


    function describeAutoScalingGroups( $aGroupNames=array() )
    {
      $client     = $this->client;
      $result     = $client->describeAutoScalingGroups();
      foreach ($result['AutoScalingGroups'] as $aGroup) {
        extract($aGroup);
        echo "그룹명: $AutoScalingGroupName   최소: $MinSize   최대: $MaxSize  한번에생성되는갯수:$DesiredCapacity " . PHP_EOL;

        foreach ($aGroup['Instances'] as $instance) {
          if ( !isset($instance["HealthStatus"]) ) $instance["HealthStatus"] = '';
          extract($instance);
          echo "  - 인스턴스Id: $InstanceId - LifecycleState: $LifecycleState - HealthStatus: $HealthStatus" . PHP_EOL;
          echo "\n\n";
        }
      }
    }
  }

  # 현재 오토스케일링 상태보기
  $oAutoScaling   = new AwsAutoScaling($aAwsProfile);
  $oAutoScaling->describeAutoScalingGroups();


  # 아래는 오토스케일링에 있는 인스턴스를 Unhealthy
  $instance   = 'i-01051abaea3d474e6';
  $client     = new AutoScalingClient($aAwsProfile);

  # 헬스상태를 변경 Healthy, Unhealthy - AWS에서는 대상에서 볼 수 있다.
  #   ShouldRespectGracePeriod: 호출 유예기간을 따르겠냐?
  $result   = $client->setInstanceHealth([
    'HealthStatus' => 'Unhealthy',  // REQUIRED
    'InstanceId' => $instance,      // REQUIRED
    'ShouldRespectGracePeriod' => true ,
  ]);
  print_r($result);

  # EC2 - 해당 인스턴스를 '종료'
  #   ShouldDecrementDesiredCapacity: 원하는 용량으로 감소 시킬거냐. 디폴트값은 true
  $result = $client->terminateInstanceInAutoScalingGroup([
    'InstanceId' => $instance, // REQUIRED
    'ShouldDecrementDesiredCapacity' => true ,
  ]);
  print_r($result);

 


* 같이 참고하면 좋은것

  - [AWS] 어플리케이션 로드밸런서 PHP SDK > AWS.클라우드  

    위에서 프로파일 부분은 위 링크에 있는것을 참고 하면 됩니다.


  - [AWS] 쉬운 EC2 생성을 위한 시작템플릿 작성하기 > AWS.클라우드  

  - [AWS] 오토스케일링 설정방법 - EC2 자동삭제/생성 > AWS.클라우드 



  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 50건 1 페이지
  • profile_image 무료로 사용하는 RDB DBMS 에서 가장 많이 사용하는 MySQL를 사용하는 오로라 mysql 설정 방법에 대해 정리 한것입니다.오로라 RDS-MySQL 데이터베이스 생성 클라우드 환경에 맞게 AWS에서 변경한 상품이다. 오로라가 아닌 MySQL 상품도 선택을 할 수 있는데 비용을 확인하고 나면 그럴 생각이 없어질 것이다. 그리고 AWS에 맞게 변경된 제품이기 때문에 더 좋다고 볼 수 있다.   ▷ 데이터베이스 생성 방식 선택 표준생성 ▷ …
  • profile_image 쓰기 전용 인스턴스를 상위 등급으로 변경하여 성능을 높이고자 할 때 어떻게 해야 하는지에 대한 것입니다.라이더 인스턴스 높은 성능의 인스턴스로 변경하기 먼저 알고 넘어가야 할것은 라이더 인스턴스 변경하면 변경하는 동안 라이더가 없기에 AWS RDS에서는 리더 인스턴스 하나를 라이더로 변경한 후 작업이 진행 됩니다. 그렇기 때문에 모두 같은 성능의 인스턴스면 문제가 되지 않겠지만 만약 다르면 성능이 높은 인스턴스를 '장애조치 우선순위' 값…
  • profile_image 제목은 이렇게 달아 달었지만 먼저 AWS 오로라에서는 MySQL DBMS 구조에서 흔하게 볼 수 있는 마스터 슬레이브 구조가 아닙니다.생성한 다음 아래 명령을 내려 보면 다른 방법을 사용함을 알 수 있습니다.   mysql> show master status \G  Empty set (0.00 sec)  mysql> show slave status \G   Empty set, 1 warning (0.00 sec)  mysql> …
  • profile_image AWS Elasticache는 Amazon Web Services(AWS)에서 제공하는 완전 관리형 인메모리 데이터 스토어 및 캐시 서비스입니다. 이 서비스는 레디스와 Memcached를 지원하며, 이를 통해 고성능, 스케일링 가능한 및 비용 효율적인 인메모리 캐시 솔루션을 제공합니다.  Redis는 RDB가 아닙니다.RDB에서 IO를 줄이거나 슬로우쿼리가 약간 있거나 많은 게시물이 있을때 키 밸류의 인메모리 디비를 사용하면 잇점이 있기 때문에…
  • profile_image 오로라 클러스터 사용시 인스턴스를 추가, 삭제 하는 PHP SDK 예제 입니다.비교적 간단한 형태 이며 AWS 키는 본인의 환경에 맞게 변경 하면 됩니다.use Aws\Rds\RdsClient;class PabburiAws {  function profile() {    $aAwsConfig     = [      'region'      => AWS_REGION,      'version'     =>'latest',      'c…
  • profile_image 원격의 서버에 업그레이드를 해야 하는데 1대씩 들어가서 관리하는 방법도 있겠고 오토스케일링에 의해서 EC2가 자동으로 생성된것도 있고 할때 전체 서버에 명령을 내리기 위한 관리 프로그램입니다. AWS SSM(Systems Manager) IP로 접속하는 방식이 아닌 EC2 인스턴스ID를 이용해서 접속을 하는 방식입니다. 접속하게 되면 유저는 ssm-user로 표시되며 sudo -i 명령으로 root 유저로 전환이 가능 합니다. 사용하기 위해선 …