00:06
はい、みなさんこんにちは。keethことくわはらです。
本日もやっていきましょう。keethのエンジニア雑談チャンネルです。
この番組では、ウェブ業界に関することやエンジニアリング、
いろんな技術についての雑談などの情報を発信していきたいと思います。
で、今日はですけども、昨日に続きまして、
roadmap.shというサイトのベストプラクティスを今、結構読んでたんですね。
で、昨日はAWSの方もこう読んでたんですけど、
今日はもう半分の方、残りをですね、読んでいきたいと思います。
今日は、オペレーションズからいきたいと思います。
はい、あと是非、英語で書かれているので、訳すんですけど、
訳せなかったら、ちょっと翻訳機に頼るので、
途中、うだるかもしれないですけど、ご容赦いただければなと思います。
1つ目は、オペレーションズの項目です。
オペレーションズは、合計6個書かれていますね。
1つ目、Disabled SSH Access to All Servers。
オプショナルと書いてますね、これ一応。
オプショナルと書いてるけど、一応Disabledだと言います。
SSHアクセスをTo All Serversで言います。
全サーバーへのSSHのアクセスっていうのは、
Disabledですね、やめてくれっていうことだそうですね。
オプショナルで、やるやらないと決めてくださいと。
そういう感じだそうですね。
2つ目は、Care About Service as a Full Instead of Serversと言ってますね。
全体のサービスの注意、ケアをしてくださいと。
Instead of Servers。
サーバーの代わりに、サービス全体のケアを、
自分たちでもしてくださいってことかな、これ。
続いて、3つ目です。
3つ目は、Don't Give Servers Staticもしくは Elastic IPsと言ってます。
サーバーにそういうスタティックなIPとか、
エラスティックなIPを渡すなよ、みたいなことを言ってますね。
これは僕はインフラ知識がわかんないので、
そうなんだっていう感じですけど。
まあ、そういうことだそうですね。
では続いて、4つ目は、Automate Everythingと。
とにかく、いろんなものは自動化してくださいってことですね。
ここは理解できる。
人ってのは基本的にヒューマンエラーで、
人がエラーを起こす可能性とかミスを起こすので、
なるべくは自動化しましょうと。
第5つ目。
第6つ目は、Everyone gets an IAM account.
Never login to the masterと言ってます。
これは結構AWSで始めるときの落とし穴であり、
今はほぼデファクトのマニュアルだと思いますけど、
とにかくマスターでアクセスするなと。
ちゃんとIAMアカウントを発行して、
それでアクセスしてくださいということですね。
で、ラスト6つ目です。
6つ目は、Get your alerts to become notificationsと言ってます。
いろんなアラートはちゃんと通知で知らせるようにしてくださいね。
また通知で受け取れるようにしましょうという話でした。
以上、Operationsの6個ですね。
では続いて、S3ですね。
Categorizeの中にちゃんとS3というサービス名が出てくるんですね。
昨日もELB出たりとか、クラウドウォッチ出たりとか、
IAMとか出てるんですけど、
それだけ重要なものの一つだということですね。
じゃあS3バケットですけど、
こっちは4つですね。
1つ目。
Use hyphen instead of dot in bucket names for SSLと言ってます。
バケットネームにとにかく、
hyphen使えと。
ドットじゃなくてってことですね。
これはネットワーク周りだったり、
インフラのお話だったりする気がしますけどね。
これ多分アンスコじゃないですよね。
多分見た目上ちょっとアンスコっぽくも見えなくはないですけど、
hyphenですねこれは。
03:00
じゃあ続いて、
Avoid file system mountsですね。
Fuseとかっていう感じですね。
ファイルシステムへのマウントというのは避けましょうという、
その辺の話ですね。
じゃあ続いて3つ目ですけども、
3つ目は、
Having CloudFront in front of S3 in optional, but it can helpと言ってます。
S3の前にクラウドフロントをかますようにしてくれと。
これは一応オプショナルではあるけど、
but it can helpなのでできればみたいな感じですかね。
クラウドフロントはよくある話ですし、
S3に挙げてるものは基本的には静的コンテンツのはずですので、
それをさらにキャッシュしてとか、
コンテンツの更新があるなしにおいて、
本体サーバーではなくて普通にCDNで返せるんだったら返した方が早いのでってことですよね。
なのでなるべくはクラウドフロントをかましましょう。
はい、じゃあ続いて、
S3の4つ目は、
Use random strings at the start of your keysと言ってますね。
鍵の名前にランダムの文字列を使いましょうと。
この辺は結構もう皆さんデファクトにやってる気はしますけどね。
というところでした。
以上S3の4つの項目ですね。
はい、次ですね。
次はEC2もしくはVPCですけども、
こちらも大カテゴリーに含まれるぐらいにやっぱ大事なサービスだってことですね。
EC2 VPCは6個ありますね。
1つ目はAssign tags to everythingと言ってます。
はい、タグをとりあえず発行してくれということですね。
はい、じゃあ続いて、
2つ目ですね。
Use termination protection for non-autoscaling instanceと言ってます。
そういう設定がされてないインスタンスって基本的にはターミナリティを使うなよって感じですかね。
じゃあ続いて3つ目ですね。
3つ目はVPCを使えと言ってますと。
まあもうそのままですね。
Use the VPCということで。
はい、皆さん使われてると思うんですけどね。
スタートというか勉強し始めの頃は使ってない可能性はありますけど。
では続いて4つ目の項目ですね。
Use reserved instance to save big dollar mittsってどういう意味だ。
要はお金かかるもののインスタンスをリザーブしとけってことかな。
はい、だそうです。
じゃあ続いて5つ目ですね。
5つ目はLock down your security groupsと言ってます。
まあこれはもう文字通りって感じですね。
まあセキュリティグループちゃんとそもそも設定してるかどうかってのは結構別な話はありますが。
はい、では6つ目ですね。
6つ目は.keep unassociated elastic IPですね。
まあunassociatedってどう訳すかあれですけど、
放置してるIPとかエラスティックIPとかを放置し続けるなって感じだと僕は解釈しました。
まあIPもね、本当にちゃんとメンテとか定期的にお掃除しないと放置しがちではあるのでね。
それは本当その通りだと思います。
まあいろんなお仕事をしている中でやっぱりAWSのインスタンスとかIPもそうですし、
いろんなもののメンテナンスを定期的にやってない場合ですね。
実は使ってないインスタンスとか放置されてたりとか、
割とこの辺ってやっぱり大事だよなと思ったりするので、
保守ってバカにならんなっていうのはちょっと思いました。
はい、以上EC2とかVPCロックの項目でした。
では続いて、続いての項目はエラスティキャッシュですね。
エラスティキャッシュでも1個しかないですね。
はい、Use configuration endpoints over individual node endpointsと言ってます。
コンフィギュレーションじゃないエンドポイントってあるんかっていう気はしますが、
これは僕がちょっと不文教でわからないです。ごめんなさい。スキップします。
06:02
続いてはオートスケーリングの話ですね。
この辺は俺多分本当わかんないけどあれですけど、オートスケーリングで4つあります。
オートスケーリング1つ目はスケールダウン on insufficient data as well as alarmと言ってますね。
インサフィシェントデータは大文字でアラーム大文字ですからね、全部。
スケールダウンをしてくださいってことでした。
はい、で2つ目。2つ目はUse ELB health check instead of EC2 health checkと言ってます。
EC2のヘルスチェックの代わりにELBのヘルスチェックを使うんですね。
では続いて3つ目ですね。
3つ目はOnly use availability zones. Your ELB is configured for.
Only use availability zonesか。
これはスケーリンググループを複数のAZに追加する場合、
ELBがそれらのAZを全て使うように設定されているかっていうのを確認してくれってことらしいですね。
ラスト4つ目ですね。
4つ目はAvoid multiple scaling trigger on the same groupと言ってます。
同じグループ内でマルチプルなトリガースケーリングは避けろと言ってますね。
以上、オートスケーリング4項目でした。
では続いて、あと2つですね。
続いてはルート53ですね。
Use alias recordsです。
はい、それだけでした。ルート53。
Alias recordsっていうのはレコードセットを特定のAWSリソースに直接リンクする。
つまりドメインはS3パケットとかにマッピングできる。
そのためCNAMEエントリーっていうのはコストがかかるはずなんですけど、
Alias recordsだとコストがかからないと。
またCNAMEだとは異なりゾーンの頂点でAliasを使用することができますと。
ちょっとこの辺、僕もあんまりよくわかってないですけど、こういう風に書いてありました。
ではラスト。
ラストはElastic MapReduceですね。
これはもう俺、名前すら知らないな。
なんだよMapReduce。
一応読みますか。
項目1つです。
Specifier Directory on S3 for Hive Resultsと言ってますね。
Apache Spark Hive REST、その他ビッグデータワークロードを簡単にして実行スケール。
それを踏まえた上で、
Specifier Directory on S3 for Hive Resultsの意味ですけど、
Hiveを使用してS3に結果を出力する場合、
バケットのルートではなくバケット内のディレクトリを指定する必要があると。
そうしないと、なぜそうなるかという説明もなく、
役に立たないNullPointerExceptionが発生してしまうからということらしいです。
なるほどでした。
というところで、一応AWSのベストプラクティスは大体今ので以上ではあるんですけど、
このベストプラクティスを見た感じ、
割と他のサービス系もちゃんとログを集約するだけではなくて、
いつでもすぐ見れるようにしましょうねというか、
割と可視化に関しての項目が多かったという印象があるので、
やっぱりクラウド系のサービスをやるときはその辺が重要なんだなということだそうですね。
組むだけが目的ではもちろんないのでね。
むしろ組んだ後の運用がスタートですからね。
というところで、一応ベストプラクティスは以上ですけど、
他に別の関連するものを見たい場合は、
バックエンドのロードマップとDevOpsのロードマップもあるので、
その辺も興味あれば見てみてくださいということでした。
09:01
はい、今回はこんなところで終わっていきたいと思います。
いつも聞いてくださり本当にありがとうございます。
ではまた次回の収録でお会いしましょう。
バイバイ。