AWS Startup ブログ

【週刊 Ask An Expert #48】本番環境に “kube-controller” がない?なくていいんです!先週の #AWSLoft で受けた質問をざっくり紹介!

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

さてさて 2021/03/02, 日本で2つめのリージョンとなる大阪リージョンが一般提供開始しましたね!

AWS Asia Pacific (Osaka) Region Now Open to All, with Three AZs and More Services | AWS Blog

https://twitter.com/awscloud_jp/status/1366645920826339330

実は、AWS の東京リージョンがローンチされたのも十年前の同じ日、2011/03/02 でした。言ってしまえば日付が同じというだけなのですが、個人的にはちょうど東京リージョンローンチのころに AWS を使い始めたという経験から、この十年を思い返すと何とも感慨深いものがあります。

私たちが日頃接する Startup のお客様でも、FinTech など規制対応が必要になる業界を始め多くの皆様から反響とご注目をいただいています。
皆様もぜひぜひ、上記大阪リージョンのページから情報チェックしてみてください!

 

さあ、そんな今日も先週の Ask An Expert を振り返っていきましょう!

Online Ask An Expert とは?

皆さん、AWS Loft Tokyo の Ask An Expert はご存知でしょうか?現在残念ながら、新型コロナウィルス対策のため AWS Loft は2020年3月から一時的に休館中です。
しかしそんな中、多くのお客様からのリクエストを受けて、Ask An Expert は 2020 年 12 月から Online Ask An Expert に姿を変えリモートでの対応を開始しました。そんな Online Ask An Expertはこちらからご利用いただけます

それでは、今日も先週いただいた質問から、執筆者の独断と偏見によりいくつかの質問をピックアップしてざっくり解説していきたいと思います。Let’s ask an expert!

週刊 Ask An Expert #48 (2021/02/22〜2021/02/26)

Q. 利用している環境の統一およびそれによるセキュリティ関連の統制強化のため、Firebase の Firestore から AWS に移行したい。手順を教えてほしい。

データ自体を Amazon DynamoDB に移行する手順については、以下のブログ記事を見ながらご案内しました。

A Systematic Approach for Analytics Services Migration from GCP to AWS | AWS Startups Blog
> Firebase Data Migration Example セクション

フロントの実装は React.js で、Firestore を経由したユーザー間のリアルタイムメッセージング機能があるとのことだったので、 以下の AWS Amplify を使って GraphQL ベースで実装する方法を学べる以下の Workshop をご紹介しました。

Amplify SNS Workshop | Twitterライクなソーシャルメディアアプリケーションの開発を通して、実践的に AWS Amplify について学ぶことが出来ます。

Q. Amazon Cognito を使ったサインイン時に、独自のロジックで認証コードを生成し、SMS または Eメールで送信して認証したい。実現可能か?

はい、Cognito のカスタム認証フロー機能で実現可能と思われます。カスタム認証フローを使うと、DefineAuthChallenge, CreateAuthChallenge, VerifyAuthChallenge の3種類の AWS Lambda 関数で自由に認証のチャレンジ&レスポンスを設計することができます。

Amazon Cognito Developer Guide より引用

それぞれの関数の仕様やサンプルは以下のドキュメントをご覧ください。

また、認証コードの送信とは少し異なりますが、カスタム認証フローを使ったパスワードレス認証のサンプル実装を aws-samples/amazon-cognito-passwordless-email-auth で確認できるので、参考にしていただけます。

※ SMS あるいは TOTP ソフトウェアトークンでよければ、カスタム認証で実装しなくても Cognito の標準機能としてサインイン時の MFA を有効化することもできます。

Q. Amazon EKS を利用中。Staging 環境には “kube-controller” というコンポーネントがあるが、本番環境にはないことに気づいた。問題ないか。

その場で DaemonSet の manifest を見せていただき、中身を一緒に確認しました。

すると不審なイメージを指定している行があったので調べたところ、Staging 環境で動いていた “kube-controller” という名前のコンポーネントは、実は暗号資産 Monero のマイニングプロセスであることが分かりました。恐らく、どこかのタイミングで野良 manifest を apply してしまったと想定され、その後 “kube-controller” をシステムコンポーネントだと思い込んで運用されているようでした。

“kube-controller” という名前のコンポーネントは存在しないのが正しい状態(=本番環境が正常)であり、Staging 環境の該当コンポーネントは削除するようご案内しました。

読者のみなさんも不用意に manifest を不用意に適用してしまわないように、そして “kube-controller” コンポーネントに騙されないようにご注意くださいmm

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

最後までお読み頂きありがとうございます。

冒頭に書いたように、執筆者の独断により興味深かった質問を選び、かつざっくり要約して記載しています。実際にはより具体的な質問をより多く頂いていますが、様々なご相談があることが伝わっていれば幸いです。まだ Online Ask An Expert をご利用になったことがない方も、ぜひ一度お気軽にご利用ください。

最後に Amplify Meetup #03 のお知らせ

来る 2021/04/02 (金) 18:30〜20:30、 Amplify Meetup #03 が開催されます。
今回からの新しい試みとして、登壇者の応募(CFP)を GitHub で募っています!
aws-amplify-jp/amplify-meetup-cfp
Meetup で Amplify の本番利用事例を聞きたい人はぜひ参加登録を、利用事例を話したい人はぜひ CFP をご応募ください。
また、 connpass の AWS Front-end Community に入っておくと今後の関連イベント情報が届くようになるのでこの機にぜひどうぞ。よろしくお願いいたします!

このブログの著者

A author image of Aki Tsukada塚田 朗弘(Aki Tsukada)
Head of Startup Solutions Architect, Japan.
AWS Amplify とか好き。

Twitter: @akitsukada