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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

1737閲覧

EC2(プライベートIP)からRDS(mysql)へ接続が出来ません。

A.T

総合スコア7

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2021/12/08 10:02

<通信要件>
イメージ説明

<ネットワーク構成図>
イメージ説明

<現在の環境>
・踏み台サーバ(EC2:パブリックIP Amazon Linux2)
・Web/APサーバ(EC2:プライベートIP Amazon Linux2)
アベイラビリティゾーンCのWeb/APサーバはまだ未作成です。
・RDSサーバ(mysql-5.6.40を使用するようにと指定あり)

図のように踏み台サーバ(EC2)→Web/AP(AZ-A)→RDSへと接続したいのですが、
Web/APサーバ上でmysqlのインストールをしようとしたところ、下のようなエラーが出てしまいました。

[ec2-user@ip-10-0-20-105 ~]$ yum install mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz Loaded plugins: extras_suggestions, langpacks, priorities, update-motd You need to be root to perform this command. [ec2-user@ip-10-0-20-105 ~]$

yumでインストール出来ないのでローカルから指定されていたmysql(mysql-5.6.40-linux-glibc2.12-x86_64)をWeb/APサーバ上に転送して展開しました。

[ec2-user@ip-10-0-20-105 ~]$ ls -la total 320880 drwx------ 4 ec2-user ec2-user 188 Dec 7 14:17 . drwxr-xr-x 3 root root 22 Dec 2 18:12 .. -rw------- 1 ec2-user ec2-user 2184 Dec 7 20:00 .bash_history -rw-r--r-- 1 ec2-user ec2-user 18 Jul 15 2020 .bash_logout -rw-r--r-- 1 ec2-user ec2-user 193 Jul 15 2020 .bash_profile -rw-r--r-- 1 ec2-user ec2-user 231 Jul 15 2020 .bashrc drwxrwxr-x 13 ec2-user ec2-user 191 Dec 7 14:17 mysql-5.6.40-linux-glibc2.12-x86_64 -rwxrw-r-- 1 ec2-user ec2-user 328563044 Dec 7 13:49 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz drwx------ 2 ec2-user ec2-user 48 Dec 3 12:11 .ssh [ec2-user@ip-10-0-20-105 ~]$

パッケージ展開後、インストールしようとして以下コマンドを実行したのですが、
インストール出来ず、

[ec2-user@ip-10-0-20-105 ~]$ yum install mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz Loaded plugins: extras_suggestions, langpacks, priorities, update-motd You need to be root to perform this command. [ec2-user@ip-10-0-20-105 ~]$

エラーメッセージを検索して調べたところ、以下3つの可能性が浮上したため、それぞれ実行してみたのですが、

「DNSホスト名」と「DNS解決」を有効化
VPCエンドポイント(S3用)を設定
VPCエンドポイントのポリシーを変更
[Amazon Linux2の場合]の項目にある内容をそのままコピー。

結果は以下の通り、改善が見られないままでした。

[ec2-user@ip-10-0-20-105 ~]$ yum install mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz Loaded plugins: extras_suggestions, langpacks, priorities, update-motd You need to be root to perform this command. [ec2-user@ip-10-0-20-105 ~]$

一体何が原因なのか見当が付かない状態です。
また、Web/APサーバ(EC2:プライベートIP Amazon Linux2)に入って以下のコマンドを実行して接続する。という方法に問題はないのでしょうか?
プライベートIPだとこの方法はダメなのでしょうか??

sudo mysql -h database-1.cufxu2ks8xsj.ap-northeast-1.rds.amazonaws.com -P 3306 -u admin -p

八方塞がりのため、些細なことでも助言を頂けると大変助かります。
宜しくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

エラーメッセージをどう検索したのかわかりませんが、下記を検索すれば答えが一つ出るはずです。

You need to be root to perform this command.

yumでインストールを実行するには通常root権限が必要です。コマンド自体失敗しているのは権限不足です。
また、tarのファイルをyumで指定することはやったことないのでわかりませんができないと思います。rpmならともかく。

参考記事はどれもエラーメッセージが異なるので別の現象です。
まずは目の前のエラーメッセージをきちんと読みましょう。

今回はRDSに確認のためアクセスできるMySQLクライアントが欲しいだけだと思うので、
バージョンは特に気にせず

bash

1sudo yum intall mysql

でMySQLのクライアント(実際にはMariaDBのクライアントですが)を入れれば十分ではないでしょうか。
わざわざ5.6のクライアントを入れる理由はないと思います。

投稿2021/12/08 10:24

yu_1985

総合スコア7447

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

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

A.T

2021/12/08 11:36 編集

回答ありがとうございます。検索してみました。 sudo su -でrootユーザーに切り替え、実行してみたのですが、以下のメッセージ(Loaded plugins:~)が残ったままです。 これは「(コマンドの)追加情報を求める、パッケージの情報? そのようなコマンドはありません。 /bin/yum --helpで適切なコマンドを探して使用してください。」 というようなことを言っているのでしょうか。 この2行のエラーメッセージを検索したところ、➀「DNSホスト名」と「DNS解決」を有効化。➁VPCエンドポイント(S3用)を設定。➂VPCエンドポイントのポリシーを変更。のサイトが再び出てきてしまいました。 このコマンドでは情報不足ということなのでしょうか? [root@ip-10-0-20-105 ~]# sudo yum intall mysql Loaded plugins: extras_suggestions, langpacks, priorities, update-motd No such command: intall. Please use /bin/yum --help [root@ip-10-0-20-105 ~]#
maisumakun

2021/12/08 11:53

> No such command: intall 単なるスペルミスです(installのsが抜けています)。
A.T

2021/12/08 12:11

>単なるスペルミスです(installのsが抜けています)。 ⇒失礼しました。今一度やり直してみます。
A.T

2021/12/08 12:16

RDSを停止してしまっており、(スナップショットを取っていなかったせいか)停止に時間がかかっているようです。 明日朝にもう一度やり直してみます。ご指摘ありがとうございます。
yu_1985

2021/12/08 17:44

rootユーザでの作業はなるべく避けてsudoで実行することをお勧めします。 検索と言いますが、検索する前にちゃんと内容を読んでみてください。
A.T

2021/12/09 05:45

はい。昨日はありがとうございます。 実行してみたところ、ミラーリスト?リポジトリ?の不備が原因のようなメッセージが出力されましたので、そちらの線で当たってみます。 [ec2-user@ip-10-0-20-105 yum.repos.d]$ sudo yum install mysql Loaded plugins: extras_suggestions, langpacks, priorities, update-motd Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/core/latest/x86_64/mirror.list error was 14: HTTPS Error 403 - Forbidden Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/extras/docker/latest/x86_64/mirror.list error was 14: HTTPS Error 403 - Forbidden Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/extras/kernel-5.10/latest/x86_64/mirror.list error was 14: HTTPS Error 403 - Forbidden Resolving Dependencies --> Running transaction check ---> Package mariadb.x86_64 1:5.5.68-1.amzn2 will be installed --> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.68-1.amzn2 for package: 1:mariadb-5.5.68-1.amzn2.x86_64 --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.68-1.amzn2 will be installed --> Finished Dependency Resolution Dependencies Resolved
yu_1985

2021/12/09 06:05

最終的に普通にうまく行ってないですか?
A.T

2021/12/09 07:18

Dependencies Resolved ======================================================================================================= Package Arch Version Repository Size ======================================================================================================= Installing: mariadb x86_64 1:5.5.68-1.amzn2 amzn2-core 8.8 M Installing for dependencies: mariadb-libs x86_64 1:5.5.68-1.amzn2 amzn2-core 766 k Transaction Summary ======================================================================================================= Install 1 Package (+1 Dependent package) Total download size: 9.6 M Installed size: 53 M Is this ok [y/d/N]: y Downloading packages: One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true Cannot find a valid baseurl for repo: amzn2-core/2/x86_64
A.T

2021/12/09 07:25

先ほどmysqlへの接続を試してみたのですが、 [ec2-user@ip-10-0-20-105 ~]$ mysql -h database-1 -P 3306 -u admin -p -bash: mysql: command not found [ec2-user@ip-10-0-20-105 ~]$ これからみるにmysqlは使えていないようです。
yu_1985

2021/12/09 07:41

VPCエンドポイントを作ったようですが、ポリシーをフルアクセスにしたらどうなりますか また、エンドポイントはGatewayのほうになってますか エンドポイントがなくてもNAT Gatewayがあるので通信はできそうな気はしますが
A.T

2021/12/09 09:57

>エンドポイントはGatewayのほうになってますか ⇒エンドポイントタイプのことでしょうか?Interfaceになっています。 エンドポイント作成時にサービス名を絞った時、 RDS→Interface S3→GateWay が選択肢にありました。
A.T

2021/12/09 10:28

ありがとうございます。 VPCエンドポイントのポリシーをフルアクセスに修正したところ、接続出来ました。 error was14: HTTPS Error 403 - Forbidden の原因だったようです。
yu_1985

2021/12/10 04:10

RDSのVPCエンドポイントを作ったとはどこにも書いてなかったと思いますが、この構成では不要ですね。 S3のエンドポイントは特に理由なければGatewayのほうを使うといいです。 Interfaceのほうが必要なのはオンプレからアクセスしたいときとかですし、Gatewayの方と違ってInterfaceのエンドポイントは課金が発生します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問