めるぶろぐ

まったりぷろぐらまーの雑記

【参加記録】JAWS-UG朝会 #14 #jawsug_asa

JAWS-UG朝会にオンライン参加しました。
朝起きて7時開始だと勘違いして、やべえごみ出す時間がねえ!って焦った(7時半開始)

イベントページ

jawsug-asa.connpass.com

内容メモ

ラジオ体操

  • 左肩の調子が悪かったのは昨日リングフィットアドベンチャーをしてないかもしれない(インフルエンザの予防接種を受けたためやめた)

セッション① AWSコスト最適化のポイント~ここまでできるコスト削減~

  • コスト削減の話。
Reserved Instance(Reserved Node)
  • 長期利用で割引
  • リージョンの選択誤り等があっても購入後に変更できない(サポートに問い合わせると変更できることもあるけど……という感じみたい)。
Saving Plans
  • 一時間ごとの一定の費用をコミットすることで割引。
  • EC2、Fargate、Lambdaが対象(Lambdaは今年の2月から)
  • リージョンの変更とかインスタンスタイプの変更等は関係く、割引率が高いサービスから自動的に割引が適用される。
コストのモニタリング
  • Cost Explorer:料金確認
  • AWS Budgets:予算を超えると通知
  • AWS Budgets Action:閾値を超えた時にEC2が起動できないなどの制御をする(10月からの新機能)
  • 異常検出

セッション② 動画配信 × お買い物 × サーバレス

speakerdeck.com

  • オンラインイベント(動画配信+ネットショップ)の環境をサーバレスで構築した話。
  • AWS Elemental MediaLinkっていうハードウェアがあり、MediaLiveと簡単に接続できる(ただしシングルパイプラインなので冗長化するには複数台必要)。
  • shopifyというところでネットショップが簡単にできる(https://www.shopify.jp/)。
  • タイムセール(時間限定商品を販売)するためにAppSync、GraphQLで状態管理をしてる。
  • ↓のブログにもっと細かいところが書いてあるとのこと(あとでじっくり読みます)。

sodane.hokkaido.jp

LT① CloudEndureでVPSからAWSへ移行

www.slideshare.net

  • CentOS5の環境をCloudEndure MigrationでAWSに移行する話。
  • CloudEndure Migration:無料で使えるAWS移行を簡単にできるツール。
  • 20GB程度の物理環境を移行するのに1時間くらい。
  • 物理環境も移行できるのが強みっぽい(AWS Server Migration ServiceやVMのImport/Exportは仮想環境しかできない)。

LT② Organization周りの機能

www.slideshare.net

  • AWS OrganizationsをCloudFormation Stacksets、CloudTrail、Configに導入する話。
  • Organizationsの親アカウントでまとめて管理できるようにすると便利だなっていうことなのかなー。
  • と思っていると親アカウントは空にして支払のみをさせるという運用がベストプラクティス、らしい。

LT③ Lightsailでワンコイン開発環境をつくる

speakerdeck.com

  • Lightsailのはなし。
  • Lightsailは月額課金。EC2より安い。
  • VPCインスタンスプロファイル・AutoScaling使えない等の制限はある。
  • DNSの管理とかいろんな機能がついてる。
  • EC2よりLightsail使ったほうが機能・価格面で有用な場合は結構ありそうだなーという感じ。

所感

JAWS-UG朝会、朝から活動してる!って感じがしてとても良い(ラジオ体操から始まるのもGood)。
あとは分野違う話が聞けるのは興味深かった(動画配信とか関係することないので)。

AWS Budgets Action、予算作成の画面の中に予算アクションを追加ってボタンがあったのでここでできるみたい。
f:id:mel_27:20201027163524p:plain
停止したいEC2インスタンスごとに設定が必要なので、もし料金次第で停止してもいいようなインスタンスが多いとちょっとめんどいかも(そういうときこそAWS Budgets APIつかってCLIとかかな)
f:id:mel_27:20201027163728p:plain

AWS Organizationsはなんかいろいろ話題に上がるので自分一人のアカウントしかない現状でも使ったほうがいいのかなと思い始めています(考え中)。
LT③をされてた波多野さんが「インフラ屋さんもアプリかけるようになりたいですね」って言ってたのは心に刻んでおこうと思います(来年度異動でプログラム屋さんからインフラ屋さんになるので)。

【参加記録】JAWS-UG千葉支部オンライン#7 Serverless Hands-on Advanced #jawsugchiba

JAWS-UG千葉支部のオンラインハンズオンに参加しました。
サーバレス完全に理解した(わかってない)。

千葉に行くには熊除けの鈴がいるらしいです……。
千葉……千葉LOOKに一回行ったことあるのと、大学院生時代に千葉大学で数日お世話になったくらいの縁しかないですね。

以下個人的なまとめです。

イベントページ

jawsug-chiba.connpass.com

資料

github.com

使用したサービスについて

AWS Lambda
  • コンテナを立ち上げてプログラムを作成する。
  • コンテナは一定時間で破棄される。(破棄されないようにするならAWS Fargateを使用)
  • 使用するプログラムはユースケースに合わせて選ぶ。(例:Javaは初回起動が遅く、node.jsは初回起動が早いけど、CPU効率などを考えるとJavaのほうがいいケースもある)
AWS Cognito
  • ユーザーの認証・認可をする。
  • ユーザプールとIDプールを使用して認証・認可を提供。
Amazon API Gateway
  • Lambdaを使用したAPIREST API 等)を作成する。
AWS Amplify
  • SPA(Single Page Application)の構築・デプロイ・ホスティングができる。

ハンズオン

やったこと概要
  1. Amazon DynamoDBでNoSQLのデータベースを作成する。
  2. IAMでAWS Lambdaの実行権限を制御する。
  3. AWS Lambda関数をCloud9から作成し、DynamoDBにアクセスする。
  4. Amazon API Gatewayで、前項で作成した関数をRestful APIにする。
  5. AWS Cognitoでユーザーの認証・認可を追加する。
  6. AWS Amplifyで、前項までの手順で作成したのと同様のSPAを作成する。
つまづいた
  • API Gateway TestのWebブラウザでどうやってもStatus Code:0になる→apigClient.js配置するフォルダ間違ってた><

メモ(主にツイッターにリアルタイムで書いてたまとめ)

ハンズオンの内容
  • Cloud9からLambda関数の作成やロールの権限付与・実行などがウィザード形式で行える。
  • Lambdaの実行について、初回は時間がかかる。
  • Cognitoは後から変更できない項目が多い。
  • Cloud9のデフォルトは10GB。拡張する場合はシェルスクリプトで行う(公式の手順)。
  • Cognitoではログインユーザの権限だけでなく、未ログインのユーザの権限も設定できる。
CORSの設定
  • CORS(Cross-Origin Resource Sharing)(オリジン間リソース共有)
  • 一般的なWebブラウザでは異なるサイト(オリジン)間でスクリプトが実行できるようになっていないので、そこを実行できるように変更
  • 本ハンズオンだとローカルPCからAWSにアクセスできるようにする
  • IE(仕事で触ってるシステムはIE固定なので……)のオプションのセキュリティ設定で「ドメイン間でのデータソースにアクセス」で設定変更しているあたりの内容(たぶん)
  • あとでググろう……ってツイートしたら親切な方(ハンズオン手順書の作成者の方)が教えてくださった……感謝の極み……

所感

サーバレス完全に理解した(わかってない)
AWSのサービスあんまり使えてないので、いろいろ使えたのすごい楽しかった、ハンズオンの量が多くて順にやっていくだけで手いっぱいだった感はありますが……。
AWS Amplify、ぽちぽち選んでたらSPAができて便利なんだけど裏で何やってるかを理解しないと本当に使ってるだけになりそうだな~という感じ。それでもいいのかな……?
たぶん裏でCloudFormationのテンプレートからリソース作成している(んだと思う)。

JAWS-UG千葉支部の和田さんが共著の書籍「基礎から学ぶ サーバーレス開発」を買った(正確には最寄りの本屋に取り寄せを頼んだので週末には届く)のでもうちょっと勉強します。
www.amazon.co.jp

【参加記録】Docker道場オンライン#1 Docker基礎概念と用語の理解 #dockerdojo

Docker道場オンラインに参加しました。
Docker名前はよく聞くしハンズオン程度にちょーっとだけ触ったこともあるのだけれど使いどころがいまいちわかっていなくてよくわからない存在のまま……。
以下個人的なまとめです。

イベントページ

dockerdojo.connpass.com

メモ

  • 基本的な概念はBuild・Share(Ship)・Run。
  • Dockerイメージはイメージ・レイヤの積み重ね。
  • ファイルシステムとか設定ファイルとかが個々のイメージレイヤでそれがまとまって一つのDockerイメージになる
  • イメージレイヤには親子関係がある。
  • イメージレイヤは差分だけなので軽量になる(とはいえ工夫しないと大きくなっちゃうので理解してうまく作らないとだめっぽい)
  • docker inspectでイメージ実行時(run)にやってることが見える。(hello-worldのイメージだと実行ファイルhelloを実行している。実行ファイルはpullしてきた中にある)
  • コンテナ実行時 コンテナ側でpsコマンド打ってもコンテナのプロセスしか(隔離されてるので)見れないけどホスト側だとコンテナのプロセスも見れる
  • コンテナ側で/proc参照したりfreeコマンド打った場合はホストの分も見れる(こっちは隔離されてないので)
  • Play with DockerというDockerのサンドボックス環境がある。1回の起動で4時間使えるhttps://labs.play-with-docker.com/

ドキュメント

  • 書籍は古いことがあるのでオンラインドキュメント見たほうが良いとのこと。
日本語化したもの

docs.docker.jp

所感

  • Play with Dockerめちゃ便利……Docker触ってみたいがためにDocker Desktop入れてたのは何だったんだ……?という気持ちになった……
  • サンドボックス上でdocker pullしてきていろんなイメージをrunやinspectしていろいろ見てみながら資料の復習していくのがいいのかな……?
  • コンテナで隔離されてるものと隔離されてないものを理解しないとややこしいことになりそう。

【参加記録】JAWS-UG CLI専門支部 #169R S3基礎 バージョニング #jawsug_cli

JAWS-UG CLI専門支部のハンズオンに参加しました。
以下個人的なまとめです。

イベントページ

jawsug-cli.connpass.com

ハンズオン資料

prototype-handson-cli.s3-website-ap-northeast-1.amazonaws.com
手順書わかりやすくてすごい~~~ってなるけどなんとこれ自動生成してるらしい、すごい。

バージョニングとは

  • 複数バージョンのオブジェクトを管理できる機能。
  • バージョニング有効な場合 名前空間が広がるだけ(末尾にバージョンIDのついたオブジェクトになる)
  • バージョンIDを指定しないと一番新しいものが取れる
  • Gitのように差分情報を持つものではないので、サイズはリニアに増える。ので利用料金も増える。めちゃめちゃお金有り余ってます~~とかならこれ使う選択肢もあるのかな……。
  • 利用用途としては、保存期間を指定するものや、監査として必要な場合くらい。
  • よほど(上記監査とかで)AWS上でのバージョニングが必要でない場合は、S3のそと(Gitとか)でバージョン管理するほうが良い。
  • 公式ドキュメント

docs.aws.amazon.com

ハンズオン

やったこと概要
  • S3上にテキストファイルを配置して、バージョニングを有効化する。
  • テキストファイルを変更して、複数バージョンが保存されていることを確認する。
  • 特定バージョン・最新バージョンのオブジェクトを取得する。
  • バージョンを指定、または全てのバージョンのオブジェクトを削除する。
つまづいた
  • Cloud9、新しく環境作成するたびに新規EC2インスタンスにロールを付与しなければならないのに気づかなくて、権限でエラーになった。

(ユーザ・ロールの作成は前回やってるから……の意識でいた、EC2はCloud9の環境作成ごとに作られるので個別にロールの付与が必要。)

メモ(主にツイッターにリアルタイムで書いてたまとめ)

AWS CLI関連
  • IAMポリシーを検索ときは検索パス(path-prefix)を指定したほうが速くなるらしい(と聞いたのでpath-prefixのオプションをコメントアウトしてみたけどそんなに変わった感じはしなかった……ハンズオン外でのIAMポリシー作ったりしてないし検索対象が少ないからそんな違いがないのか、その前にコメントアウトしないで実行してたからキャッシュかなんかに残ってて早いだけなのかどうなんだろう)
  • 上IAMポリシーの検索パスは先頭・末尾の両方に「/」が必要。
  • S3の操作にはS3ハイレベルコマンドとs3apiがあるが、s3apiコマンド使ったほうが厳密&応用が利き、s3のほうが利便性高い(ショートカットみたいな感じ)なのでどっち使うかは場合に応じてって感じらしい。
  • バケットを消すときはすべてのオブジェクトを消す必要がある→バージョニングが有効な場合はすべてのバージョンのオブジェクトも消す必要がある。
  • 複数バージョンが保存された状態でバージョニングを停止すると、画面上は見えないけどオブジェクトが残ったままになり、バケットが消せなくなる。
  • オブジェクトの情報を取りたい時はhead-object、オブジェクト自体を取りたい時はget-objectを使用する。(オブジェクトのタイムスタンプがとりたいだけのような場合にget-object使うとその分だけダウンロードの料金がかかっちゃう。オブジェクトのサイズが大きいときは特に)
CLI&手順書の全般的な話
  • 手順書書くときは変数にreadonlyつけることも有用(どっかで書き換えがおこっちゃうことがある)
  • 個人で使うときはできるだけ変数使ったほうがいい(書き換えるときに1部分で済むしどこを変数にするか?というのを考えるきっかけになる)、他人に渡すときは良し悪しあるので場合に応じて

所感

  • 前回のCLI専門支部ハンズオンは手順を追うだけでいっぱいいっぱいだったのだけど、今回は余裕をもって作業できたし、ツイッターでリアルタイムにメモとか感想とかがつぶやけた。
  • 使いどころが難しそう(前述したが監査で必要な時くらい)なので、利用することはないかなーという感じ。そういうのがあるのか、という程度。
  • CLIで変更する部分について、GUIの画面上でここがこう変わってる、みたいなのが見れるのはわかりやすい(アンケートでも言及されてたけど)。
  • CLIとか手順書についての話としてはすごい有益だった。変数とかreadonlyとかいろいろ活用したい。

変更履歴

・2020/10/10 Twitterにて指摘いただいた箇所の訂正

じぶんRelease Notes ver 0.31.3

9/1~9/30の出来事がリリースされました。

技術・開発関連

  • AtCoderを続けています。現時点で参加回数7回、Rating135。

読み終えた本

参加イベント

イベント参加した際はこれからはブログにまとめるなどしたい。ツイッターにはタグ付けて投げ込んでいるので。

目標ふりかえり

  • 健康診断の二次検査に行った。
  • リングフィットアドベンチャーが継続できている。

 3周目に入ってスキルの選択肢が増えた(攻撃力がどのスキルでも同じになった)のでいろいろやってみている。

目標

短期
  • AtCoder 過去問を解く。C問題くらいまでは解けるように。継続。
  • AWS結構個人的に触るようになったしクラウドラクティショナーを年内目標くらいでとろうかな……(問題はオンライン受験の環境…主に部屋)。
長期

所感

半年後の異動がほぼ確定らしいので(諸事情あっていずれ異動はあると思っていたが思ったより早かった)仕事のモチベーションを失っている。
プログラム楽しいけどプログラムやらない部署に行くしそこをめちゃめちゃ頑張ったところで……?という感じ(プログラムやる部署に帰ってこれるかもしれないが)。
あと異動先で何をやるのか本当にわからない(現上司もわからない、、、、。)、と思って時々ぼんやり転職サイトを眺めるなどしている。

じぶんRelease Notes ver 0.31.2

8/1~8/31の出来事がリリースされました。

技術・開発関連

8/29のABCはA問題しか解けなくて絶望したりしている。
チャレンジ回数がまだ5回未満なので次回からは正しいランクになる?はず。
蟻本難しいのでちまちま読んでいる。あと過去問をちょっとずつやっている。

AWSのEC2のインスタンスを作りっぱなしにして課金されたのは反省。

目標ふりかえり

リングフィットアドベンチャーを(お空の古戦場とその後の体調不良を言い訳にして)3週間ほどさぼったので反省。
お酒はたぶん減っている(古戦場中は飲むと寝るのでそもそもあんまり飲めない)。

目標

短期
  • AtCoder 過去問を解く。C問題くらいまでは解けるように。
長期

短期の目標を長期に持ってきた以外は特に変化なし。

  • Microsoft learnでAZ-104の範囲の実行。
  • ゼロから作るDeep learningの実践。
  • リングフィットアドベンチャーの継続。
  • 平日の飲酒を減らす。
  • 歯医者に行く。
  • 健康診断の二次検査に行く。
  • Oracle DB 運用・バックアップ関連の勉強・復習。
  • AWSGCPの体系的な勉強。
  • AtCoder色付きを目指す。

所感

AtCoderをはじめてしまったので続けていきたい。しばらくはこれメインでクラウド系をぼちぼち触るかな……という感じ。
コロナがだいぶん落ち着いてきた感じがある?ので県内のピアソンテストセンターには行けるかな……AWSクラウドラクティショナーはさくっと取りたいな……という気持ち(オンライン受験はあるけど自宅がワンルームのため本棚とかいろいろある自室で受けられるのか?という問題。カメラ付きのノートは頼めば会社のを貸してくれると聞いたのだが)。
相変わらず今後のエンジニアとしての指針が見えない、ままに来月には下半期の面談があると聞く、どうしたものか。
同期が退職したことにより、退職って選択肢もなんだか近くにあるものだなあなんて気持ちになったりもして。

じぶんRelease Notes ver 0.31.1

7/20~7/31の出来事がリリースされました。

技術・開発関連

とくになし(いろいろ手が回っていない)

読み終えた本

目標ふりかえり

いろいろ手が回っていなくてできていないことが多すぎる……。
飲酒量は減っている。リングフィットアドベンチャーの実践はぼちぼち。
Jump Rope Challengeはちょっと飽きちゃった感ある(リングフィットアドベンチャーだけやってれば十分では?という気持ち)。

目標

短期
長期
  • リングフィットアドベンチャーの継続。
  • 平日の飲酒を減らす。
  • 歯医者に行く。
  • 健康診断の二次検査に行く。
  • Oracle DB 運用・バックアップ関連の勉強・復習。
  • AWSGCPの体系的な勉強。
  • AtCoder色付きになる。

所感

7月後半はいろいろ手が回っていなかった。
じぶんリリースノートも8月が半分終わろうという今になって書いている(頭の片隅にはずっとあった……)。
8月はAtCoderに挑戦してみたりといろいろ着手できてはいるので次回はもう少し書くことがあると思う。
自分にとって何が有益か楽しいのかわからなくなったので手広くいろいろやってみている、のが正解なのかどうかわからない。
何かを極めたほうがいいのかな、じゃあなにを?