AWS Startup ブログ

【週刊 Ask An Expert #02】AWS Loft Tokyo で受けた質問まとめ #AWSLoft

はじめまして、Startup Solutions Architect の松田です。皆さん花粉とどうお過ごしでしょうか。私は反応する花粉の種類なのか今週くらいから本格的にムズムズしてきております。

先週に引き続き Ask An Expert の一週間を振り返り、AWS の知見を深めていきましょう!

Ask An Expert ?

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

ある日のAsk An Expert

「週刊 Ask An Expert」では、我々 AWS のエンジニアが Ask An Expert ではどのような質問を受け、どんな感じで対応しているのか、 “非常にざっくりと” ご紹介しお届けしていきます。みんながどんな質問をしているのか、自分が知らなかった新しいトピックはないか、Ask An Expert ってどんなところなのか、一緒に見ていきましょう!
※ 似たご質問をまとめたり、ざっくりまとめにくいご質問を省いたりしているため、実際のご質問件数、内容とは異なる部分があります。

週刊 Ask An Expert #2 – 2019/04/15〜04/19

Q. Amazon SES のバウンスメールを受け取れるのか?

SES に設定することで受信メール扱えます。バウンスメールも同様に可能です。ドキュメントも御覧ください。

Q. S3 Serverless ハンズオンを進めているが、エラーになる。

S3 の Public Policy は「Public Policy をつけることを許可」する設定が必要になったため別途変更が必要です。

Q. 100万行程度の検索を MySQL でやっているが遅い、何かいい方法があるか。

まずは、MySQL のインデックスが効いているかを確認する。

あるいは、Elasticsearch など用途に寄って複数のデータストアを使い分けることも有効です。

Q. Amazon CloudFront 経由で画像を取得すると CORS に引っかかる。Amazon S3 直であれば問題ない。

こちらのドキュメントに記載のある様にヘッダーを転送してもらうようにご案内しました 。

Q. 複数のアプリケーションで認証情報を共通化したいが、Amazon Cognito を使う方向で良いか。

Cognito で良さそうです。Blackbelt の資料もあわせてご紹介しました。

AWS Black Belt Online Seminar 2017 AWS Cognito

Q. AWS Organizations で子アカウントで Terraform 経由で AWS Cloud9 を作ったが、親アカウントに作られてしまった。

CloudTrail を見たところ親アカウントのアクセスキーが呼ばれていたので、Terraform へのアクセスキーの渡し方を確認して頂きました。

Q. AWS Organizations のアカウントの分け方について

Blackbelt の資料をもとにご説明。

20180214 AWS Black Belt Online Seminar AWS Organizations

Q. Amazon EC2 で証明書を使いたいが Amazon Certificate Manager (ACM) でいいのか。

ACM は EC2 には使えないので、Let’s Encrtypt + Nginx などで実現する SSL の設定をご案内しました。

Q. 工場でセンサーの情報を取得し、データを保持するような仕組みを考えている。
AWS IoT, AWS Greengrass, Amazon FreeRTOS という単語があるのは確認したがイマイチ違いが分からない。

センサー情報を取得し、データを保持するといったユースケースであれば AWS IoT Core を使えば OK。
AWS Greengrass については AWS 送信前にローカルで何らかの処理をしたいユースケースで利用する。
Amazon FreeRTOS は名前の通り OS の提供で、要件的に必要となる場合に検討して頂く。
スモールスタートということでは AWS IoT Core のみを使ってやってみると良いと思われます。

Q. AWS Elastic Beanstalk (Laravel) から Amazon ElastiCache (Redis) につながらない。

redis-cli や nc コマンドでやっても駄目だったので、 Security Group を確認した所、ElastiCache 側の Security Group でインバウンドのトラフィックが許可されてなかった。

Elastic Beanstalk の Security Group からのインバウンドアクセス許可を追加して頂きました。

Q. Switch Roleした先のアカウントの AWS Key Management Service (KMS) の key を使うことができない。

Switch Role 先の IAM Role に KMS の権限が無かったため追加して頂きました。

Q. ソリューションアーキテクトの認定資格の取得を検討しているが、どのように勉強すればいいか教えて欲しい。

模擬試験があるのでこちらを受けてみるのもいいです。最近は本も出版されているのでそちらも有用かもしれません。
あとは有料でオンラインコース(オフィシャルではなく有料ですが) Cloud Guru や Linux Academy などもあるので必要に応じて確認してみてください。

Q. 写真を1日〇〇MBアップロードするようなサービスを作る際の料金と申請方法を教えてほしい。

S3 であれば特に申請は不要でご利用頂け、料金もアップロードした容量に対する従量課金になります。

東京リージョンであれば $0.025/GB 程度の単価になります (2019-04-22 時点) 。詳細は 料金表を御覧ください。

Q. クラスターモード無効で、レプリカ有りの Amazon ElastiCache (Redis) を無停止でスケールアップしたい。クラスターモード有効にしたくても Redis が古くてできない。

クラスターモード無効の場合は、ダウンタイムが発生します。無停止で行うにはクラスターモードを有効にしてもらう必要があります。こちらのドキュメントもご確認下さい。

Q. git でローカルリポジトリ作った後に、リモートを設定しても push できない。

unrelated histories .... のようなログが出ていたので、以下のコマンドで解決しました。

git merge —allow-unrelated-histories origin/master

Q. Serverless Framework で作った Lambda で権限エラーが出る。

logs:CreateExportTask が足りないので、追加してください。

Q. DB の認証情報はどう管理すればいいか。

AWS Secrets Manager が有用です。CloudFormation と組み合わせて EC2 の cloud-init に渡したりすることも出来ます。

Q. 数百 GB あるテーブルを Python で集計しているがよりよい方法はあるか。パーティショニングはされています。

AWS Glue (pySpark) で並列処理する中で各パーティションを参照するようにすれば、一定の高速化は期待できそうです。並列度が高まることによる PostgreSQL 側の負荷には注意して下さい。集計処理を何度か試行錯誤するような場合は、PostgreSQL からデータを抽出した後に S3 にチェックポイントを書き出すいいかと思われます。

Q. ELB 経由で EC2 上のコンテナにアクセスできない。

Route53 に ELB の Alias が登録されていたものの、Route53 の NS レコード がレジストラに登録されていなかったため名前解決に失敗していた。

Q. Amazon ECS コンテナにアクセスできない。

マネジメントコンソール上から Cluster → Task と追っていき、 Public IP を確認してアクセスできるか見ていただきました。

Q. AWS Activate のクレジットが欲しい。

出資元の VC にご連絡ください!

Q. Public/Private のネットワークの分け方について。

(例えば ELB など) Public IP が必要なものは Public Subnet へ。それ以外は Private Subnet へ。

Q. AWS Organizations で親-子-孫の3階層作れますか。

作れません。Organizations のメンバーになっているアカウントで新規に Organizations を作成することは出来ません。

Q. Amazon ECS のシークレット管理について教えてほしい。

AWS Secrets Manager の利用を検討下さい。

Q. Azure AD との認証連携について。

Azure のドキュメントを御覧ください。AWS Security Blog も参考になります。

Q. セキュリティアプライアンスの存在する監視用 VPC と他 VPC を Peering 接続しているが、特定の VPC からアプライアンスへの通信が遅い。AWS Transit Gateway にすれば解消するか。

将来を見据えて Transit Gateway に切り替える事自体はポジティブですが、問題が解消されるかは分かりません。

勘で対応するのではなく、ボトルネックを特定するためにログの確認や実際に計測することが重要になります。

週刊 Ask An Expert まとめ、第2回目はここまで

いかがでしょうか。似たご質問をまとめたり、ざっくりまとめにくいご質問を省いたりしているためそっくりこのままやり取りが行われているわけではありませんが、様々なご相談をいただいていることをお伝えできれば嬉しいです。自分も相談したいな?と思って頂けましたら、実際に Ask An Expert カウンターまでおこし頂ければ幸いです。

関連するおすすめイベントのお知らせ

来る 4/25(木)19:00〜、AWS Loft Tokyo にて
「【知見】 月刊 Ask An Expert!AWS Loft でエキスパートが受けた質問まとめ #01」
を開催します!

AAE Monthly Wrapup #01

このブログ記事ではざっくりでしたが、こちらのイベントではもう少し解説を加えながら、且つ会場からのご質問なども受けながら Ask An Expert の知見を共有していきたいと考えています。

さて、来週は第3回ですね。引き続き週刊 Ask An Expert をお届けする予定です!(誰が書くのだろうか)

このブログの著者

松田 和樹(Kazuki Matsuda)

Container とか Serverless, BigData が好きなスタートアップ ソリューションアーキテクト。