katekichiのゆるブログ

普段の作業メモや日常の出来事とか

AWS認定 SAA教科書 読書会 #3に参加した

AWS認定 SAA教科書 読書会を主催&参加しました。その第3回です。

「徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書」(https://amzn.to/2GuW2wZ) を 教材に読書会をして、合格を目指す会です。今回は、1-7:「データベースサービス」の「DynamoDB」より始めました。

jawsug-nagano.connpass.com

なんと長野でもAWS認定を受験できるようになりました! 会場は4箇所あります。一層、受験意欲が高まります。

f:id:katekichi:20190412173012j:plain

気になったことまとめ:

1-7「データベースシステム」
DynamoDB

  • NoSQL
  • 結果整合性のサービス
  • 結果整合性を無効にしたい場合は、「Consitient Read」を有効

Redshift

  • 用途のイメージがつかないので、今後事例を調べる。

Elastic Cache

  • 「 Elastic Cacheのアーキテクチャの図」に少々疑問が・・。RDSへのクエリを投げるのは、EC2なのでは?

1-8「データ通知。連携処理システム」

  • Kinesisはストリーミング処理に使用する。IoT向け。3つのサービスからなる
  • Streams、Firehose、Analyticsからなる
  • StreamsとFirehoseの違い(クラメソさんのブログが神すぎる!) dev.classmethod.jp

1-9「構成管理サービス」

  • Beans Talkは、Herokuのようなものか?
  • CloudFormationとOpsWorksの違い(クラメソさんのブログが神すぎる!) dev.classmethod.jp

  • CodeCommitは、githubAWS版。ユーザ管理もIAMで出来るので便利

  • Code3兄弟とは dev.classmethod.jp

今後のテーマ(前回までからの追記)

  • CLI会をやりたい
  • オートスケーリングの実践
  • S3をいじくり
  • Redshiftの事例を見る

次回

第1章の演習問題から
・4/26(金) 18:30〜

AWS認定 SAA教科書 読書会 #2に参加した

AWS認定 SAA教科書 読書会を主催&参加しました。その第2回です。

「徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書」(https://amzn.to/2GuW2wZ) を 教材に読書会をして、合格を目指す会です。今回は、1-5「コンピューティングサービス」より始めました。

jawsug-nagano.connpass.com

気になったことまとめ:

1-5「コンピューティングサービス」

  • EC2のユーザーデータは使用したことない。

  • VM Import / Exportは、オンプレサーバーの移行をまずはAWSへって提案には使えそう

1-6「ストレージサービス」
S3

  • S3のバージョニング機能は使ったことないけど、不測の事態でデータ削除された場合には良さそう(使用料金が気になる)

  • ストレージクラスはいつも「スタンダード」しか使ってないけど、他のクラスのユースケースを知りたい。

EBS

  • EBSのスナップショット関連は、良く問題でるやつ

その他のストレージサービス

  • SCSIの話で盛り上がった(SGWのiSCSIの話題から)

データベースサービス

  • バックアップタイミングと保存期間は重要

今後のテーマ(前回までからの追記)

  • CLI会をやりたい
  • オートスケーリングの実践
  • S3をいじくり

次回

1-7:「データベースサービス」の「DynamoDB」から
・4/12(金)

AWS Expert Online at JAWS-UG長野 #2の参加メモ

AWS Expert Online at JAWS-UG長野 #2の参加メモです。

AWS Expert Online とは

AWS SAやサポートエンジニアといったTech ExpertのセッションをAmazon Chime経由で、 各支部の勉強会会場に配信いたします。 質問については、オンラインで投げることが可能です。

(イベントページより抜粋)

今回は、長野支部、函館支部、浜松支部アーキテクチャ支部の4拠点が参加していました。

スポットインスタンス再入門

AWSソリューションアーキテクト 滝口 開資 さんのお話

スポットインスタンスとは aws.amazon.com

EC2の購入オプション

  • オンデマンド(通常)
  • リザーブド(1年/3年の長期利用でディスカウント)
  • スポットインスタンス(EC2の空きキャパシティを使っている。最大90%OFF。ただし、中断発生あり)

価値と活用事例

  • 研究機関 自然言語処理の学習プロセスを並列化して実行(vCPU 110万コア)
  • ビックデータ、コンテナ
  • ステートレスなWebサービス

アンチパターン

  • 高可用性も求められるミッションクリティカルなもの(DB等)
  • チョックポイントを設けにくいステートフルなサービス

仕組みとルール

  • 価格の安定化(変動率を抑えた。上限価格はオンデマンドを超えることはない)
  • 中断される2分前までに、AWSから通知される
  • 中断条件(EC2の空きキャパシティ無しになった場合、指定価格(上限価格)がスポットインスタンス価格が上回ったとき)

中断通知の方法

中断通知のテスト

  • スポットフリートを作成すれば出来る

スポットインスタンスの起動の仕方

  • スポットフリート or EC2フリート
  • 永続性の指定が重要(maintain(中断後の台数保証) or request(中断後の台数保証しない))
  • Auto Scalingで起動できるようになった。

使いこなすため

  • ステートレス
  • 再開か可能なワークロード(中断状態からの復帰)
  • 疎結合にする
  • 分散(複数のアベイラビリティゾーンと、複数のEC2タイプに割り当てる)

感想

  • Auto Scalingでお試しに使ってみると良さそう
  • 分散時の「複数のEC2タイプに割り当てる」は意識する必要がありそう

次回は、支部内LTも企画していきたいです。

AWS認定 SAA教科書 読書会 #1に参加した

AWS認定 SAA教科書 読書会を主催&参加しました。

「徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書」(https://amzn.to/2GuW2wZ) を 教材に読書会をして、合格を目指す会です。

f:id:katekichi:20190301202236j:plain

気になったことまとめ:

1-2 : 「AWSインフラストラクチャの概要」

・大阪ローカルリージョンは、「Disaster Recovery」用途で使用できる

1-4:「ネットワークサービス」

・NATゲートウェイを使えば良さそう。
 NATインスタンスって使う用途ってどんな時なんだろうか

・セキュリティグループとネットワークACLの違いは重要
・NLBは初めて聞いた ・・ イメージ沸かない

今後のテーマ

CLI会をやりたい
・オートスケーリングの実践

次回

1-5:「コンピューティングサービス」から
・3/22(金)

JAWS Days 2019に参加してきた

JAWS Days 2019(会場:TOC五反田メッセ)に参加してきたので、感想とか、感想の様子を備忘録としてまとめてみた。 jawsdays2019.jaws-ug.jp

f:id:katekichi:20190224165821p:plain

聞いたトーク一覧と感想

RDBリファクタリングと異種間DB移行の戦い

RDBリファクタリングと異種間DB移行の戦い - Amazon DMSを使った止めずにリファクタリングする手法 | JAWS DAYS 2019

DBのリファクタリングという普段思っていてもなかなか出来ない話題なので 興味深かった。

無停止で、リファクタリングするために、トリガーを使用して更新していく という発想は面白いと思った。

「DBの寿命はアプリより長い! 」や「誰も知らないTABLE」の話しは どこのプロダクトでも、あるあるな話しなんだなと思った。

MySQLからポスグレへの移行中で、MySQLの仕様でハマったとのこと。 * Zero Date問題(0000-00-00) というものが、MySQLにあるらしい(5.7以降は、NO_ZERO_DATE, NO_ZERO_IN_DATEモードがONなので問題ない??)

既存のDBをリファクタリングをするためには、それなりの覚悟が必要とのこと。

スライド

RDBリファクタリングと異種間DB移行の戦い / AWS-DMS - Speaker Deck

サービスダウンから生まれたSWATチームが手掛けるクラウド移行への道

サービスダウンから生まれたSWATチームが手掛けるクラウド移行への道 | JAWS DAYS 2019

オンプレ移行の話しだった。SWATチームなのに、専任では無いというのはツラミを感じた。 Direct Connectは知っていたが、「Direct Connectionロケーション」というAWSとの専用線を引いている データセンターにサーバラックを配置できることは知らなった。あまり縁はないと思ったけど オンプレのユーザーに提案する際の話題には出来そう。

EC2からECSへ移行を始めたお話

EC2からECSへ移行を始めたお話 | JAWS DAYS 2019

午後は、ほとんど「ECS」、「EKS」、「k8s」のセッションをまとめて聞いてみた(知見が無いのと事例を知りたかったので)。 ECSは、Fargate起動とEC 起動がある。価格的には、EC2起動の方が安い模様。

ECSのメリットとして、以下のようなものがある

  1. Blue / green デプロイが出来る
  2. ロールバックが簡単
  3. 本番、開発用環境の差分が無くなる
  4. 冗長化、高可用性が簡単(AMI管理も不要)
  5. 運用コストの軽減
  6. EKSを使用しなかった理由(学習コスト、東京リージョンが無かったこと、クラスタの立ち上げコスト)

6.に関しては、要件がマッチしない場合は、無理にEKS使わなくても良いなと思った。 (勢いで採用するのはリスク有りそう・・)

Kubernetes を使ってエンジニア組織の生産性を上げよう

Kubernetes を使ってエンジニア組織の生産性を上げよう | JAWS DAYS 2019

freee社SREの方。普段、馴染みのないSREの業務について聞けた。

k8s = オーケストレーションツールという印象があるが、

freee社としては、以下の認識で捉えている

SREとは

  • すべてのサービスのインフラを横断的に管理するチーム
  • 安定したインフラを提供するのがミッション

k8sを導入メリット

  • エンジニアへの権限委譲(マニュフェストの作成を任せる)
  • SREは、仕組みづくりに専念できる
  • 監視、ロギングに手が回せるようになる

k8sの難しいところ

  • k8sは、マルチテナントの管理が難しい。
  • クラスタの設定変更で全滅したこともあった。
  • 1クラスタ = 1テナントにする方向で移行中とのこと。

スライド

Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity - Speaker Deck

Kubernetes on AWS/EKSベストプラクティス

Kubernetes on AWS/EKSベストプラクティス | JAWS DAYS 2019

ベストプラクティスという名の通り、充実した内容だった。ただ、如何せん自分の理解度が足りすぎず メモと、脳内変換するのに精一杯で終わってしまった。

EKSの学習コストが高いのと、話しを聞いている限りGKE(Google Kubernetes Engine)の方が 初心者には、よろしくやってくれそう感があった(あくまでも印象だけど・・)。

とりあえず、現在の業務では「ECS」で充分要件を満たせるという印象。「k8s」の理解度を高めた上で もう一度、スライドを見直させて頂きます!

スライド

Kubernetes on AWS/EKSベストプラクティス2019.2 #jawsdays - Speaker Deck

会場の様子とか

前回参加したのが、2017年のときで会場も同じだったので、特に戸惑いはなかった。

入り口でレシーバーを渡されて、英語セッションってあったかなと思ったが、他ブースからの声の音漏れを防止する ためだと分かった。これは非常にありがたかった。良くありがちなレシーバーの返し忘れ防止に名刺と交換 で渡していたので、紛失防止の工夫をしているなと思った。

昼食をもらうタイミングが次のセッションまで15分程度しかなかったので、参加者数を考えると30分くらいあると 良かった気がする(結果的には間に合ったけど・・)。ちなみに自分は、キッチンカーで豚丼を頂きました!(写真なしw)。

Wifiは不安定な感じではあったが、あの参加者数なので致し方ないかなとは思った。

戦利品

AWSブースで、「AWS認定 ソリューションアーキテクト アソシエイト」の証明を見せて もらったステッカー。プロフェッショナルを狙うのはまだ厳しいので、次は「Dev Ops」取得を 目指していければと。

f:id:katekichi:20190224164323p:plain

まとめ

来場者が、1,900人ということでAWSに関わっている人、興味ある人の多さを実感した。

一言でAWSと言っても、「Serverless」、「IoT」、「データ解析」、「k8s」と幅広いジャンルで 使えるマネージドサービスが大量に提供されてきて、それに付随するツール郡の話しは非常に有益 だった反面、自分の理解度不足を実感する一日だった。

まずは、導入出来そうなマネージドサービスから業務改善や、社内システムのインフラに反映して 実践して理解を深めていければと。

最後になりましたが、スタッフ、スピーカーの皆様、お疲れ様でした!この場を借りてお礼申し上げます。 来年も長野から参加します!

Django Congress JP 2018に参加してきた

Django Congress JPに参加してきたので、各セッションの所感をまとめてみました。 (帰りの新幹線で書くという荒行を実施しましたw。不足分はあとで補足します)

djangocongress.jp

Django Congress JP ってなに

PythonのWebフレームワーク「Django」のカンファレンスです。 今まで、国内では開催されておらず今回が、初開催となります。

Djangoは、弊社のWebアプリケーション開発のスタンダートとしておりエンジニア数も豊富なので、楽しみにしていました。社内で私を含めて何名かで、CfPを提出して、 thinkAmi さんのものが採択されたので、今回はカメラ小僧も兼ねての参加しました。

「できる!Djangoでテスト!」

https://tell-k.github.io/djangocongressjp2018/#1

@tell-k さんのセッションでした。

PyCon JPでは、毎回分かりやすい解説をして頂けるので、今回も楽しみにしておりました。

Django fixtureの変わりに、facrory_boyは私も良く使いますが model_mommyというのがあるのを初めて知りました。

「GeoDjangoではじめる地理空間情報

speakerdeck.com

@homata さんのセッションでした。

GISや、OSMの話は、長野の勉強会でもちらほら話題になりますが、Djangoの機能(GeoDjango)で地理空間情報が 扱えることは知りませんでした。migrationに専用コマンドがあったり、管理画面に地図情報が表示されて いたのが印象的でした。

Django / WSGIミドルウェア入門」

speakerdeck.com

弊社エンジニアの @thinkAmi さんのセッションです。

ミドルウェアの話は、なかなか聞く機会が無く自分の理解も乏しかったので 良い勉強になりました。社内で事前リハーサルを入念に行っていたので流石という感じでした。

WSGIミドルウェアDjangoミドルウェアの実行順を丁寧に図説とコードで解説してくれていたのが ありがたかったです。

「Password Hashing」

speakerdeck.com

@bungoumeのセッションでした。

パスワードの保存とハッシュ関数の話でした。パスワードのハッシュ関数は、auth_userで使用しているPBKDF2をデフォルトに使用していましたが、今後のパスワードの解析速度の向上の傾向を考えると 解析されにくいArgon2を採用した方が良いように思いました。

Djangoハッシュ関数を変更しても、ログインしたタイミングでハッシュ形式を変更してるようなので、ハッシュ関数を変更する敷居が低てて良いなと思いました。

「いまさら振り返るDjango Migration(Migrationの内部動作からやっちゃった事例まで)」

speakerdeck.com

@denzowillさんのセッションでした。

「みんなのPython勉強会」のStaffの方で今まで、お名前は存じ上げていたのですが はじめてセッションを聞くことが出来ました。。ぎーらぼのことも話をして頂きありがとうございました!!

マイグレーションの実装について、詳しく解説して頂いていたので、エラーでコケた際の原因も分かり納得することが できました。

makemigrations時の--mergeオプションを恥ずかしながら初めて知り、今まで 運用でmigrationファイルのみ事前にコミットしてPushしたりしていたりなんかしていたので、今後不毛な管理から 開放されそうです。

※まあ、あれだけのマイグレーション機能あればあっても不思議じゃないよね・・。ドキュメントちゃんと読めよと・・。

Django REST framework 実践入門」

slideship.com

@massa142 さんのセッションでした。DRFを使用した際のつらみとその解決策の話が非常に参考になりました。

つらみの話は、全て共感できるお話でしたが、それを解決するサードパーティーのライブラリがそれぞれ存在したのが印象的でした。

印象に残ったものは以下です。

その他

弊社もご協力させて頂きました事前アンケートを元に、Djangoの利用状況レポートが掲示されていたのが 印象的でした。ウェブアプリやAPIサービスに次いで、教育の分野で使われているのも印象的でした。

f:id:katekichi:20180519214048j:plain

まとめ

最近、管理業務が中心になってきていて、手を動かすことが少なくなってきてしまいましたが、今回のイベントに参加 して、非常に良い刺激を受けました。社内の開発や、日々の個人の開発に取り入れたいと思いました。

あと、Pycon JP 2018のCfPが採択されるようにガンバリます!!。

もう長野に到着します。かがやき早すぎ!!

はじめてのAWS Cognito!!

Qiitaにデビューしてみたので、導線的にこちらに貼っときます。

qiita.com

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく