AWS Startup ブログ

【週刊 Ask An Expert #42】接続元の IP アドレスを制限するには?先週の #AWSLoft で受けた質問10選

こんにちは、スタートアップ ソリューションアーキテクトのザビオ (Twitter: @zabbiozabbio) です。

はじめに、新型コロナウィルスの影響を鑑み、3/2(月)~3/13(金)の期間、AWS Loft Tokyo をクローズする運びとなりました。新しいご案内は AWS Loft Tokyo の Web サイトおよび Loft アプリ awsloft.tokyo で掲載いたしますので、ご確認ください。

このブログ記事では週刊 Ask An Expert 第42回目をお届けします。「参考になった」「いい内容だ」と思っていただけたら、ぜひハッシュタグ #AWSLoft を付けてシェアしてください。改善点・ご要望もお待ちしております。

Ask An Expert ?

皆さん AWS Loft Tokyo はご存知でしょうか?
目黒セントラルスクエア17Fにある、AWS を利用中のスタートアップとデベロッパーのためのコワーキングおよびイベントスペースです。その一角に AWS のエキスパート – Solutions Architect (SA) や Cloud Support Engineer (CSE)、ときにはサービス開発チーム – といった中の人に技術的な質問ができる、Ask An Expert カウンターがあります。そこでは毎月、来場者の方から100件以上にものぼるご相談をお受けしています。

この連載「週刊 Ask An Expert」では、多くのご相談を中から我々スタートアップソリューションアーキテクトが 独断で面白かった質問を 10 個選び紹介していきます。他の AWS Loft 利用者がどんな質問をしているのか、自分が知らなかった新しいトピックはないか、Ask An Expert ってどんなところなのか、一緒に見ていきましょう。Let’s ask an expert!

週刊 Ask An Expert #42 (2020/2/ 17 – 2/21)

この週の対応者は SA: 鈴木・深森・池田・柳・芦垣・横山・館岡・岩見・中谷、CSE: 古野・嶋本でした。

Q1: 別会社に AWS IAM ユーザの情報を伝えて Amazon S3 にコンテンツのアップロードをお願いしている。IAMユーザに付与した権限が良さそうか確認してほしい。

確認したところ、権限、リソースが適切に制限されており、問題無さそうにみえました。最終的にはお客様で確認していただくように依頼しました。別途、こちら(別の AWS アカウントのユーザーに、オブジェクトを Amazon S3 バケットにアップロードするアクセス権を与えるにはどうすれば良いですか?)もご案内しました。

Q2: ユーザごとに特定の S3 フォルダのみアクセスさせるような制限は可能?

可能です。こちら(IAM ポリシーを使用して特定のフォルダへのユーザー固有のアクセスを許可するにはどうしたらよいですか?)を参考に設定をお願いしました。

Q3: AWS Transfer for SFTP  でユーザごとに特定のフォルダのみにアクセスを制限したい。可能?

可能です、こちら(SFTP のための IAM ポリシーおよびロールの作成)を参考にご確認ください。

Q4: Amazon S3 へのアクセスを IP アドレスで制限することはできますか

可能です。こちら(Amazon S3 バケットへのアクセスを許可する VPC や IP アドレスを指定する方法を教えてください。)をご案内しました。

Q5: Web アプリケーションの表示が遅く、ボトルネックがどこなのかがわからない。

Amazon CloudWatch のメトリクスを確認しましたが、メトリクスが急騰しているところも無く、その場では明確なボトルネックが確認できませんでした。アプリケーションの実装に問題がある可能性があるため、解析ツール(AWS X-ray やサードパーティのサービスなど)でボトルネックを調べていただくことにご提案しました。

Q6: Amazon EC2 のインスタンスタイプの選定方法を知りたい。

負荷試験を行って、運用するワークロードに応じたインスタンスタイプを選択していただくようにご案内しました。

参考:【初級】Amazon EC2 インスタンスタイプの選び方ガイド(資料 | 動画

Q7: Amazon QuickSight で使用するデータソースの制限が知りたい。

ドキュメントをもとにご説明しました。

Q8: QuickSight のユーザが作成された時を検知したい。

AWS CloudTrail で BatchCreateUser イベントを追跡してください。参考: CloudTrail ログを使用して API 以外のイベントを追跡する

Q9: AWS Lambdaのデプロイパッケージのサイズ制限に達してしまっている。どうすれば良いか。

サイズ制限を超える時点で Lambda で処理させることが妥当ではない可能性があるため、以下の案について議論しました。

  • AWS Step Functions を使って複数のファンクションに分割する。
  • AWS Fargate または Amazon EC2 で実行する。呼び出しは Amazon EventBridge 等でイベントを設定する。
  • ALB -> Fargate または EC2 の構成を取り、Web アプリケーションにする。

Q10: Amazon CloudFront への接続元IP制限をしたい。

AWS WAF や Lambda@Edge を利用して実現することができます。ここでは、AWS WAF を使った方法をご案内しました。

週刊 Ask An Expert まとめ、今回はここまで

最後までお読み頂きありがとうございます。冒頭に書いたように、執筆者の独断により興味深かった質問を選び、かつざっくり要約して記載しています。実際にはより具体的な質問をより多く頂いていますが、様々なご相談があることが伝わっていれば幸いです。まだ Ask An Expert カウンターをご利用になったことがない方も、AWS Loft Tokyo をご利用の際はぜひお気軽にご質問ください。
※Ask An Expert が混雑してお待ちいただく場合、またはエキスパートが不在の場合がございます。何卒ご容赦ください。

このブログの著者

中武 優樹(Yuki Nakatake)
Blockchain、Database、Zabbix が好きなスタートアップ ソリューションアーキテクトです。