AWS Startup ブログ

【週刊 Ask An Expert #43】Slack から Amazon EC2 への GET リクエストが失敗する?先週の #AWSLoft で受けた質問10選

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

最近主にリモートワークをしているのですが、通勤時間に費やしていた分を仕事に使えるので、まず単純に時間効率が上がっている昨今です(その分通勤中に行っていた読書等の時間は減っています)。各種ミーティングもたまに通信状況が悪いと「な、なんて?」となりますが、基本的には慣れてしまえばそんなに苦にならないものですね。そもそも海外のチームとミーティングするときはリモート前提だしな、と思ったりしています。

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

Ask An Expert ?

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

ある日の Ask An Expert で議論している Expert たち

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

週刊 Ask An Expert #42 (2020/2/24– 2/28)

この週の対応者は SA: 保里・笹木・北村・内山・大場・木村・下川・中田・大薗・上総・大井・菅野、CSE: 古野・嶋本・榎本(順不同)でした。

Q1: ローカル PC で動いてる Node.js アプリ(Express)を AWS で動かしたい。

Amazon EC2、ELB、セキュリティグループ などについて説明させて頂きました。また、お客様と一緒に画面を見ながら EC2 の起動及び SSH でログイン出来るまでを確認しました。

なお、Express であれば awslabs/aws-serverless-express を使うのも簡単です。
※ awslabs は実験的なプロジェクト置き場なのでご留意ください。

Q2: nvm が動かない。

確認したところお客様のローカルラップトップ上でコマンドを叩いていました。EC2 に SSH で接続して試していただいたところ成功しました。

Q3: Slack から Amazon EC2 への GET リクエストが失敗する。

確認したところ EC2 は HTTPS(443) で Listen しているのに対し、Slack からは HTTP(80) でリクエストしていました。443 を指定していただいたところ成功しました。

Q4: Amazon Certificate Manager で無料の TLS 証明書を作りたいが、DNS プロバイダーが Amazon Route 53 でなく外部のものを使っている。問題ないか?

問題ありません。お使いの DNS で CNAME レコードを追加してください。
参考: DNS を使用したドメインの所有権の検証

また、Route 53 に移行して頂ける場合は Route 53 を使用中のドメインの DNS サービスにする を参照してください。

Q5: Amazon S3 にアップロードされるデータがセンシティブなのでアクセス権限を制限したい。基本的には Amazon ECS の Task からのアクセスのみ許可したいと考えている。

AWS IAM の Role を ECS Task に設定することができます。その Role に該当の S3 バケット、パスへのアクセス権限を付与しておく方法などが考えられます。
参考: タスク用の IAM ロールNotPrincipal エレメントの代わりに Principal エレメントで明示的な拒否があるワイルドカードを使用する方法

Q6: Web アプリを作ってみたいが、どのようなことを勉強すればよいか。

AWS Amplify は取っ掛かりとしておすすめです。また、2020年2月からスタートしたデベロッパー向け Web マガジン builders.flash には “HOW TO BE A DEVELOPER” など初学者向けのカテゴリもあるのでご覧ください。

Q7: Web サーバーで 210TB のデータをローカルディスクに保存したいという要件がある。どういった実現方法がありえるか。

そもそも本当に 210TB を Web サーバーのローカルに持つ必要があるのかもう一度確認し、 Amazon S3 を活用できないか検討いただくようお願いしました。

Q8: WebSocket サーバーを構築したい。AWS AppSync があるのは知っているが、GraphQL を使いたいわけではない。他に方法はないか。

Amazon API Gateway でシンプルな WebSocket API を作ることができます。ご検討ください。

Q9: AWS サポート(特にエンタープライズ)AWS プロフェッショナルサービスの違いを知りたい。

それぞれの向き・不向きについてご説明しました。なお、基本的にはビジネスで活用している本番環境ではビジネスプラン以上の AWS サポートのご利用をおすすめしています。

Q10: プライベートサブネットに配置した Web サーバー(EC2)にアクセスできない。パブリックサブネットに NAT Gateway を置いているのだが。

外から EC2 サーバーにアクセスするためにはパブリックサブネットに ELB などを置く必要があります。NAT Gateway は EC2 からインターネットにアクセスするために必要なものです。

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

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

このブログの著者
塚田 朗弘(Akihiro Tsukada)
AWS Amplify は可愛い。