「CPU使用率」を含む日記 RSS

はてなキーワード: CPU使用率とは

2023-05-12

anond:20230512180741

Dockerは、開発から運用まで一貫した環境提供することで、開発者作業負担を減らすという大きな利点があります。また、仮想マシン比較してリソース使用効率が高いため、エコとも言えます

ただし、確かにDockerには一定オーバーヘッド存在します。これは、DockerゲストOSを持たずに、ホストOSカーネルを共有して動作するためです。それにより、アプリケーションの実行に必要リソースが追加で必要になり、パフォーマンスに影響を及ぼす場合があります

また、Dockerを利用する際の設定や構成によってもパフォーマンスは大きく変わります。例えば、Dockerネットワーキングストレージの設定、またホストOSとの互換性など、考慮すべき要素は多数存在します。

あなた現在の状況について具体的に述べると、FESSクローリングが重いという問題は、Dockerオーバーヘッドけが原因ではない可能性がありますDockerコンテナ内のFESSJVMの設定、ホストマシンリソース割り当て、ネットワークストレージの設定など、様々な要因が絡んでいるかもしれません。

また、Dockerログ出力が多いと感じる場合も、実際のところはFESSDockerの設定によるものかもしれません。ログの出力レベルを調整することで、必要情報だけを出力するように設定することも可能です。

しかし、これらの設定を調整するためには一定知識経験必要で、それがなければ素直にネイティブ環境での構築が良い選択かもしれません。結局のところ、どの方法が最善かは具体的な要件や状況によります

このような状況に直面した際には、パフォーマンス問題を具体的に分析し、適切な解決策を見つけるためにパフォーマンスモニタリングロギングツール使用することをお勧めします。それにより、問題の原因を特定し、適切な対策を講じることが可能になります

たとえば、Dockerが高いCPU使用率を示している場合、それはコンテナ内のアプリケーション(この場合FESS)が高いリソースを消費している可能性があります。その場合アプリケーションの設定や実行パラメータを調整することで改善できるかもしれません。

また、Dockerコンテナリソース制限を調整することも検討できますDockerは、コンテナに割り当てるCPUメモリの量を制限する機能提供しています。これにより、他のプロセスに影響を与えることなく、特定コンテナリソース使用量を管理することが可能です。

さらに、Dockerボリュームネットワーク設定が適切であるかを確認することも重要です。不適切な設定はパフォーマンスに悪影響を及ぼす可能性があります。たとえば、ファイルI/Oパフォーマンスは、ホストOSコンテナ間でデータを共有する方法に大きく依存します。そのため、適切なボリュームの設定や、パフォーマンスを向上させるための最適化オプション適用されていることを確認することが重要です。

最後に、Docker自体アップデートパフォーマンス改善寄与する場合があります。最新のDockerエンジンには、パフォーマンス改善するための修正改善が含まれていることがあります

これらの要素を考慮に入れ、Dockerパフォーマンス最適化する方法を探すことができます。ただし、これらすべてを試してもパフォーマンス改善しない場合や、必要知識時間が不足している場合は、Docker使用しないネイティブ環境での構築が最善の選択であるかもしれません。

Dockerオーバーヘッドが無いわけじゃない・・・のか?

そりゃそうなんだろうけども。そんなに?

追記FESSOSに直接インストールするのに参考にしたというよりコピペさせてもらったのは以下の記事

https://qiita.com/hyoshiaki/items/598127fe30b94bd82b6e

半年前に辞めてしまった前任者から存在すら知らされていない客先のメールアカウント必要になった。

無いならないであきらめてもらえるんだが、僕は優しいのでファイルサーバに無いかくらいは確認しようと思ったが

まぁ魔境。2004年の最新ファイルとかあるの。

なので昔うっすら使ったことのあるFESS全文検索しよう、多分txtxlsだろう。

ウェブサイトで構築方法を見ると今はDockerで動かすのが良いらしい。何がいいか知らんが。

ドキュメントに従いインストールし、なんとかクローリングまで実行できたが、重い。重すぎる。

サブフォルダ無しで100ファイルくらいのフォルダでも2,3日回しても終わってない。

CPU使用率50%超えてるんだよ!ってログが出まくっている。そのログ出力無駄じゃない?

使えないかー、とググってみるとDockerではなく素で構築する方法を有志の方が書かれているのを発見

それに従い構築。するとサブフォルダ5階層くらいのフォルダ3分くらいで終了。

ログCPUがーっていうのも出てないわけではないが、明らかに少ない。なんだこれ。

ファイルサーバーのルートを設定し土日を待つ。いまこっこ

Dockerは構築楽らしいしVMよりエコだっていうのは聞いたことあるんですが、

素のOSに入れるよりはどうしてもオーバーヘッドあるんですかね、というのが今回の教訓でありました。

なんかうまいこと設定すれば速くなるのかもしれませんが、そこまで追う知識はござらないのです。

2022-12-26

Unifi Dream Router (UDR) が良かった

自宅ネットワークで、セキュリティのためにタグVLAN切ったりしたいけどEdgeRouterとか中古RTXのようなCLIで設定するのはめんどくさいな…。Wi-Fiとかも1つの機器で一緒にやってほしいな…。という人にピッタリ。

半年ほど前にUnifi Dream Machine(UDM)を買って、GUIアプリで細かいところまで設定できるし(CLIアクセス可能だけど使ったことない)便利だなあと思っていながら愛用していたら、先月にUDRの日本版が発売された。UDM買ったばかりなので迷ったけど、PoEとWi-Fi6がほしいので買ってみた。UDMより安いしね。

結果としては大正解で、UDMとくらべてWi-Fiが強くなって風呂に届くようになり、PoE対応で電源タップを1つ開けることができ、Wi-Fi 6対応自己満足を得ることもできた。CPUスペックが下がってるのが懸念点だったけど、スピードテストCPU使用率の値を見る限りでは個人ユースでは問題なさそう(DPIをつけて外向き600Mbps程度は出る模様。それ以上出るのかは不明)。

一つ気になったのはファンの音で、UDMでは無音に等しかったのがUDRでは若干音が聞こえるようになった。上部のカバーが揺れてるのが音の原因の一つらしく、カバー本体養生テープで固定したら気にならなくなった。寝室に置くならUDMにしておいたほうがいいかも。

Unifi製品は安くて(英語が読めるなら)ナレッジも多く、ライセンス不要アップデートしてくれるのでおすすめです。APあたりも買ってみたい。

2022-12-01

ラズパイ4で録画 2nd season

ラズパイ4で全部やってもらうのはあきらめよう

そう思ったらラズパイ4が輝き出した

ラズパイ4 4GB + SATA SSD(USB外付け化) + PX-Q3U4 + epgrecUNA + lighttpd構成

・8本同時録画いける、load average 2.09

トラコンはムリ、リアルタイム視聴なし、とにかく ffmpeg ダメゼッタイCPU使用率が一気に悪くなる)

エンコを捨てればなんとかなるがエンコを捨てるとHDD容量リミットマッハになるので

録画済のファイル不定期にエンコしに行く別ノード必要かも知らん

もう一台ラズパイを用意して共有フォルダ見に行ってエンコ + 録画サーバDBレコードぶっこむ、みたいなの

追記: gst-launch-1.0 でも頑張ってみたが ffmpeg 使ったのと大差ねえわ。エンコするなら同時に2か3(夏なら2かも)、エンコなしなら8本、というアンバランスな話になりそう。

2022-10-26

教師今日はみなさんが静かになるまで3分かかりました」

私「今日PC起動からCPU使用率100%張り付きが終わるまで15分かかりました」

2022-07-26

youtubeCPU使用率抑えるスクリプトすげー

ライブ配信見てるとアホみたいにバッテリー減ってたけど、目に見えて効果があるわ

作者神やろ。あとライブチャット周りの実装クソすぎるやろ。Google何してんのや!

スーパーチャットバッジ背景色レンダリングを毎秒60回やるとか、頭湧いてるんじゃねーの?

そして作者の方マジでありがとうございました。これでこのノーパソバッテリー寿命も伸びるでしょう

2022-05-28

エロサイトって裏で何やってるの?

タブ開いたまま放置してたらPCファンものすごい回ってた。

topで見てみたらCPU使用率が100%。

裏で勝手マイニングしてんじゃねーのか。

2022-05-20

CPU使用率グラフを見ていると休んでいるCPUあるじゃん

お前働けよ!って思うんだけど、

この休んでるCPUってなんなの?

2022-05-05

anond:20220505135352

まったくその通りで、数年前ならPCを使った会議をメインでやることも少なかったから2コア4スレッドメモリ8GBのPC全然十分だったんだよ。

Officeを使うなら十分。これは正しかったんだ。

でも今はOfficeだけを使うケースはあんまりなくて、Teamsで画面を共有しながらOfficeを使う。リモートワークになってるから情シスが導入を強制した監視ソフトパワーアップしてて常に1コアを占拠していたりする。Teamsが1コア、監視ソフトが1コアを占拠しているから2コアが全部使われているので他のことをやる余裕がCPUにはなくなっている。

会議しつつ、「いま資料を出します少しお待ちください」とか言って皆を待たせることになる。そこに30秒ほどかかってしまう。自分生産性が下がるだけじゃなくそ会議に出てる全員の生産性を下げている。

監視ソフトが1コアを占拠しているがハイパースレッディングのおかげでこれが占有しているCPU使用率は25%と表示される。監視ソフトベンダ情シスは「1/4しか使っていないので他のことは十分できるはずである」などと言っているがそんなことはなく実態としては40%くらい使っている。とにかく今の時代にはメモリ8GBで2コアのCPUでは、企業で使うという制約の下では、環境によっては仕事にならない。半分は情シスのせいだとは思う。

2022-04-09

思い出や経験ディスククリーンナップ

のやり方知りませんか?

もはや意味のない「高校生活2008」とか「挫折経験2012」「打ちのめされ感2015」みたいな1個1個はそんな大したことなくてもこのファイルアプリ?の残骸みたいなのが体に残ってる感じありますよね?

そのせいで体っていうか精神というか動作重くなる感じありますよね??

もうどうやったら削除とかアンインストールできるんですか!?!?

不可逆なんですか!?!?!?

なのになぜ若いときの苦労は買ってでも知ろなんていうんですか!?!?!?!?

バカクソ負荷たけぇ!!!

有料でもいいので負荷が高すぎる記憶アンインストール方法教えてください!!!!!!

私の体はもう訳のわからない古いアプリケーションでCPU使用率がやばそうなんです!!

!!!

なのにスリープすらうまくできないんです!!!!!!

たすけて!!!!!!

2022-03-05

anond:20220305180050

ニュースと称して広告送ってくる」のは反意図性があるからあとは、

CPUパワーを結構くう」が具体的にどれくらいかによるけど、50%超える?

コインハイブ最高裁判決では、プログラムの反意図性は認められたけど、

CPU使用率が0.5に設定されてたことで実害がないとして無罪になった。

もしそれより大きいようなら実害アリとして、通報もしくは告発してみては?

事件化すれば新たな判決基準が出来上がりそう。

・・・と思ったけど、たぶんWindows使用許諾書のどこかに

ユーザーエクスペリエンス云々~のために、Microsoft社が広告配信する権利が云々~、その実行環境ユーザー提供する云々」みたいな文言があって、

「それに同意しているから無理」とかなるんだろうなあ。

2022-01-25

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

サーバーレスコンピューティングエンジン

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービスAWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス

App Runner

 2021年5月GA(一般公開)となったサービスプロダクションレベルスケール可能webアプリを素早く展開するためのマネージドサービスGithub連携してソースコードをApp Runnerでビルドデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。

 ECSとFargateの場合ネットワークロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である

ECS Fargateを利用した場合コスト拡張性、信頼性エンジニアリング観点

コスト

EC2より料金は割高。ただし、年々料金は下がってきている。

拡張性】

デプロイの速度 遅め

理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる

理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。

タスクに割り当てられるエフェメラストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要場合はEFSボリュームを使う手もある。

割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリ要求するホストとしては不向き

信頼性

Fargateへのsshログインは不可。Fargate上で起動するコンテナsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境sshの口を開けるのはリスキーである。他にSSMセッションマネージャーを用いてログインする方法もあるが、データプレーンEC2の時に比べると手間がかかる。

しかし、2021年3月Amazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。

エンジニアリング観点

Fargateの登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

サーバーレスコンピューティングエンジン

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービスAWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス

App Runner

 2021年5月GA(一般公開)となったサービスプロダクションレベルスケール可能webアプリを素早く展開するためのマネージドサービスGithub連携してソースコードをApp Runnerでビルドデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。

 ECSとFargateの場合ネットワークロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である

ECS Fargateを利用した場合コスト拡張性、信頼性エンジニアリング観点

コスト

EC2より料金は割高。ただし、年々料金は下がってきている。

拡張性】

デプロイの速度 遅め

理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる

理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。

タスクに割り当てられるエフェメラストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要場合はEFSボリュームを使う手もある。

割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリ要求するホストとしては不向き

信頼性

Fargateへのsshログインは不可。Fargate上で起動するコンテナsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境sshの口を開けるのはリスキーである。他にSSMセッションマネージャーを用いてログインする方法もあるが、データプレーンEC2の時に比べると手間がかかる。

しかし、2021年3月Amazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。

エンジニアリング観点

Fargateの登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

2022-01-22

コインハイブ裁判の影響

あの裁判官バカ過ぎる。技術革新を守るどころか足を引っ張る判決だ。以下、今後起きる影響を列挙する

まとめサイトニュースアプリの類が一斉に仮想通過を掘る処理を実装してしま

CPU使用率50%までなら合法という判例が出たからだ。お金臭いに敏感なこの手の業者がこのチャンスを見逃すわけがない。

若年層を中心に「スマホがすぐ熱くなる」「バッテリーの減りが早くなった」という苦情が急増

当然ながらこうなり、若者Webアクセススマホアプリをあまり使わなくなる。

法整備の声が高まるが国は最高裁判決を無下にできないので何もできない

そして最高裁判決で出た「技術革新」という単語国民批判が集まっていき、

技術革新は停滞

という結果が待っている。

最高裁裁判官は、性善説物事を見すぎである有罪しろとは言わないが、「早い法整備を望む」など、野放しにならない付帯文を入れるべきだった。5年後を見据えて裁判してほしかった。

2022-01-20

コインハイブ事件における漫画村トレンドマイクロの「暗躍」

僕がコインハイブを知ったのは冤罪検挙されたモロさんと同じくGIGAZENEの海外記事紹介でだった。2017年後半のことだ。

その後、海外の超大手海賊版サイトが導入したとか日本でもニュースにもなり知名度海賊版サイト悪名とともに広まった。

そして漫画村コインハイブを導入して、さら悪名がつくことになった。

2018年。それまで一部のまとめサイトなどでの範囲に収まっていた漫画村批判が、2018年は年初からマスコミ大手ネットメディアも名指しで取り上げるようになった。

その時期にコインハイブ設置したものから、そうした記事ではコインハイブ漫画村批判にこれでもかと利用された。

その時にマスもネットも全てのメディアコインハイブ解説トレンドマイクロに求め、トレンドマイクロコインハイブへの警告を出し続けた。やれCPU100%、やれ端末がぶっ壊れる等。

批判記事が量産されるとともに漫画村叩きの熱も高まる。それとともに各記事におけるコインハイブ解説漫画村批判を煽るために怖さを増幅させるものになっていく。

初期のねとらぼ記事ではトレンドマイクロ解説として「ウィルスではありませんがトラブルになることがあるのでトレンドマイクロでは警告を出している」と穏当なコメント掲載してるhttps://nlab.itmedia.co.jp/nl/articles/1802/20/news114.html

が、3月NHK記事になるとトレンドマイクロCPU使用率100%になる画面を見せる調査を元にコインハイブについて「アクセスするだけで利用者の端末で不正プログラム勝手に動きだすことがわかりました」と「不正」と断定して記述するようになりhttp://www.nhk.or.jp/seikatsu-blog/800/291202.html

4月にはテレ朝系のAbemaニュースではネットに詳しい弁護士コインハイブについて「不正指令電磁的記録供用罪に問われる可能性がある」と違法行為解説させるようになったhttps://times.abema.tv/articles/-/3978705

産経漫画村記事コインハイブは「北朝鮮資金源」と書いた。

こうしたメディアの動きと合わせて、この時期Twitterでは何とか漫画村を利用させないために「漫画村ウィルスが仕掛けられてる」という投稿拡散されるようになり、「コインハイブウィルス不正」という理解高まる

このようにメディアSNSで「コインハイブ=悪」という認識根付いていく裏で、全国の警察コインハイブ設置者の大量検挙に動いていた。NHKがこの時期に「不正プログラム」と断定していたのも警察の動きを把握してのものだろう。

その後、漫画村政府によるブロッキングを経て潰れ、それとともにコインハイブ話題も一旦終了する。

そして漫画村記憶も薄れた6月警察が「今年に入ってコインハイブで数十人を検挙したよ~」と発表し、高木浩光先生が「コインハイブ逮捕おかしい」と批判の声を上げて流れが変わる。http://takagi-hiromitsu.jp/diary/20180610.html

高木先生コインハイブ事件となった理由を「トレンドマイクロの暗躍」だとした。

漫画村はすでに潰れていたこともあり、以前に漫画村つぶしのためならとおかしいことをおかしいと言わずスルーしていた人たちも一斉に高木先生同調し「コインハイブ不正じゃない」と声をあげ冤罪救済のちからとなった。

警察としては「漫画村メディア報道の時にはおかしいとか言ってなかったじゃん」と梯子を外された気分だったろう。

2021-12-24

Amazon MusicCPU使用率が高いのが気になる

これはダウンロード済みの暗号的な音源を展開して再生するのに処理奪われてんの?

うーん、まあ、ローカルダウンロードできるほうがありがたいので、そのへんは仕方ないか

MP3とかと比較しちゃダメなのね

2021-12-17

Win10で地味に良いアプデ

タスクマネージャーCPU使用率タスク一覧を見てたら、GPUつかってますよ~みたいなのも右に表示されるようになった。

これ地味にうれしい。いいアプデだと思う。

2021-03-09

anond:20210309045346

寝て起きてもまだCPU使用率50%固定でぐるぐるやってたので、今ある250GBぶんのファイルを0.3MB/sで読んでどのくらいかかるか計算した

250GB/0.3MB/60/60=231.48h

ん-、10日間くらい?おうふざけんあ

読み取り速度上げるかCPU使用率下げるかどっちかにしろ

Antimalware Service ExecutableのCPU占有度がアホみたいに高い

バックグラウンドストレージ内のファイルをチェックしている ←わかる

・ 短時間で終わらすため一気にストレージを読んでたらCPUメモリの消費が激重と批判されたのでちょっとずつ読んでる ←わかる

・ 0.3MB/secちょっとずつ読みながら全ストレージをチェックするとなると動作完了までに時間がかかる ←わかる

CPUのコアをひとつ丸々占有してCPU usageが50%になる ←わけがからない


いや俺やったことないからわかんないんだけど、たぶんそんなCPU資源使わないと思うんすよね

不具合でいいと思うなあ

ちなみに10時間くらい経ってもずっとCPU使用率50%で(面白いことにタスクマネージャパフォーマンスタブで完全に50%で推移してる)割と困ってる

2020-08-09

家に使ってないパソコンHDDがたくさんあったので

1台のPCで4つのサービスを稼働していたところを

4台のPCに一つずつ稼働させることにした。

【よかったこと】

IISというWindowsサーバー建てるフレームワークみたいのを使って初めてWindowsサーバーを建てる経験を得られた。

  Windowsサーバーを立てるのは規約違反だった気がしたが最近Windowsに元々サーバーを建てる機能付属してるし別にいいのだろう。

Windows10ドライバ認識能力のすごさを知ることができた。

  Linuxだとファンが回らない、何も映らないけどWindowsだと普通に動くなどした。

Windowsサーバーを建てるのはムズイという知見を得た。

  ・信じられないくらい遅い

    CPU使用率が低いままで全く変わらず、にもかかわらず簡単ウェブページの表示に10秒とか待たされて使い物にならなかった。Xubuntuに変えたら1秒以内に表示された。

  ・操作Linux全然違う。

    httpsリダイレクトされるのをやめさせようとしたり、SSL証明書を設定しようとしたがどうやってもできなくてWindowsを使うこと自体を辞めた。

・一つのPCで一つのサービスが動いているので気分がいい。

・家に余ってたHDDを全部繋げて1.5TBのクラウドサーバーを作ることができた。

  複数HDDを一つのHDDとして扱う技術(LVM)の設定をする体験ができた。1.5TBの使い道はない。不用品処分をするのが目的

XubuntuならMacbookPro(2007年製)にUSBメモリからインストールできることを知った。ただしインストール画面がたまにしか表示されない。

デメリット

・今までは仮想マシンで動かしていたので扱いやすかったのだがそれができなくなった。

  失敗しても5分前の状態に戻すとかできないし、仮想イメージエクスポートとかできない。

電気代を4倍食うようになった。

・ownCloudをアップデートしたらGalleryというプラグインが動かなくなった。

2020-05-25

個人的に激安だからって買ってみたWindows10のeMMC32GBのノートパソコンなんですけど、普通に使える?ラッキーって思ってたらだんだん厳しくなってきました。

要はバージョンが1803でサポートが切れてるものの叩き売りだったみたいですね。なるほどーこれが安さの理由なんでしょうか?とても初心者に胸を張ってオススメできるしろものではなさそう。

で、Windows10アップデートサポートの1803まででいいんですが、延々と1903や1909にバージョンアップしようとし続けて失敗して、またインストールしようとして、それの繰り返しで止まりませんし、いつも何もしてないのにCPU使用率が常に100%かいとか、なんなんですかこれ。

最後の手段で1909が手動でダウンロードして更新できるのか、できなかったらWindowsUpdateサービス自体止めてしまおうかと思います。最悪の場合

激安Windows10は要注意かもしれません。

今日夜食のお供は苺とホイップクリームどら焼き的なコンビニスイーツです。

これと牛乳飲んでもうちょっと頑張ります21時までには帰れるでしょう。

今日もいくつか増田を書きましたが、トラバブクマがつきませんでした。

また明日よろしくお願いします。

ログイン ユーザー登録
ようこそ ゲスト さん