質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1798閲覧

【CentOS】PythonスクリプトをAWS/EC2に通したい

zazabi

総合スコア24

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/04/10 06:34

######【環境】
・対象サーバ(AWS EC2)
Windows2019

・zabbixサーバ
CentOS7.4
導入済パッケージ
epel-release.noarch 7-11
python.x86_64 2.7.5-58.el7
python-boto3
######【主題】
下記のPythonスクリプトを実行するコマンドのエラーの原因を解決したい

参考にしていたサイト
https://aws.typepad.com/aws_partner_sa/2016/06/opsjaws-try-ops-with-zabbix-1.html
この質問の親の質問ページ
https://teratail.com/questions/252384

Python

1python cloudwatch_zabbix.py -r <リージョン名> -a <アクセスキー> -s <シークレットキー> -i IDENTITY -H <ホスト名> -t 1 -p <ポート番号> -z <zabbixサーバのIPアドレス> ec2 2 3Traceback (most recent call last): 4 File "cloudwatch_zabbix.py", line 257, in <module> 5 aws_zabbix.show_metriclist_lld() 6 File "cloudwatch_zabbix.py", line 218, in show_metriclist_lld 7 metric_list = self.__get_metric_list() 8 File "cloudwatch_zabbix.py", line 59, in __get_metric_list 9 'Value': ('USD' if self.service == "billing" else self.identity) 10 File "/usr/lib/fence-agents/bundled/botocore/client.py", line 317, in _api_call 11 return self._make_api_call(operation_name, kwargs) 12 File "/usr/lib/fence-agents/bundled/botocore/client.py", line 602, in _make_api_call 13 operation_model, request_dict) 14 File "/usr/lib/fence-agents/bundled/botocore/endpoint.py", line 143, in make_request 15 return self._send_request(request_dict, operation_model) 16 File "/usr/lib/fence-agents/bundled/botocore/endpoint.py", line 172, in _send_request 17 success_response, exception): 18 File "/usr/lib/fence-agents/bundled/botocore/endpoint.py", line 265, in _needs_retry 19 caught_exception=caught_exception, request_dict=request_dict) 20 File "/usr/lib/fence-agents/bundled/botocore/hooks.py", line 227, in emit 21 return self._emit(event_name, kwargs) 22 File "/usr/lib/fence-agents/bundled/botocore/hooks.py", line 210, in _emit 23 response = handler(**kwargs) 24 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 183, in __call__ 25 if self._checker(attempts, response, caught_exception): 26 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 251, in __call__ 27 caught_exception) 28 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 277, in _should_retry 29 return self._checker(attempt_number, response, caught_exception) 30 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 317, in __call__ 31 caught_exception) 32 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 223, in __call__ 33 attempt_number, caught_exception) 34 File "/usr/lib/fence-agents/bundled/botocore/retryhandler.py", line 359, in _check_caught_exception 35 raise caught_exception 36botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL: "https://monitoring.<リージョン名>.amazonaws.com/"

不足情報がありましたら追記致しますので、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2020/04/10 07:31

https://monitoring.<リージョン名>.amazonaws.com/ 上記のURLにアクセスできないのではないのですか?スクリプトが悪いと考えた理由はなんでしょうか?
yu_1985

2020/04/10 07:34

プロキシについて記載があるのですが、このインスタンスはもしかしてプライベート > ユーザー自体に権限がないかもしれません とありますが、まずはそこを確認されてはいかがでしょう。 また、AWS上に構築しているのならアクセスキーを使わずにEC2インスタンスにIAMロールを割当てて行うことをお勧めします。
zazabi

2020/04/10 07:57

コメントありがとうございます。 t_obara さん >https://monitoring.<リージョン名>.amazonaws.com/ >上記のURLにアクセスできないのではないのですか?スクリプトが悪いと考えた理由はなんでしょうか? 申し訳ありません。スクリプト悪いわけではなく、対象サーバとzabbixサーバと通信する際に何らかが原因で出来ていないと考えています。 yu_1985 さん >プロキシについて記載があるのですが、このインスタンスはもしかしてプライベート プライベートIPアドレスがあるのでプライベートだと思います。 違っていたらすいません。 >> ユーザー自体に権限がないかもしれません >とありますが、まずはそこを確認されてはいかがでしょう。 >また、AWS上に構築しているのならアクセスキーを使わずにEC2インスタンスにIAMロールを割当てて行うことをお勧めします。 該当のEC2のIAMロールで割当てユーザーに「CloudWatchReadOnlyAccess」をつけています。 ですが、zabbixサーバでPythonスクリプトの実行権限を持つユーザーの名前と一致していないので新しくユーザーを作成してみます。
guest

回答1

0

自己解決

解決しました。
色々試していたので、疑わしい設定だけ箇条書きします。
・セキュリティグループ
・ポート(対象のサーバは初期設定ですべて拒否設定しているため、開ける必要がある)
・EC2の場合、IAMロールで「権限」に「CloudWatchReadOnlyAccess」を設定する。
・RDSは「IAM ロールの管理」に「CloudWatchReadOnlyAccess」または「CloudWatchReadOnlyAccess」権限を持つユーザーを設定。
※RDSは未検証

コメントしていただいた方々、ありがとうございました。

投稿2020/04/22 01:52

zazabi

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問