ぼくの備忘録

セキュリティに関するニュースで気になったものを、個人的なメモと共に残していきます。

トラブルシューティングまとめ_【AWS初心者向け】手を動かして身につける! 実戦で役立つAWSサービスの基礎とアーキテクチャ

Udemy businessにて、掲題の動画を見ながらAWSの勉強をしているのですが、講義の内容通りにやってもうまくいかない手順があったので、備忘メモとしてここに残していきます(トラブル発生の都度、編集していきます)。

 

動画19

Teratermを使ってSSH接続しようとすると、認証エラーとなる

PowerShell使うと接続できる。秘密鍵のあるディレクトに移動して、接続コマンド(EC2の当該インスタンスの画面、「接続」の画面で入力すべきコマンドを確認可能)

Teratermで接続するには何かサーバ側の設定を変えないといけないらしいが、未調査。

 

動画20

mysqlのインストールがうまくいかない(「sudo yum install -y mysql-community-server」を実行するとエラーが出る)

MySQLのインストールの手順を全て下記のサイトの通りにしたらうまくいった

How to install PHP MySQL Apache on Amazon Linux 2023 EC2 AWS – MistOnline

 

phpのインストールの際に、amazon-linux-extrasのコマンドがエラーになる(インストールしようとしてもエラーになる)

→amazonlinux2023から、上記コマンドがなくなった模様。

sudo yum install -y phpで最新版のPHPがインストールできるので、これで対応

・上記設定のまま手順を進めていき、HTTPで接続しようとすると、PHPMYSQL拡張機能がない(英語で表示)というエラー画面が出る

→以下2つの手順を実施

mysqlndをインストール

(PHP8.1対応)【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定 - よくばりすなシステムエンジニアのブログ

mysql拡張機能を有効化

PHPを各種サーバーにインストールする方法(Linux、macOS、Windows)

php.iniの場所はここで調べた

Linux:php.iniの設定を変更し、反映させる | raining

→「<?php phpinfo(); ?>」は/var/www/htmlに「phpinfo.php」というファイルを作り、これに書き込む。

↑これいらないかも

 

動画23

インスタンスを削除した後、すぐにelastaicIPを開放しようとするとエラーになる

→どうやら関連付けられたインスタンスが削除されるまでは、elasticIPを開放しようとするとエラーとなる仕様の模様。

インスタンスを削除する前に、elasticIPの画面で、「elasticIPの関連付けを解除」をしてから、インスタンスの削除とelasticIPの開放を行う手順のほうが、スムーズに削除が行える。

 

動画28

powershellでポートフォワーディングする際のコマンド

ssh {ssh接続用ユーザ}@{踏み台サーバのホスト} -i {秘密鍵のパス} -L {待ち受けするポート}:{転送先のホスト}:{転送先ホストのポート}

参考:Windows 10 - コマンドでポートフォワード(SSHトンネル) - 覚えたら書く

今回は下記の通り

ssh -L 10022:ec2-YY.YY.YY.YY(アクセスしたいサーバのプライベートIPアドレス):22   -i "秘密鍵のファイル名.pem" ec2-user@ec2-XX-XX-XX-XX.ap-northeast-1.compute.amazonaws.com(踏み台サーバのパブリックIPアドレス)   →①

 

上記コマンドを打つと、画面上は踏み台サーバにログインする。

が、入りたいのは踏み台の先のサーバなので、そのためにはそのままもう1つpowershellの画面を立ち上げて、以下を入力。

ssh -i "秘密鍵の名前.pem" ec2-user@localhost -p 10022 →②

参考:ローカルネットワーク間のSSHログインにおけるポートフォワードの使い方を紹介します! | テックマガジン from ネプラス

 

なぜこのような二段構えになっているかというと、

①では、作業用端末の10022ポートから出る通信は、踏み台サーバ経由でアクセスしたいサーバの22ポートにアクセスするよう、経路の設定をしている。

②では①で設定した経路でアクセスするよう、localhostの10022ポートに対して、ユーザー名と秘密鍵を指定してSSH接続をしている、という仕組みになっていることが要因かと思われる。

2023/5/7 新規作成