簡體   English   中英

有沒有辦法在 CDK 上重啟 RDS 和 EC2 實例?

[英]Is there a way to restart RDS and EC2 instances on CDK?

我最近開始使用 CDK,但我的編程經驗很少。

我設法設置了一個包含基本 EC2 實例、一個具有 2 個子網的 VPC 和一個 RDS 實例的環境。 我還為 RDS 數據庫的 CPU 使用情況創建了一些 CloudWatch 警報,例如:

      const CPUUsage = new cw.Alarm(this, 'CPUUsage', {
        metric: cpuUsage, //imported from another stack where I created the DB
        threshold: 4,
        evaluationPeriods: 2,
        alarmName: 'DB CPU Usage',
      });

我想創建一個警報,如果實例的 CPU(EC2 的一個警報和 RDS 的另一個警報)超過 %(在本例中為 4),它將重新啟動。

到目前為止,我還沒有找到任何可以重新啟動 RDS 實例的東西,而對於 EC2 實例,我只發現了不太適合我需要的InitCommand 類,因為我不想在代碼中使用 shell 命令(如果沒有其他方法,我猜它必須這樣做)。

預先感謝您提供的任何幫助!

是的,如果您提供的指標是內置的每個實例指標,或者任何具有包含有效實例 ID 的InstanceId維度的指標,您可以使用EC2Action警報操作:

alarm.addAlarmAction(
  new actions.Ec2Action(actions.Ec2InstanceAction.REBOOT),
);

請參閱https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html

CDK 不會直接在雲中做任何事情。 CDK 庫唯一要做的就是合成 Cloudformation 模板。 當您使用cdk deploy時,它會將合成的模板發送到 Cloudformation 以運行。

如果您需要在部署期間或之后實現功能,最好結合使用 CodePipeline 和自定義資源來檢查某些情況並采取相應措施。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM