omuronの備忘録

個人的な備忘録

「AWSの基礎を学ぼう 第五十回 Amazon Forecast」 #awsbasics 受講メモ

awsbasics.connpass.com

先週の第四十九回は、ワクチン接種と重なったため受講できませんでしたので、2週間ぶりです。

セッション

Amazon Forecast

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

Amazon Forecast

時系列データの予測の問題

  • パターン化したものを機械学習で予測
  • 機械学習を使ってコンピュートリソースを下げる
  • パターンマッチを探して計算量を減らす

時系列予測の従来の課題

  • 季節性
  • 商品の特徴、メタデータの扱いできない
  • 価格、祝日、プロモーションなどの関連データを組み込めない
  • 過去データがないもの

Forecast のワークフロー概要

  1. S3 に CSV 準備
    必要ならGlueなどで正規化
  2. データセットグループの作成
  3. Schemaの定義
  4. データセットの作成
  5. 各種データのインポート
  6. 予測子の作成
    レーニングが実行されモデルが作成される
  7. 予測子の評価
    1年分のデータのうち、10ヶ月を学習して、2ヶ月を評価に使ったり
  8. 予測の作成

データセットドメイン

  • TARGET_TIME_SERIES
    • すべてのドメインで必須
    • 予測フィールドは最大10個指定することができる
  • RELATED_TIME_SERIES
    • 時間を補足するデータ
      • 天気とか、キャンペーンをしてたとか
    • 最大13個指定することができる
      • 増やす場合は、データ量もたくさんいる
    • 予測したい期間も含めて、未来の時系列も入れる
      • 1ヶ月後の天気とか、わかりにくいのを使うとブレる
      • キャンペーンとかは精度が高くなる
  • ITEM_METADATA

予測子の作成 トレーニン

  • 予測頻度
    • 分、時間、日、週、月、年
  • 予測期間
    • 予測する期間、ステップ数
    • 投入データの1/3か500の小さい方になる
  • アルゴリズム
    • ARIMA, CNN-QR, ETS, NPTS, Proghet, DeepAR+
      • コレ以外は SageMaker で
      • SageMaker のほうがなんでもできるけど時間はかかる

アルゴリズム

  • ARIMA : 自己回帰和文移動平均
    • 定常性がある波打つ動きを平均化する
    • キャンペーンとかのスパイクはノイズ
  • ETS : 指数平滑法
    • ARIMA と逆に変動性に重きを置く
    • 加重平均で計算
  • NPTS : ノンパラメトリック時系列
    • サンプリングで動作
    • すべてのデータではなく定点観測して動く(GAとかも定点観測)
  • Prophet : ベイズ構造時系列モデル
    • 詳細なデータの取扱が得意
  • CNN-QR : 畳み込みニューラルネットワーク-分位回帰
    • What-if 分析に利用可能
  • DeepAR+ : 再帰ニュートラルネットワーク
    • DeepLearning
    • What-if 分析に利用可能

AutoML

所感

機械学習全然わからん...
という私のような状況でも、時系列予測ができそうということはわかりました。

「いまさら聞けないIPv6ネットワーク」 #InfraStudy 受講メモ

forkwell.connpass.com

我が家もやっと IPv6 環境になりました。

セッション

講演「いまさら聞けないIPv6ネットワーク」

講師:小川 晃通 氏

IPv5 は?

https://www.iana.org/assignments/version-numbers/version-numbers.xhtml

  • IP ヘッダの最初の4bitがバージョン番号を表す
  • ST2 というプロトコルがパケットの先頭4bitの値が「5」
    • ST2 は IP ではないので IPv5 はない
  • IP ヘッダの最初の4bitがバージョン番号を表すので「5」は欠番に

IP テキスト表記

  • IPv4 のテキスト表記
    • 32bit を 8bit 単位で . で区切る
    • 10進数表記
  • IPv6 のテキスト表記
    • 128 を 16 単位で : で区切る
    • 16進数表記
    • 先頭の0は省略可能
      • :: で連続した0を省略できる
        • ただし、一回しか使えない

IPv4IPv6

  • IPv4IPv6 は違うネットワーク
    • 互換性がない
  • IPv4IPv6 のデュアルスタック運用が多い
    • IPv4 インターネット通信なしはまだ辛い
  • 2つだけど、ひとつのインターネット
    • 名前空間がひとつ
    • DNS に両方登録
      • A or AAAA(クアッドレコード)
      • OS/App のクライアントが判断してどちらかのプロトコルを利用する

IPv6 の違い

  • IPv6 のエンドノード周辺の違い
    • 64bit boundary
  • ネットワークインターフェースに複数の IPv6 アドレスがつくのが前提

IPv6 は早い?

所感

IPv6 が身近になってきたので基本は抑えておきたい状況です。
最近作る VPCIPv6 対応で、Route53 もデュアルスタック設定を基本にしてます。
IPv6 オンリーにすれば攻撃ちょっとされにくいということかな?

「決済とテクノロジーの可能性 〜 Stripe の日本での取り組みと2021年製品開発ロードマップ」 #stripe 受講メモ

決済とテクノロジーの可能性 〜 Stripe の日本での取り組みと2021年製品開発ロードマップ

https://stripe.events/jp-product-roadmap

セッション

セッション1 ダニエル・へフェルナンさん

オンライン経済最新トレンドと決済における課題

  • ミッション
    • インターネットの GDP を成長させる
  • インターネットの経済規模
    • 日本の2020年の実質GDP 525.9兆円
    • 2021年のオンライン経済規模(物販)15.1兆円
      • 市場のオンラインシフト
      • 110% 成長
  • Stripe ユーザー
    • 2020/03以降アジアだけで 72,000+ ユーザー、$2.4B+ (2,400億円以上)
  • オンラインシフトの課題
    • 技術整備、投資
    • 継続的な収益の確保、最大化
    • 進化する不正対策
    • 規制、法律への準拠
  • Stripe のソリューション
    • 99.999% の可用性
    • 決済成功率の最適化、収益性向上
    • 不正使用の機械学習での防止、カード情報の漏洩防止、トークン方式
    • PCI DSS
  • Stripe のプロダクトカバレッジ

セッション2 池堂 文菜さん

Stripe の日本でのプロダクト開発・展開戦略

  • なぜ日本でロンチ?
    • 市場規模世界4位
    • インバウンド、観光客、爆買ブーム
      • 多通貨決済、不正対策が提供可能
    • 2014年当時、Airbnb, Uber, メルカリUS展開 が迎えてた
  • ユーザーサポート理念
    • 日本展開の初期メンバーはユーザーサポートから採用
      • サポートを重要視している
    • 定型文でサポートしない、ユーザーファースト
      • 拝啓、敬具などは使わない、「はじめまして」など親しみを込める
    • お客様はパートナーであり仲間
  • 日本ユーザーにとって利便性をよくするために
    • コンビニ決済、銀行振込決済
    • ふりがな
    • JCBカード対応
    • 多通貨決済
    • カード自動更新「洗い替え」対応

セッション3 レンフレッド・ハーパーさん

2021年下半期プロダクトロードマップ

  • コンビニ決済
    • 日本では2割ほどのシェアがある
    • コンビニの種類が多い、全部支払い方が違う
    • パイロットユーザー募集中
  • 銀行振込
    • 日本のビジネスでは欠かせない
    • バーチャル口座発行可能
  • ノーコードで利用可能な決済
    • Payment Links
    • ノーコードで決済可能なリンクを生成できる
      • コーディング知識がなくても「誰でも簡単に決済できる」世界の実現
    • ウェブサイト準備不要
  • 公開予定の新しい機能
    • 9月末頃、チャット・電話サポート開始予定
    • 年末、銀行振込とコンビニ決済を一般公開予定
    • Payment Links
      • 日本向けに特商法を表示する機能を実装中

QA

  • 銀行振込はサブスクリプションで利用できる?
    • 利用できるように機能を充実させる。
  • PaymentLinks はサブスクリプションで利用できる?
    • 利用できるようにする予定。
  • 手数料
    • コンビニ 3.5% or 最低料金130円?
    • 銀行振込 1.5%
  • デビットカードは利用できる
    • 対応済み
  • 海外送金
    • 実装中、日本はまだ
  • 仮想通貨
    • ニーズがなさそう
  • PayPay に対応予定はある?
    • モバイルウォレットの規模が大きくなっているのでニーズがあれば検討する
  • 銀行振込の当座には対応する?
    • 実装中

所感

「Payment Links」を試してみましたが、びっくりするほど簡単に請求処理を発行できますね。
日本向けにしっかりローカライズしているので、日本でも今後ますます使う企業が増えそうです。
銀行振込に期待しておきます。

(小ネタ)ElastiCache for Redis の各クラスターアップデート

Redis にて重要度が "critical" のアップデート通知 elasticache-20210615-002 がきました。

まずは本番以外の環境からアップデートしたいのですが、UI 的にわかりにくかったので、次回のアップデートに向けた備忘録です。

本番と開発の2つのクラスターがある状況です。
「サービスの更新ステータス」のタブから2つのクラスターを確認できます。

f:id:omron:20210706090153p:plain

一方、「サービスの更新リスト」からは、セキュリティパッチの単位でしか表示されず、各クラスターが見えない状況です。

f:id:omron:20210706090328p:plain

「今すぐ適用」を押すと、すべてのクラスターに適用されるのかと思いきや、ポップアップで、クラスターを選択してアップデートができます。

f:id:omron:20210706090719p:plain

「今すぐ適用」ボタンを押すのにドキドキしたので、忘れないように残しておきます。

「AWSの基礎を学ぼう 第四十八回 App Mesh + Cloud Map」 #awsbasics 受講メモ

awsbasics.connpass.com

サービス名を聞いたことぐらいはあるけど、それ以上のことは何もしらなかった App Mesh + Cloud Map です。

セッション

App Mesh + Cloud Map

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

App Mesh

  • アプリケーションレベルの通信制御を統一する
    • サービスメッシュ基盤で行える
    • アプリに組み込み不要
    • トレーシングやログ、メトリクスの取得ができるようにする
    • オブザーバービリティを上げる
      • すべてのヘッダーにIDを埋め込むなど
    • すべてのアプリケーションに信頼性を高める実装が必要
  • ネットワークサービスになる
    • 流動性の高い大規模な環境は App Mesh が適切
      • ほとんどは ALB でまかなえるケースが多い
  • サイドカープロキシで実現される
  • マイクロサービスアーキテクチャに対応できる
    • 言語依存で動かさず、通信プロトコル依存で実装できる
    • コントロールプレーンにいい感じでネットワークサービスを配置してくれる
  • Envoy Proxy
    • OSS の Envoy Proxy のマネージドサービス
  • 利用できるリソース
    • ECS, Fargate, EKS, EC2, k8s on EC2
  • 利用できる機能
    • ALB とほぼ同じ機能が使える

Cloud Map Service Discovery

  • 依存リソースへの一貫したアクセス
  • 環境に寄らず同じ論理名でリソースにアクセスできる
  • ディスカバリ可能なリソース
    • DNS ベース
      • A,AAAA レコード
      • SRV
      • CNAME
      • ...
    • カスタム属性に指定する任意の値
      • ARN
      • SNS トピック
      • SQS キュー
      • DynamoDB テーブル名
      • ...
  • Cloud Map 側で切り替える
    • aws servicediscovery discover-instansec ... にて --query-parameters Env=Test のように切替可能

ハンズオン

github.com

コンテナ環境を作った後、通信のコンテナを作っていくのでやりがいはあるとのこと。

所感

流動性の高い大規模な環境は App Mesh が適切」と言ってたとおり、使うケースは早々なさそうなサービスでした。
nginx のサイドカープロキシすら使いこなせてないのに、App Mesh を使いこなせる気がしない。

Cloud Map は便利そうですね。
App Mesh と組み合わせないと利用できないのでしょうか?
単独で使えるなら、複数環境デプロイ時の事故を減らせる気がしました。

「Hello AWS App Runner!」 #ContainersFromTheCouch 受講メモ

aws-container.connpass.com

マネージドでコンテナを簡単にデプロイできる App Runner です!

セッション

Hello AWS App Runner!

spesnova (@spesnova)さん
トリ (@toricls)さん

www.youtube.com

  • App Runner : AWS 上で簡単かつ最速でコンテナサービスをビルド実行するサービス
  • 以下のいずれかで簡単に実行
  • マネジメントコンソールから、「App Runner」を検索してシュッと実行できる
    • ECR ならプロジェクト名決めてコンテナ URI 指定するぐらい
      • public なら手動デプロイが基本
    • GitHub なら GitHub connection 設定が必要
      • 接続名は GitHub のユーザー名やオーガニゼーション名など入れるとわかりやすい
      • 自動デプロイできる
  • CloudFormation が裏側で動くような仕組みではない
    • VPC の Quota 制限にかかるなど、Quata 制限は気にしなくていい
      • ゆえに内部でつくられた VPC などは見えない
  • リクエスト数に応じてスケールする
    • しきい値だけ設定する
      • 超えるとスケールアウトして割るとスケールインする
      • 秒間でさばけるコンカレントリクエスト数で計算される
        • リクエスト返し待ちがたくさんたまらないとスケールしない
    • 最小サイズは1インスタンス
      • コールドスタートを防ぐため0にはできない
  • ヘルスチェックはアプリと同じポートになる
    • パスもルートのみ
  • インスタンスロール
  • カスタムドメインにも対応
    • 自分の DNS に CNAME と 証明書検証の設定をする
    • 設定後1-2日後に利用できる
  • アクションから一時停止できる
    • コンテナが停止する
  • Lambda + APIG との違いは?
    • コンテナプロセスが常駐する
    • Lambda は常駐しないのでその違いがある
  • 本番での利用にも耐えうる
    • マネージド部分に手を入れたくなったら ECS もあり

所感

App Runnner (間にスペースが入る)は、本当に手軽にコンテナをデプロイできますね。

ECS Fargate がでて、だいぶ簡単になったとはいえ、理解してデプロイしようとすると結構時間かかりますし、AWS Copilot 利用すると比較的 Fargate 環境は簡単につくれるけど、CloudFormation が作られてデプロイされるあたりで、結局管理するのが多くて大変ですし。

その点、 App Runner だと裏側で VPC + ALB + Fargate が動いているとは想像できるとけどすべてマネージドなので、何も気にしなくていいというのが素晴らしいと思います。
すでに構築している VPC 内部のリソース(RDSなど)と連携したい場合とかだと利用できないぐらいでしょうか?
開発環境でこそ利用したいと思いますが、現時点だと WAF と連携もできないというのも気になる点ですね。
今後の成長が楽しみなサービスです。

「JAWS-UG 初心者支部#38 AWSビギナーのためのLT大会!」 #jawsug_bgnr 受講メモ&登壇

jawsug-bgnr.connpass.com

#36 に続いての初心者支部登壇です!

セッション

オファーLT①今さら聞けないコンテナの話。初心者向けAWSコンテナサービス紹介

講師:AWS 吉田さん

別にコンテナ得意じゃない。勉強会のために勉強をしたとです。

  • AWSで一番簡単にDocker起動するなら、EC2で起動すればいい
  • Elastic Beanstalk 使うとちょっと楽に環境構築、EC2上の環境準備いらない
  • たくさん立ち上げたくなったら?ECSを使えば配置や管理を解決してくれる
  • ECS on EC2 だとEC2の管理が必要、そこがめんどくさい
  • Fargateなら EC2いらない
  • k8sしってるならEKSもあり
  • App Runner も出た!

オファーLT②Qiitaで1800いいねを獲得したAWS初学者を導く学習ロードマップ図を解説します

講師:くろかわさん

Qiita の内容が書籍化決定!
それに伴い非公開になるかもだから早めにストックしてねとのこと

qiita.com

docs.google.com

LT①10分枠 (仮)AWSで作るLINEBot開発のすすめ

講師:ようかんさん

ようかんさんの LINE Bot のハンズオン受けたことあります!

speakerdeck.com

LT②15分枠 AWSと3rdParty(Netskope)連携でとても苦労した話

講師:境さん

ああ、Netskope にやられた経験あり

LT③10分枠 制約のある AZ の利用でハマった話

私の発表です。

speakerdeck.com

LT④15分枠 プラクティショナー・バイ・デフォルト(社員全員、最低でもプラクティショナー取得大作戦!)

講師: sanoさん

イレブンナインの合格率すごい!

LT⑤5分枠 RDSのリザーブインスタンスに気をつけよう

講師:ユータさん

RDS のリザーブインスタンスは、予約購入できないという罠。
EC2 は予約購入できますし、勘違いしますよね。

speakerdeck.com

LT⑥5分枠 AWS歴2年目がRoute 53使用してみた

講師:KoseiZakioさん

AWSドメイン購入はクーポン対象外!
そこで購入したドメインjaws-ug-kanazawa-68times.com。

www.jaws-ug-kanazawa-68times.com

所感

今回の発表内容での失敗は、VPC だけじゃなくて CloudFormation の書き方が間違ってたのも大きな勘違いだったんですよね。 その話はこちら。 この CFn の間違いも話したかったのですが、複数の話を入れると内容がぶれそうだったので、一つに絞りました。

古い AWS アカウントを引き継いだ場合はみなさま注意しましょう。