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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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回答

698閲覧

AWS EC2アクセス制限について

notoyama

総合スコア1

Amazon EC2

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2022/05/02 10:03

編集2022/05/02 10:12

AWSにて
・Webサーバー(ec2)
・APIサーバー(ec2)
・DBサーバー(RDS)
という構成でシステム開発を行っています。

やりたい事はAPIサーバーのアクセスを「From=Webサーバー(https)」に限定するというものでして、
その為に
①APIサーバーのセキュリティグループのインバウンドルールにWebサーバーのセキュリティグループIDを設定
したのですが

イメージ説明

これをするとWebサーバー→APIサーバーへのアクセスができなくなります。

一方で、
②APIサーバーのセキュリティグループのインバウンドルールにWebサーバーのIPアドレスを設定
するとWebサーバー→APIサーバーへのアクセスはできます。(アクセス制限設定ができています)

ちなみに、
③DBサーバーのセキュリティグループのインバウンドルールにAPIサーバーのセキュリティグループIDを設定
すると問題なく、「From=APIサーバー」でアクセス制限ができます。(これはいつもやっている事です)


短期的には②でも運用上の問題はないのですが、長期的に考えると①を実現したく
解決策をご存知の方がいらっしゃいましたらご教授頂きたく、何卒宜しくお願い致します。

追記:
「ALB→EC2」や「EC2→RDS」のアクセス制限にてセキュリティグループIDを設定する事
はいつもやっているのですが
「EC2→EC2」のアクセス制限は初めてのトライでして、そもそも「EC2→EC2」では
セキュリティグループIDを用いたアクセス制限ができないなどの制約があるようでしたら
そういった事もご教授頂けると幸いです。

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

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

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

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

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

mike2mike4

2022/05/02 10:19

webサーバーをパブリックにしてALBを使わない設計だと、ポート変えるか両者にSSL入れるしかないのでは?
notoyama

2022/05/03 01:23

ありがとうございます! APIサーバー用の内部ALBを立ててその下にEC2をぶら下がる手法を試してみたいと思います!
guest

回答1

0

ベストアンサー

できないわけではないので、単に設定を誤っている可能性が高いです。

②のときの設定内容はインバウンドにIPを設定したとしたか書いていませんが、設定したポートやプロトコルなどをより詳細に書いてください。(スクリーンショットが一番早いです)
また、②で設定したIPはパブリックかプライベートかどちらでしょうか。
①の設定だと確かパブリックIPによるアクセスはできないと思います。
ドキュメントに記載が見つかりませんでしたが、手元で一応確認した限りではできませんでした(記載している箇所があればだれか教えてください…)
EC2インスタンス間のアクセスをHTTPSにしようとしているということは恐らくパブリックIPでインターネットを経由してアクセスしているのでしょうかね。
③が可能なのは、AWS内でRDSのエンドポイントを指定してアクセスすると通常プライベートネットワークでのアクセスになるからです。

AWS内の通信で済むところをわざわざインターネットを経由してアクセスする必要がないので、可能であればWEB→APIのアクセスをプライベートネットワーク内のものにしてはどうでしょうか。
その際は外部に出ない通信になるのでHTTPSである必要はあまりありません(要件次第ではあります。)
APIサーバーにインターネットからアクセスさせる用途があるのならもうちょっと込み入った話になりそうですが。

投稿2022/05/02 11:57

yu_1985

総合スコア7447

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

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

notoyama

2022/05/02 14:05

yu1985様 ご回答ありがとうございます。 >②のときの設定内容はインバウンドにIPを設定したとしたか書いていませんが、設定したポートやプロトコルなどをより詳細に書いてください。(スクリーンショットが一番早いです) また、②で設定したIPはパブリックかプライベートかどちらでしょうか。 → https / TCP / 443 という設定値でIPアドレスはパブリックとなります。 >EC2インスタンス間のアクセスをHTTPSにしようとしているということは恐らくパブリックIPでインターネットを経由してアクセスしているのでしょうかね。 →はい。ご認識の通りです。 >③が可能なのは、AWS内でRDSのエンドポイントを指定してアクセスすると通常プライベートネットワークでのアクセスになるからです。 →なるほどそうなのですね。全く意識したことがありませんでした。  となると >AWS内の通信で済むところをわざわざインターネットを経由してアクセスする必要がないので、可能であればWEB→APIのアクセスをプライベートネットワーク内のものにしてはどうでしょうか。  これにも通ずる話になるとは思うのですが  WEB→APIのアクセスをプライベートネットワーク内で完結させるようにすれば  セキュリティグループIDでの設定が効くようになる、という事でしょうか?  もしその認識が正しいようでしたら是非これで進めたく、可能でしたら参考となるURLなどを教えて頂けないでしょうか?(この後調べてみます) お忙しい中ご回答頂き本当にありがとうございます!
yu_1985

2022/05/02 18:11

特にこれを参考にするみたいなのはないですが、接続時にプライベートIPを指定すれば良いです。 そうすると証明書に困ると思いますが、前述の通りプライベートネットワーク内の接続なのでHTTPでもそこまで大きな問題にはなりません。 IPではなくドメインで指定したければRoute53のプライベートホストゾーンで設定してください https://dev.classmethod.jp/articles/route53-private-hostzone-beginner/ 内部ALBを使えるならそれでHTTPS化することもできます。 https://dev.classmethod.jp/articles/internal-alb-https/
notoyama

2022/05/03 01:28

ありがとうございます! 昨晩後者のページを見つけ、本日試してみようと思っていたのですが、 ご記載頂いた前者のページの内容の方が早くできそうなので、この後試してみたいと思います。 情報本当にありがとうございます!
notoyama

2022/05/06 02:58

最終的にAPIサーバーをプライベートサブネット配下で稼働させるようにし、 インターネットからAPIサーバーに直接アクセスできないようにする、という当初要件を実現する事ができました。 これまでサブネットがパブリックかプライベートかという事を意識した事がなかったので とてもよい機会となりました。 (プライベートサブネットからだとSESやS3への接続方法も変わるのですね) お忙しい中貴重なアドバイスを頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問