行く記憶の流れは絶えずして

戻ってこないのでメモするところ

waypointのサンプルを試した(ecs編)

先日のエントリーに触発されて試してみました。

先達はdockerなので私はecsです。

 

y-ohgi.blog

このエントリーで大体網羅できてるし、何なら公式も親切。

GUIがあるだけでもうれしいのに

f:id:taketsuru:20201022110555p:plain

コンソール

 

作業はec2インスタンスで実施。

・コンテナビルドでストレージ容量不足から死亡

 ケチってたのでebsを4GB追加

 皆様は大丈夫かと

・作業用awsユーザーにadmin権限付与

 ちょっとだけ!ちょっとだけだから!

 デプロイ系作業はIAM触るのでpoweruserでは足りないというトラウマ

・hclのregionをap-northeast-1に変更

 us-westでも何ら問題ないと思います、気分の問題

・同リージョンにecr作成

 これは勝手に作ってくれずにエラー

f:id:taketsuru:20201022105159p:plain

ecrは作れと怒られる

・ecsのクラスタは勝手に作ってくれた

 当然のようにfargate

 この記述から何故かalbもできるぞ!

 cdkを上回る親切!コワイ!何を作ってくれたか必死で探しました

f:id:taketsuru:20201022105308p:plain

hclファイルとプロジェクト構成

Procfileは"web: node index.js"とだけ記載、entrypoint?

 

f:id:taketsuru:20201022105514p:plain

作られたecsクラスタとfargateサービス

f:id:taketsuru:20201022105619p:plain

作られたalb

f:id:taketsuru:20201022110428p:plain

サンプルのデプロイ結果

 

waypoint(サービス)のインストールとwaypoint(コンテナ)の起動が両方必要

前者は後者へのコマンドのエイリアス的なことだけをしてくれている気がする

確かに処理の中心をコンテナにしちゃえば各環境での配慮いらないし

そういう時代なんだなぁ

ただ、waypointコンテナの起動は手動

waypoint ~ コマンド実行時にコンテナ起動してなかったら起動してくれたらカッコイイと思った

普通はコンテナ起動させっぱなしなのかな

自分はマメに止める派

 

 

ちなみにwaypoint destoryをすると

・fargate上のサービスは落ちるがクラスタは残る

・albも残る!課金!

確かに再デプロイするときは早いけど

オプションでまっさらを選択できるのかは不明、未調査

 

覇権か?となると判断が難しい

初心者意見だけどhclのsampleがバチバチにそろってterraformからすんなり移行できれば覇権かもしれない

 

k8sやeksのサンプルもあるのでそちらはまた別の誰かが試してくれることを期待

lobotomy日記 1周目 Day32-35

 自分の振り返り用です、ついでに楽しんでもらえば幸い

 

1周目 Day32

引いた新顔は火の鳥
作業がいいとキレるよく分からない奴
wikiをなるべく見ないでやってるのでかなり手こずる
脱走しても強いし
クリアに集中しコア抑制とかミッションは度外視してクリア

 

1周目 Day33

3週間のブランク明け
だけどおおよその注意点は覚えていた

ネツァクのコア抑制に挑む
前日に拾ってきたのは2つめのALEPHになる蒼星
お世話をしながら抑制に挑戦することに

いうてそんなに癖のあるやつじゃないし、ネツァクの負荷もそこまで
みんな強くなってて試練もそんなに手こずることなく終わる
クリア条件の暴走レベル6の一つ前の時点でエネルギーのノルマは達成してて、火の鳥をウサギさんで倒そうか悩む
でも試練で死体の山がぴょんぴょんしてるしやめておく
無難にクリア、上層一通り
ティファレトのコア抑制は37日目からできるっぽいが1周目でできるかどうか

 

1周目 Day34

ケセドのミッション(制限時間内)消化
余裕かと思いきや残3分、次のミッションが不安
蒼星のお世話も引き続き
お世話するだけで正義がもりもり上がるナイスガイ
なぜか女王の扱いを誤って数回やり直すことに
ALL5もそこそこの数ができてきたが、先に見える周回を考えると複雑
繰り返すと慣れるのだろうか

 

1周目 Day35

ほとんどday34と同じ
ついに下層が解放される

前回と見た目があまり変わらないので今回はスクショなし
Day33-35は同じ日に通しで4時間
あんまり苦戦した記憶もないが思いの外時間が経ってた
これからどうなるんだろ

terraformでec2インスタンスを使用したecs作成

codebuild使いたい

→コンテナビルドしたい

→codedeployでデプロイしたい

→デプロイ先のecsクラスタ作るか

 

という流れで3週間分の週末を犠牲にしている

gotoしたかったなあ

 

 

 

色々調べた最安構成

以下の流れで運用できるコンテナは一つなので全く有用性はない

常時稼働でなければfargateのほうが遥かに有用

  • t3.nanoを使用
  • ALBは$18/monthなので絶対に使いたくない
  • サービスディスカバリを見つける、プライベートなドメインならroute53の基本料金の$0.5/monthで済む
  • サービスディスカバリならネットワークはawsvpc必須
  • そうなると各コンテナにIPが振られることになる
  • t3.nanoのeni制限は2、1つはインスタンス自身が使用
  • 残り1
  • サービスディスカバリを普及させたいのかeni制限が緩和されたが高額インスタンスのみ
  • t3.nano + 30GB EBS(クラスタ構成要件下限) + route53 = $5.0 + $3.6 + $0.5 = $9.1

そもそもec2がecsクラスタに紐づかない

いろんなサイトからつぎはぎHCLを作成してそれっぽいものができる

vpc系を最初にやっておいてよかった、つぶしが効く

でapplyも問題なく終わるがecsクラスタにec2が紐づいてくれない

サービスがないとec2は必要ないから紐づかないの?とか独自の理論を考え出す

つぎはぎをいろいろいじってみるが進展せず

 

メモ

Error: error creating capacity provider: ClientException: ECS Service Linked Role does not exist. Please create a Service linked role for ECS and try again.

 最初のうちはエラーが出るが、これはサービスロールがないと言っている

そのサービスをいじるにあたっての権限詰め合わせみたいなもの

初回のecsクラスタ作成が成功するタイミングで生成されるっぽい

コンソール上で空のecsクラスタを作ればいい

 

中で何が起こっているか見るか

2週間経過

プライベートなvpcなのでssmAgentを使ってみようと考える

agentはイメージに入っているのでIAMにそれ用ポリシーをアタッチするだけのはず

だが動かず

じゃあパブリックIPつけてsshログインしてやる

 

意外!それはパブリックIP!

パブリックIPをつけてsgでインバウンドガバガバにしたら普通にecsクラスタに紐づく

ssmAgentも使える、ブラウザからログインできる

ついでにsg間違えててインバウンドは相変わらず全部遮断なのに気づく

・・・グローバルIPがあればよかったのか?

 

とりあえず

そこそこに整理してlobotomyやりましょ

ここしばらくゲームしてなかった

残りはroute53、codedeploy(サービスディスカバリ、サービスとタスク定義)

terraform備忘録

今更ながらterraformを始めたので備忘録

まずはapi-gatewayのlambdaプロキシを作った

 

cdkを少しかじっていたので、cdkとの対比みたいな感じで書いていく

 

まずは入門サイトでいろいろ調べてinstallとかsampleとか

terraformとは?、と誰に聞いても「明示的」くらいしか返ってこなかったが触ってみて理解

cdkは作りたいものに対し不足するリソースや設定を勝手に作ってくれる

cloudwatch、実行role、lambda...

がterraformはそれがない、良くも悪くもない

cdkでecsクラスタを作った時はvpcが必要で、よくわからんけどベストプラクティスみたいな書き方にしたがった

そしたらnat-gatewayがもれなくついてきて結構請求された

いうて知らん人間(当時の自分含む)から見たら確かにデフォルトありだよな

なんか外部と通信できないんですけど!ってことになる

一方terraformはそんな親切はないのでなんか外部と通信できなくなると思う

awsの構成を把握してる人向け的な

お試しで作りたいときはcdkで、運用に向けて詰めるときにterraform

みたいな感じで使い分けると便利そう

 

api-gatewayにしても似た感じで、cdkで作ったものに寄せていく

書いてて明示的って言いたくなるのもなんとなく感じた

 

引っかかったのが3点

・PowerUserでもiam作成権限とかないのでちょくちょく引っかかる

 請求系にちょっかい出せないけどiam操作できるterraform向け権限ないかな

aws_api_gateway_integrationのintegration_http_methodは内部用らしい

 type = AWS_PROXYの場合はPOST固定とのこと

 ガバガバapiなのでここもANYにしてたらコンソールのテストで内部が403だった

・コンソールからデプロイ忘れずに

 terraformでもコマンドあるかもしれないが

f:id:taketsuru:20200830170207p:plain

デプロイ備忘図

名前はv1とかでいいっしょ

lobotomy日記 1周目 Day27-31

自分の振り返り用です、ついでに楽しんでもらえば幸い

 

1周目 Day 27

まずイェソドの抑制に挑む
懸念は
・全快でない状態で死体の山に行ってしまう
・憎しみの女王に行くタイミングを間違える
・その他レベル制限を満たしてない職員を突っ込ませる

モザイク対策としてヤバいアブノーマリティ対応の職員を派手な見た目にしたり並びを端にしたり

いざ挑戦!
暴走アラートが憎しみの女王含めきついやつに集中し、
レベル制限のあるアブノーマリティに対し適した職員を忘れ、
その中で無視してカウンター0にしてもいいやつ(歌う機械とか)を必死にwikiで調べ、
いくつか勘で突っ込ませて(カカシ)何とかなって
それでも漏れがでて(桜)何人か死なせてゴールの暴走Lv6が見えてくる
試練は真紅の白昼、マシなほう

憎しみの女王の進捗を見守りながら試練用に職員を各廊下に配置していく
暴走Lv6を迎えた瞬間ポーズ、肉体の調和の出現位置を探すとシャーデンフロイデが失敗してた
いつの間にか画面に入れてたらしい、つらい
それなりの職員を充ててたので画面に入れなきゃ鎮圧してくれるはず

さて挑むか、と思ってポーズを解除したらイェソドにフォーカスが行って終了
白昼の試練は相手しなくてよかったのかと一気に気が抜ける

あのモザイクで犠牲もなにもわからなかったが、犠牲は桜に埋められた一人だけだったらしい
我ながらよくやった

f:id:taketsuru:20200822231840j:plain

めっちゃモザイク

1周目 Day 28

イェソド以外に抑制できるのはマルクト
ネツァクとホドは両方ともホドのミッション(4体鎮圧)が終わってない
ミッションが遅れたのは、ほとんどのやつが出てこないor出したら終わりなので
死体の山とか夢見る流れとかで補強もできたのでこれの達成を図る

Day 27で取得?した蝶は割と容易に鎮圧できたので丁度いい
蝶、カカシ、キュート、シャーデンを対象にする
シャーデンを2回鎮圧するとゲブラーの最初のミッション(HE以下5回鎮圧)も達成できてお得

シャーデンを使って憎しみの女王を御せるってのをwikiで見たがマルクト抑制にはまだ不安
暴走アラート発生時に無視できなくなる
いろいろ考えたがホドとネツァクのコア抑制したら最初からかな?

 

1周目 Day 29

ホドのミッション最後かと思ったらもうひとつあった
Lv5を5人っていうのは達成済み
Day 28で引いたのは審判鳥、3つそろってしまった
まあ能動的に脱走しないからセーフか、EGOが強力で二度見してしまった
結局ホド待ちなので審判鳥のお世話をしながら過ごす
ゲブラーの方はwaw級5回鎮圧なので2周目持ち越し

 

1周目 Day 30

ホド抑制に挑む

1回目

体力の低い職員がステータス低下も重なり罰鳥にやられる
何が起きたかわからなかった
育成中の体力の低い職員も結構事故死したので外すorポイントで補強

2回目

家系食べてきて再戦
自制が下がって憎しみの女王に手こずるも狂研究者ノートに気づく
黎明の直後に白昼が来て死体の山が脱走、白昼もろとも片づけるもベテラン二人がやられる
ステータス低下が深刻になり憎しみの女王相手に担当がパニックを起こしてしまい雲行きが怪しくなる
パニックになったやつが審判鳥を逃がし、罰鳥が勝手に脱走して終末鳥のプロローグが始まり断念
しかし手応えは掴む

 

f:id:taketsuru:20200822232017j:plain

このあと終末鳥のプロローグが流れて絶望
3回目

いい感じに進むもそりが脱走し死体の山がぴょんぴょんしてしまう
しばらくして憎しみの女王担当のベテラン職員が突然爆発四散!
狂研究者ノートのせいかな、めっちゃあせる
だが暴走Lv5、エネルギーノルマは達成しており数個のアブノーマリティに職員を割り振るだけ
ベテランの犠牲を出しながらクリア!

1周目 Day 31

記憶貯蔵庫刻印日はコア抑制できないのね
ホド抑制のおかげで新人は全能力Lv3から!特に正義Lv3がうれしい
強力だな、2周目以降ですごく役に立ちそう
中途採用で即戦力を入手した気分
現実の新卒のメリットって何かな、低賃金と忠誠心?
どちらもlobotomy社には関係なかった

初期値の職員が10人くらいいるけどどうしようかな
審判鳥のお世話と新規アブノーマリティ(蜂)のお世話をして終わる
と思ったら蜂がしんどくてなかなか終わらず

欲出してカウンター減らして職員が無駄死にってパターン

 

今日はここまで!

f:id:taketsuru:20200822232416j:plain

進捗

 

続・サーバーの引っ越し

前回までの内容を一通り実施したらまた問題が

lambdaを実行するVPCはpublicではダメというエラーがcdkで出た。

なんじゃそりゃ。コンソールをいくら見てもpublicとか指定する箇所がない

が、cdkのリファレンスを見るとサブネットにpublic, private, isolatedがあるらしい。

よくわかってないのでlambdaを作るcdkでVPCも作らせる。

VPCで金がかかるのはnatなのでその辺加味して作成。

参考にさせていただきました。

https://dev.classmethod.jp/articles/aws-cdk-no-natgw/

 

で作成できた。lambdaで使うサブネットはisolated。

その後VPCピアリングを前回作ったt3a.nanoのVPCとの間に作成。

lightsailとのピアリングはあきらめ。やりたいことはできてるからヨシ。

 

補足

cdkで作成したVPCを削除するとき、それを巻き込んだVPCピアリングがあると

削除できない(progressが進まない)ので注意。

 

どうでもいいこと

今まで1000円カットが信用できなかったが試しに行ってみた。

信用できた。今まで床屋難民してたのが馬鹿馬鹿しいくらい。

人によって当たり外れがあるとかいうけど床屋難民してた時もあったから同じ。

サーバーの引っ越し

殴り書き

ちょっと前lambda(api-gateway)からインスタンスに通信したくなった
ec2はlightsailより割高という先入観から遠ざけていたが改めて調べた結果引っ越すことに

t3a.nanoでebs8GBなら$4.2くらい(適当)でlightsailとの差額は$0.7ならいいかなと
・lambda(api-gateway)からvpcピアリングしたい
・4年くらい使ってたlightsailの整理
amazon linux2に慣れる

で、いろいろ引っ越ししてたら面倒が多発
今回みたいな長期連休はその面倒を楽しむ余裕があっていい

swap作成、goofys...初期設定はいろいろあったけどなんとか
この辺も反復して覚える系

既存サービス(node,go)の移植でつまづく、というかしばし迷う
dockerでやろうと思ったが容量使いまくるのでやっぱやめる

 

nodeはすんなりだったがgoで少し
sqlboilerがうまく入らず
これまでdepを使っていたがgo moduleというのが標準になったらしい

go mod(go module?)が初期化でdep init相当
あとはdep ensureとかせずにgo buildで勝手に依存関係をダウンロードしてくれる
便利

会社のプロダクトは必要になったら更新すればいいか
他の人そういうのの意識低いし急かされることもないでしょ

 

あとはラズパイをmqtt通信に改めたい

残った休みでいけるかどうか