AWS Startup ブログ

【週刊 Ask An Expert #27】GitHub にアクセスキーを上げちゃった!?git-secrets 使いましょう! 先週の #AWSLoft で受けた質問10選

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

先々週は、京都で CTO Night & Day 2019 Fall の開催、運営が終わったあと、大阪で開催された Ethereum のイベント Devon 5 に参加しておりました。
Devcon では、Ethereum 開発において非常に難しい運用をどう改善するかや Ethereum の loadmap などを、参加されていたブロックチェーンなスタートアップの皆さんとお話しました。時間あるときにレポートでも書こうと思います。

さて、今回のおすすめイベント情報です。来週 10/29 火曜日のAWS Loft Tokyo では、前回大好評だった AWS GameDay を10/29に開催いたします!今回は Microservices Madness と題されています。奮ってご参加ください!

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

Ask An Expert ?

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

10/18 にはサービス開発チームによる Ask An Expert Specialist Day も実施! Database / Analytics 系サービス開発チームの日本人メンバー 松崎、星野、関山が質問に答え、好評でした!

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

週刊 Ask An Expert #27 (2019/10/ 15 – 10/18)

この週の対応者は SA: 下川・木村・内山・園田・松本・湖山・山崎・堀・上総・深森・安藤、 CSE: 古野、サービスチーム: 松崎、星野、関山 でした。

ある日の Ask An Expert – CSE の古野と Serverless Specialist SA の下川

Q1: AWS Elastic Beanstalk を利用し環境を構築している。正常に稼働していたが、デプロイを行った直後に、Elastic Load Balancing からの Health Check に通らなくなった。

Health Check が失敗していることから、一緒にログを確認しましたがその場で原因特定まではいたりませんでした。お急ぎのようだったので、過去バージョンへのロールバック方法をご案内しました。

Q2: (続き)過去バージョンへのロールバックを行ったが、Health Checkがまだ失敗する

既存環境にゴミファイルなどがある可能性もあるため、環境をクローンして再デプロイしていただいたところ、成功しました。上記を踏まえ確認した所、お客様側でディレクトリ権限を変えたたためこれが影響している可能性があるとのこと。
既にクローン環境で問題は解消しているのでこちらをそのまま利用することをご提案しました。

Q3: ビデオのリアルタイム処理を考えていて Amazon Kinesis Video Streams の利用を考えてるが、ユースケースにマッチするか

要件などお伺いしたところ、マッチすると思われるケースでした。GPU の利用を行うということで、参考になる構成例をご案内しました。

Q4: AWS Snowball の認証情報はどこで手に入る、どんなデータなのか? 使う際の手順を知りたい。

認証情報は、Snowball が発送されるとコンソールからダウンロードできるようになるマニフェストファイルになります。
Snowball が手元に届いたタイミングでマニフェストファイルのロックを解除できるようになります。
手順は AWS BlackBelt Online Seminar の資料をもとにご案内しました。

Q5: GitHub に AWS の Credentials をあげてしまって、アカウントを乗っ取られてしまったようだ。
不正利用もされているようだが、アカウントロックがかかってしまっていてログインもできず……どうすればよいか……?

Ask An Expert では解決できない旨を伝え, ご請求アカウントに関するサポートへお問い合わせいただくようご案内しました。Abuse メールを一緒に確認して, アカウント ID の情報などを確認。サポートケースを起票していただきました。
今後の対策として、 git commit する際に credentails の情報が含まれていたらリジェクトするツールである aws-labs/git-secrets をご案内しました。

Q6: GitHub と Amplify Console を連携させてデプロイしているが、デプロイ完了までに 5mins ほどかかる。問題があって rollback したいとき、素早く元に戻すことは可能か。

現状 Amplify Console には Blue/Green やロールバックの機能はないので、切り戻したい別バージョンを普通にデプロイしなおすか、Amplify Console 上のアプリケーション2つ用意しておいてカスタムドメインの設定でDNSレベルで切り戻すか、など議論しました。

Q7: 各種サービスの無料利用枠を見てみているが、どう見積もればよいか。また、AWS のスタートアップ支援プログラムについて知りたい。

無料枠については、アプリケーションの処理パターンを作り、各AWSサービスがどの程度コールされるかをまとめ、それにビジネスボリュームを乗算してどれだけカバーされるかを見積もっていただく方法などをご案内しました。

スタートアップ支援プログラム “AWS Activate” は、スタートアップがビジネスに集中できるよう、AWS利用料のクレジット、トレーニング、テクニカルサポート(ビジネスプラン)クレジットなどを提供するスタートアップ支援プログラムです。その場で AWS の AWS Activate 担当者から諸々ご説明しました。

Q8: CSV ファイルにクエリをかけたい。位置情報のデータで、1日分で 10GB 程度のサイズ。

ファイルを Amazon S3 にアップロードし、Amazon Athena を使ってクエリする方法をご紹介しました。読み込むサイズが大きくなるとパフォーマンス・コストに影響するため、事前に AWS Glue などを使ってパーティショニングをしてもらい、読み込む量を削減する方法をアドバイスしました。

Q9: (続き)Amazon Athenaのパーティションについてのご相談。日付だけでなく緯度経度のデータも入っておりクエリの検索条件に指定したいが、どうパーティションを区切るのが最適か。

1日のファイルサイズが 10GB 程度とそこまで大きすぎるものではないので、AWS Glue でなく Amazon Athena で CTAS を使ってパーティション分離する+ Parquet への変換までを実施する方法もありそうです。そちらのほうがコストが安くなる可能性もあるので、選択肢として考慮いただくことをご案内しました。

Q10: AWS Lake Formation を使って Data Lake を構築したい。Crawler の設定でつまずいているので、手順を見て欲しい。

一緒にエラーを拝見したところ、東京リージョンで起動した AWS Glue からオハイオリージョンの S3 バケットを Crawl しようとして失敗しているようでした。S3 バケットを東京リージョンに作り直してもらったところ、問題解決しました。

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

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

このブログの著者

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