Cloudwatch API:複数のAWSアカウントを使用する方法

Proteeti Prova

アカウントのec2インスタンスのCPU使用率を取得しようとしています。私のコードは次のようなものです。

    def GetRegions():
        return array of regions

    def getEC2InstanceID(RegionName):
         cloudwatch = boto3.client('cloudwatch', region_name=RegionName)
         response = cloudwatch.get_metric_statistics(
         .
         .
         .)
        returns array of ec2instanceID

    def EC2_Average_Utilization(InstanceID, RegionName):
        returns avg cpuusage 


def main():
    regions= GetRegions()
    for i in range(len(regions)):
        print(regions[i])
        instance_id = getEC2InstanceID(regions[i])
        print(instance_id)  # prints all the instances if there is any
        if (type(instance_id)==list):
            for j in range(len(instance_id)):
                print(instance_id[j])
                print ("For InstanceID "+ instance_id[j] +  ":")
                EC2_Average_Utilization(instance_id[j], regions[i])

このコードは、1つのアカウントですべてのリージョンに対して完全に実行されます。複数のAWSアカウントに対して同じことをしたい場合、手順はどうなりますか?

nb .aws / credentialsのすべてのアカウントで複数のプロファイルを作成して.aws / configを設定するのを見てきましたが、コードでリージョンを生成しているので、それらを指定したくありません。

bimsapi

boto3Sessionオブジェクト、「セキュリティトークンサービス(STS)」、およびassume_roleアカウントとリージョンの組み合わせごとの呼び出しを使用する必要があります。効果は名前付きプロファイルと同じです。APIメソッド(EC2、CloudWatchなど)を呼び出すための適切な権限を持つ各アカウントのロールが必要です。また、ターゲットロールには、元のアカウントの資格情報に戻る信頼関係が必要です。

sts = boto3.client('sts')

#this is called with your default credentials. Target roles need to trust this identity
creds = sts.assume_role(RoleArn='...', RoleSessionName='...')

# set up a session w/ the temporary credentials
session = boto3.Session(
    aws_access_key_id=creds['Credentials']['AccessKeyId'],
    aws_secret_access_key=creds['Credentials']['SecretAccessKey'],
    aws_session_token=creds['Credentials']['SessionToken']
    region_name='...')

# all subsequent clients/resources should be instantiated from the session object
cloudwatch = session.client('cloudwatch')

お役に立てれば。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sts.html#STS.Client.assume_roleを参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AWS Cloudwatch Monitoring

分類Dev

AWS Cloudwatch Monitoring

分類Dev

AWS-CloudWatch:InvalidSequenceTokenException

分類Dev

Python(boto3)を使用したCloudWatchアラームアクションで引数として変数を使用してAWSサブアカウントのアカウントIDを渡すにはどうすればよいですか?

分類Dev

AWS Cloudwatch get names of alarms

分類Dev

AWS CloudWatch LogsInsightsアラーム

分類Dev

CloudWatchダッシュボードデータをエクスポートして、AWSアカウントを持たない人と共有する方法。

分類Dev

CognitoIdentityのCloudWatchイベント

分類Dev

AWSログの宛先にcloudwatchイベントを送信できるアカウントはいくつありますか?

分類Dev

redshiftquerydurationのcloudwatchアラーム

分類Dev

Cloudtrail から Cloudwatch へ他のアカウントへ

分類Dev

Is there a way to AWS RDS postgres.log into CloudWatch?

分類Dev

Creating CloudWatch rule with AWS CloudFormation not linking to role

分類Dev

Delay in AWS Cloudwatch Alarm state change

分類Dev

CloudwatchのAmazonSagemakerの価格

分類Dev

AWSGatewayとCloudWatchのログ

分類Dev

CloudWatch putMetric APIを使用して、AWS QLDBテーブルからCloudwatchにコンテンツ全体を公開するためのツールはありますか?

分類Dev

複数のSQSキューにCloudWatchアラームを作成する

分類Dev

AWS Cloudwatchログクライアントに認証情報を指定する

分類Dev

AWS CloudWatch-100%のCPU使用率

分類Dev

AWSLambdaを使用してCloudWatchメトリクスをカスタム化する方法

分類Dev

ispresent()関数を使用してCloudWatch LogInsightsをフィルタリングする方法

分類Dev

Cloudwatchの継続的なアラート

分類Dev

CloudWatchをVPCエンドポイントで使用する(PrivateLink)

分類Dev

Cloudwatchを使用してAWSステップ関数に定数値を渡す方法

分類Dev

AWS-SDKを使用してCloudWatchにデータを送信する

分類Dev

Cloudwatchエージェントがログをcloudwatchに送信しない

分類Dev

AWSAutoscalingとSQSを使用したCloudWatch

分類Dev

CloudWatchのモニタリングと通知

Related 関連記事

  1. 1

    AWS Cloudwatch Monitoring

  2. 2

    AWS Cloudwatch Monitoring

  3. 3

    AWS-CloudWatch:InvalidSequenceTokenException

  4. 4

    Python(boto3)を使用したCloudWatchアラームアクションで引数として変数を使用してAWSサブアカウントのアカウントIDを渡すにはどうすればよいですか?

  5. 5

    AWS Cloudwatch get names of alarms

  6. 6

    AWS CloudWatch LogsInsightsアラーム

  7. 7

    CloudWatchダッシュボードデータをエクスポートして、AWSアカウントを持たない人と共有する方法。

  8. 8

    CognitoIdentityのCloudWatchイベント

  9. 9

    AWSログの宛先にcloudwatchイベントを送信できるアカウントはいくつありますか?

  10. 10

    redshiftquerydurationのcloudwatchアラーム

  11. 11

    Cloudtrail から Cloudwatch へ他のアカウントへ

  12. 12

    Is there a way to AWS RDS postgres.log into CloudWatch?

  13. 13

    Creating CloudWatch rule with AWS CloudFormation not linking to role

  14. 14

    Delay in AWS Cloudwatch Alarm state change

  15. 15

    CloudwatchのAmazonSagemakerの価格

  16. 16

    AWSGatewayとCloudWatchのログ

  17. 17

    CloudWatch putMetric APIを使用して、AWS QLDBテーブルからCloudwatchにコンテンツ全体を公開するためのツールはありますか?

  18. 18

    複数のSQSキューにCloudWatchアラームを作成する

  19. 19

    AWS Cloudwatchログクライアントに認証情報を指定する

  20. 20

    AWS CloudWatch-100%のCPU使用率

  21. 21

    AWSLambdaを使用してCloudWatchメトリクスをカスタム化する方法

  22. 22

    ispresent()関数を使用してCloudWatch LogInsightsをフィルタリングする方法

  23. 23

    Cloudwatchの継続的なアラート

  24. 24

    CloudWatchをVPCエンドポイントで使用する(PrivateLink)

  25. 25

    Cloudwatchを使用してAWSステップ関数に定数値を渡す方法

  26. 26

    AWS-SDKを使用してCloudWatchにデータを送信する

  27. 27

    Cloudwatchエージェントがログをcloudwatchに送信しない

  28. 28

    AWSAutoscalingとSQSを使用したCloudWatch

  29. 29

    CloudWatchのモニタリングと通知

ホットタグ

アーカイブ