• 締切済み

AWSのEC2のwebサーバを踏み台にしたい

AWSのEC2インスタンスに関しての質問です。 現在AWSを利用していて、操作がわからないので、どなたかご教授お願いします。 VPCの中にパブリックサブネットとプライベートサブネットを作成しました。 パブリックサブネットの中にApacheをインストールしたwebサーバを作り、 プライベートサブネットの方にMySQLを入れたいです。 NATインスタンスも作成して、Apacheのインストールも終わったので、 webサーバーを踏み台にして サブネットにあるインスタンスにMySQLをインストールするところです。 しかし、うまく踏み台に出来ず、セキュリティグループに問題はないと思うので、 キーペアーの問題かなとおもっています。 なんかSSHでアクセスするにはwebサーバーに秘密鍵を置く必要があるようなのですが、 その作業が出来ません。 マックを使っていてターミナルから以下のコマンドを打ち込んでいます。 scp -i XXXXX.pem ec2-user@ ec2-YY-YY-YY-YY. ap-northeast-1.compute.amazonaws.com:~/ どこかコマンド間違っているでしょうか? "Permission denied (publickey). lost connection"というメッセージが出ているので パーミッションかなと思い chmod 400 XXXXX.pemを実行してもなにもかわらず… ここで詰まっています。 原因がわかる方、もしよければ教えていただけると助かります。 よろしくお願い致します。

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

インターネット(具体的にはあなたのMac)からパブリックのWebサーバーにsshした後でそのWebサーバーからプライベートのMySQLサーバーにsshしたいという事でいいだろうか。 この時、あなたのMacからWebサーバーにsshする時のキーペアとWebサーバーからMySQLサーバーへsshする時のキーペアは違う(技術的には同じにしても別にいいけど)。 いったん話をリセットして最初からやってみよう。 まず、あなたのMacでキーペアを作る。 satsusatsu-Mac$ ssh-keygen -b 2048 これで、id_rsa(秘密鍵)とid_rsa.pub(公開鍵)というファイルがあなたのMacのあなたのユーザーのホームディレクトリの中にある.sshというディレクトリの中にできあがるはずだ。 そして公開鍵をWebサーバーに送る。 satsusatsu-Mac$ scp -i id_rsa.pub ec2-user@ec2-YY-YY-YY-YY. ap-northeast-1.compute.amazonaws.com:~/ 今、これは公開鍵がWebサーバーのホームにあるのでこのままでは使えない。これは一旦おいておいてWebサーバーでもキーペアを作ろう。 [ec2-user@ec2-YY-YY-YY-YY]$ ssh-keygen -b 2048 ここでもWebサーバーの中に ~/.ssh/id_rsa と ~/.ssh/id_rsa.pub ができあがる。 で、自動的に ~/.ssh/ も出来上がったので、あなたのMacからWebサーバーにsshできるようにしよう。 [ec2-user@ec2-YY-YY-YY-YY]$ cd ~/.ssh [ec2-user@ec2-YY-YY-YY-YY]$ cat ~/id_rsa.pub >> authorized_keys これで、あなたのMacで別のコンソールを開いて何も聞かれずにsshできる事を確認しよう。 これが出来たら、後はWebサーバーにsshした後、Webサーバーの ~/.ssh/id_rsa.pub をMySQLサーバーに転送して同じ事を行えば良い。そうするとWebサーバーからMySQLサーバーに何も聞かれずにsshできるようになる。 公開鍵を公開鍵として使えるようにするには ~/.ssh/authorized_keys というファイルに公開鍵の中身を書き込まないといけないというところがポイントだ。 WebサーバーとMySQLサーバーがともにLinuxである事を前提にしてます。

関連するQ&A

  • AWSに対し SSH接続

    AWS EC2契約後インスタンス起動。 セキュリティ設定 問確認済。 キーペアを成。pemファイルをダウンロード。 ・状況 AWSで作成したpemをロードし、秘密鍵を作成。 それを使用し、AWSヘルプを参照しながら、puttyでSSH接続をおこなおうとしたところ、 ユーザ名を入力後、「 Server refused our key 」というメッセージが Puttyで表示されSSH接続できませんでした。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/putty.html を参照済。 SSH接続を試した時のホスト名、ポート番号は間違っていません。 どの部分を確認したらよいでしょうか?

  • AWS EC2 Windows 管理者アカウント

    AWS EC2にてwindowsサーバ2016が稼働していますが、administoratorを誤って無効化してしまいました。 他に管理者権限を持ったアカウントがいないため、有効化することが出来ず困っています。 なお、インスタンスのユーザデータにadministratorを有効にするコマンドを設定して再起動かけましたが、有効化されないことまでは確認しております。 このようなケースでadministratorを有効化する方法をご存知の方がおられましたら、ご教授お願いいたします。

  • AWS apache設定

    サーバ構築初心者です。 AWS で redhatをインストールし、Apacheをソースから入れるまではOKなのですが、 肝心のWeb(public DNSで)ブラウザでアクセスできません。 何が間違ってるのかご教授願えないでしょうか。 (1) AWS EC2 で 80番ポートを空ける Instance の Status Checks も 「2/2 checks passed」となっている事を確認 (2) Apache のプロセスを確認 ps aux | grep apache apache xxxx 0.0 0.3 xxxxxx xxxx ? Sl Aug10 0:01 /usr/local/apache2//bin/httpd -k start apache xxxx 0.0 0.3 xxxxxx xxxx ? Sl Aug10 0:01 /usr/local/apache2//bin/httpd -k start apache xxxx 0.0 0.3 xxxxxx xxxx ? Sl Aug10 0:01 /usr/local/apache2//bin/httpd -k start root xxxx 0.0 0.1 xxxxxx xxx pts/0 S+ 01:26 0:00 grep apache root xxxxx 0.0 0.4 xxxxx xxxx ? Ss Aug09 0:05 /usr/local/apac ※PIDとは隠してます。 (3) 80番ポートが空いてるか確認 netstat -ln | grep 80 tcp 0 0 :::80 :::* LISTEN この(3)が問題ではないだろうかと思ってるのですが・・・

  • EC-CUBEのインストール

    現在、ショッピングサイトを作る為に ECオープンソース「EC-CUBE」を使おうと思っています。 しかし、それらの知識があまりないのでどのようにインストール するのか分かりません(試しにやってみたのですができませんでした) どなたかインストールからサイト作成の手前までの手順を 詳しく教えていただけないでしょうか? とりあえず下記の環境が整っていないといけないんですが 自分のPCにはどれもインストールされていないので ここらへんも詳しく教えていただけませんか!? ・WEBサーバ(Apacheを推奨) ・PHP4.1.x以上(GD2、FREETYPE2ライブラリを有効にしておくことを推奨します)※注1 ・PostgresSQL7.4.x以上 ・MySQL4.1、MySQL5.0 「EC-CUBE」 http://www.ec-cube.net/

  • awsのec2にてcakephpインストール・設定

    amazon web serviceのec2でインスタンスを生成し、cakephpをインストールして使えるようにしたいと思っております。 すでに、apacheやphp、mySQLはインストール済みで、cakePHPをローカルのPCにダウンロードして、winSCPにてec2にアクセスしています。 ドキュメントルート以下にlibを置きたくなく、色々と調べまして現在は /home/○○○/app lib plugins などを置いていまして、confにてドキュメントルートを /home/○○○/app/webroot と設定してあります。 これで、ブラウザから http://○○○.jp/ でアクセスしたところ、 Warning: strtotime(): It is not safe・・・ というエラーが発生しました。 そこで、php.iniの date.timezone = を date.timezone = ‘Asia/Tokyo’ と変えてみてapacheを再起動しましたが、同じエラーが表示されてしまっています。 cakePHPのファイルを置く場所がいけないのでしょうか? それとも、設定で何か不備があるのでしょうか?? お分かりになられる方、いらっしゃいましたらご教授のほどお願い致します。

  • AWSのFTP設定について

    AWSのサーバーにWebサイトを置いて公開したいと思っています。 インスタンスの立ち上げ、固定IPアドレス取得までは調べながらできたのですが、 FTPの設定でつまずいてしまいました。 FTP情報を入れたつもりなのですが、接続できません。 ポートを開けなくてはいけない?ようですが、 ポートの開け方、どのポートを開けるかなどがわかりません。 Macでいうターミナル等で作業する必要があるのでしょうか。 ■環境 PC/Windows7 64 FTP/FileZilla AWS EC2/Amazon Linux AMI ちなみにドメインは未取得です ※当方、サーバー等に関する知識が薄く、手探りで進めております。 大変恐縮ですが、なるべく噛み砕いた解説をしていただけると幸いです。 どうかご教授よろしくお願いします。

  • 1つのサーバにWEBサーバ2つ

    1台のサーバにWEBサーバ(apache)2つインストールは可能でしょうか?(virtualhostを2つ作成するため。) /usr/localにapache2つインストールすると先に設定されているWEBサーバが上書きされ消えてしまうのではないかと心配です。 configureでなにか設定ができるのでしょうか? よろしくお願いします。

  • AWSとRDSMySQL

    外部業者さんで開発したシステムを自社で管理することになりました。 EC2にWEBサイト、RDSにDBが設定されているということまでわかりました。 EC2側のバージョンとRDS側のMYSQLのバーションが違うようなので EC2側を一旦アンインストールして、再度新しいバーションをインストールしたいのですが 一旦アンインストールしても問題がないのかとても不安です。 EC2側のMySQLが使われているかどうか(DB一覧、テーブル一覧)を確認するにはどのようなコマンドで確認できますでしょうか? また、システムは稼働中なので、EC2側のMySQLをアンインストールすると 当然、WEBサイトからRDSとの接続はできなくなるという認識で良いでしょうか (それともRDSのMYSQLが起動していればWEBサイトは影響がない?) 聞ける人が社内におらず恐縮ですが何卒宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • OSX10.2.8でWebサーバーを構築したいのですが、簡単なインストーラーはありますか?

    しばらく使っていなかったWallstreetをWebサーバーにして、Xoopsをインストールしたいと思っています。 MAMPは10.3以上から対応しているようなのですが、10.2でも使用可能な簡単なインストーラーはありますか? Apache,php,MySQLをインストールしたいと思っています。

    • 締切済み
    • Mac
  • AWSでwindows10PCを起動可能か?

    現在、Amazon WEB serviceについて調べています。 AWS EC2 @okwave http://okwave.jp/qa/q9144835.html こちらの方の質問内容で、AWSのクラウド上でwindowsを起動することができるか? というような内容だと思うのですが、AWSではそのような仮想PCのようなことができるということでしょうか? 例えば、windows10をAWSのクラウド上にインストールして、サーバーソフトを起動させるなんてこともできるということでしょうか? その際に、クラウド上に起動したサーバーへクライアントソフトがアクセスするためのグローバールIPアドレスなどはどうなるのでしょうか? どうぞ、ご教示頂きますようよろしくお願い致します。