初心者向け 0
全15件 (15件中 1-15件目)
1
GitHub Desktopを使うとGitHubリポジトリをGUIベースで操作できるようになる。いわゆるSourceTreeみたいな感じのアプリケーション。GitHubをガッツリ使う人にはオススメ。今日はGitHubDesktopを使っていて困ったことの話。複数のPCからリポジトリにアクセスする場合に度々セッションが切れて再ログインを要求されることがあった。エラー画面は以下。再ログインは問題なく進行できます。面倒なのは、一度発生すると数時間に一度のペースで再発する点。PC再起動で直るので、何かしらセッション関係?という感じはする。エラーログはこんな感じ。2022-12-26T00:56:14.284Z - info: [ui] Executing fetch: git -c credential.helper= fetch --progress --prune --recurse-submodules=on-demand origin (took 1.708s)2022-12-26T00:56:14.292Z - error: [ui] git -c credential.helper= fetch --progress --prune --recurse-submodules=on-demand origin exited with an unexpected code: 128.stderr:remote: Invalid username or password.fatal: Authentication failed for 'https://github.com/'GitHub Desktopの場合、エラー発生時にログは以下に貯まる。C:\Users\****\AppData\Roaming\GitHub Desktop\logs一応サポートに問い合わせてみた。すると、「一旦全てログアウトして再度ログインすればエラーが出なくなる」との回答を頂いた。要約すると以下。エラーログには、OAuthアプリケーション(GitHub Desktop)が最大アクセス数を超えたために自動的に削除されたことが示されています。この状況は、アプリケーションが特定のユーザーとスコープに対して多くのアクセス・トークンを生成しすぎた場合に発生し、古いトークンが自動的に削除されます。これは、時間の経過とともにトークンの数が制限なく増加するのを防ぐための措置です。戸かにも、再発しないようにするためにキャッシュやクッキー、ブラウザの拡張機能を見直してほしいと回答いただいた。参考になるリンクとして、Authorizing OAuth Apps guideも頂いた。GitHubの連携アプリについてはrevoking all connectionsを確認するとよさそう。上記記事の内容を日本語で要約してみると… ユーザー/アプリケーション/スコープごとのトークン制限: GitHub では、ユーザー/アプリケーション/スコープの組み合わせごとにトークンの上限を 10 個に制限しています。アプリケーションが同じユーザーとスコープに対して 10 個以上のトークンを作成した場合、同じ組み合わせの最も古いトークンは失効します。これはトークンの上限を増やすこととは直接関係ありませんが、既存のトークンを効果的に管理するために重要です。 トークン作成のレート制限: トークン作成レートは1時間に10個までという制限もあります。この制限を超えると、最も古いトークンは失効しませんが、ブラウザに再認証を促すプロンプトが表示され、ユーザーにアプリに付与している権限を再確認するよう求められます。 OAuthアプリのAPIレート制限: OAuth アプリの場合、GitHub は特定の時間内に REST API に送信できるリクエスト数に制限を設けています。この制限は、不正使用を防止し、すべてのユーザーがシステムを利用できるようにするために設けられています。 GitHub Enterprise ではより高い制限: GitHub Enterprise アカウントでは、GitHub Apps と OAuth Apps の両方でより高い時間あたりの API レート制限をご利用いただけます。これらのアカウントの OAuth Apps は、これまでの 5,000 回から 15,000 回に引き上げられました。トークン10個と書いてるが、実際には2台のPCでも起きてたのでトークン乱発されると起きるらしい。何かの拡張機能が悪さしてそうだ…。ひとまず、バグとか変な利用方法してるとかではなくて一安心。上限を増やす方法についても軽く調べてみたが、解決方法わからず…でした。(上限増やす方法どなたか知ってませんか…!?っていうのがこの記事で言いたかった)今のところ公式ドキュメント読む限りではなさそうなので、気が向いたら上限増やす方法についても調べてみます。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2023.01.19
コメント(0)
AWS Certified Solutions Architect - Associateの資格を取得したので、その時の感想の話とかを備忘録として残しておきます。概要AWS SAAとは、「AWS Certified Solutions Architect - Associate」の略称で、AWSクラウドを使用してアプリケーション、システム、およびネットワークアーキテクチャを設計・展開する能力を評価する資格です。この資格は、AWSクラウドにおけるアーキテクチャの基本的な知識やスキルを持つことを証明するためのもので、AWS認定資格の中でも最も基礎的なものの一つです。AWS SAAの受験者は、AWSの基礎的なサービス、ネットワーク、アーキテクチャ、セキュリティ、およびストレージに関する知識を持つ必要があります。また、AWSクラウドを使用したアプリケーションやシステムの設計や展開に関する実践的な経験があることが望ましいとされています。AWS SAAの資格取得の勉強の過程では、AWSの基本的なサービスやアーキテクチャ、セキュリティ、ネットワーク、ストレージなどに関する知識を学ぶことができます。また、AWSのコンソールやCLIを使用してAWSサービスを設定、展開、監視する方法や、アプリケーションの可用性や耐久性を確保する方法、セキュリティに関する考慮事項などについて学ぶことができます。AWS SAAの資格取得の勉強の過程で得られるスキルは、AWSクラウドでのアプリケーションやシステムの設計や展開に必要な基本的なスキルとなります。オススメの書籍など基本情報&LPICあたりの下地がない人はまずはその辺から勉強してみよう。LPICはLinuxコマンドとかの資格で、ITの下地周りの勉強に役立つ。【中古】 LPICレベル1 Linux技術者認定試験学習書 第5版 / 中島 能和, 濱野 賢一朗 / 翔泳社 [単行本(ソフトカバー)]【メール便送料無料】【あす楽対応】価格:864円(税込、送料別) (2023/2/24時点)楽天で購入ある程度下地がある人はこれ読んでおけばなんとかなる。一夜漬けAWS認定ソリューションアーキテクトアソシエイト〈C03対応〉直前対策テキスト/山内貴弘【1000円以上送料無料】価格:2420円(税込、送料無料) (2023/2/24時点)楽天で購入大体そのまま試験に出ます。試験は選択式なのである程度パターンがある。出題ポイントを押さえて学習することで資格取得自体にかなり近づけます。この書籍に乗ってるベストプラクティスを元に自分でAWSアーキテクチャの設計図を書く練習とかをするとかなり知識が残る印象。(実際の設計現場でも紙とかホワイトボードに設計図書いてレビューする場面はよくあります!)io2とio2 expressの具体的な数値の違い、とかはC03からはほぼ問われなくなった。その辺のスペック向上は日進月歩でされてるからなのと、そもそも知識ではなく設計・運営力を試す資格なので今の共通テストみたいに思考力を試す問題が多い。問題演習としてはUdemyの教材とかで大量に演習をしておこう。【SAA-C03版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)動画みて勉強できる人はそれも参考にしつつ…。【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座セールの時に買うと2400円とかで買える。上記模試を一通り解いて関連知識を理解しつつ8~9割は取れるようにした状態で臨みたい。AWS公式の資料も読みつつ、頭の中を整理しながら読んでいくのがベター。C02と比べてサーバレスやコンテナ・ストリーム、ビッグデータ分析周りの話題が豊富になっている。細かい知識も把握しておくことが大事だが、サービスの組み合わせや運用手順・注意点などを押さえておきたい。(ここ出題ポイントになりそうだな、っていうのを頭の中で想像しながら学習進めていくとかなり実践的になりそう)無料の問題集や動画はイメージ掴みには良いですが、それ単体で終えずに関連知識も理解しといたほうが良い。他にもTechStockも人気。問題集が中々見つからない分野で問題演習量を増やしたいときに。(GCP関連の資格とかを勉強する時にも役立ちそうな感じはする)実際の試験試験会場に行こう。自宅受験は手続き等が煩雑なのでオススメしづらい。あと、ピアソンVUE経由での受験だと落ちても再受験可能キャンペーンがやってたりする。AWS 認定 再受験無料キャンペーン落ちる前提で受けるのどうなの?って感じはするが、万が一の時も安心。あと、リスケが必要なら24時間より前なら2回までは日付変えられる。急な予定が決まってしまった時に役立てよう。(この手の試験センター受験における試験のコンディションは自分に有利なように調整かけるのが良いです!)理不尽な出題があったときの保険と考えておこう。30分早く到着したら試験センター空いてれば30分早く受験できる。試験会場には何も持ち込めないのと途中退室がNGな会場もある。実際の試験は65問130分。余裕がありそうで意外とない。文章量が長いので20分ぐらいしか余らない感じ。見直しの際にできることはマークミスがないかの確認と悩んだ選択肢の吟味ぐらいだった。あと、採点されない問題が15問あるらしいが実際には得点計算を考えるとどうもほぼ全部採点されてるんじゃないか?という感じはする。最小が大体7点刻みなのですが、5つから2つ選ぶ選択肢問題が7点×2とすると4択が14点として計算したら大体合う。けど、この辺りは出題範囲によって傾斜かかったりするので何とも…って感じ。5択問題で片方わかるんだけどもう片方は…って時に片方だけ部分点もらえるのかもしれない。とにかくわからないなりに考えて消去法かけるだけでも得点取れる可能性はあるので本番で難しい問題が出ても知識と読解力を総動員させて解こう。試験結果自体はすぐには発表されず、5~6時間後にメールが来る。遅くとも5日以内には合否がわかる。点数も開示してくれる。紙で何かがもらえるということは特にないので、デジタル上で確認できる状態をキープしておこう。再認定とか2023/2現在、3年の有効期限が設けられている。SAAレベルの場合、再認定よりは一個上のSAP取って延長してしまうのがオススメ。期限の延長も可能です。ただ、一定ラインの勉強をしておかないと延長するのでもかなり苦戦しそう。業務とかで必須要件になってる人は最低ラインを維持する意味で延長することはあるかも。ちなみに期限切れの資格を履歴書に書いていいの?という話ですが…。AWS SAAの資格は、取得から3年間有効ですが、期限が切れた後も引き続き資格取得者としての実績は認められます。ただし、期限切れの資格を履歴書に記載する場合は、期限切れであることを明記することが望ましいです。例えば、「AWS Certified Solutions Architect - Associate (有効期限切れ)」のように記載することができます。期限切れの資格を履歴書に記載することで、過去にAWS SAAの資格を取得し、クラウドアーキテクチャに関する知識やスキルを持っていたことをアピールすることができます。ただし、期限切れの資格のみで実績をアピールするのではなく、AWSの最新のサービスや技術についても学習し、常に自己啓発する姿勢を示すことが重要です。ちなみに合格するとバッジがもらえます。リンク先からAWS SAA持ってる人限定の求人とかにもアクセスできます(海外企業を狙っている人向け)この手の企業をエントリーしたいならAWS SAAはかなり求人幅広そうですね。Amazonとかの有名企業受けるならSAAに+αして色々経験を積んでおきたい所。実際にシステム組んで運用したー、とか対人経験とかインターンとか。経験重視の採用の場合、コネや推薦がないと内定を取れない状況が起きやすいので資格を取るだけに終始しないように。他の資格も取る必要ある?12冠する必要があるかどうかなど。コスパや事業に活かすの話。結論としてはそこまで資格にこだわるよりは実務にこだわった方がよさげ。AWS SAAは広く学べるのでAWS全体を把握するのに設計入門として最適な資格ですが、それ以外は必要に応じて…で良いかと思います。業務上十分な知識が必要な資格は取っておいてもいいかもしれない。というのも、有効期限が3年とあるのでコスパで考えると資格持ちすぎると維持コストが半端ない。趣味や自己研鑽として取るのはいいですが、それ以上は取って何したいか?が曖昧にならないようにご注意を。(資格マニアにならないように!)1回勉強しておく分にはトラブルシュート能力とかオペレーションとかの知識が体系的に身に付くので、勉強すること自体は悪じゃないです。学生でも取れます、ただ社会人になってから取ればよさそうな資格って感じはした。学生なら1個下のCLFっていう基礎知識を試す資格を取ってみるのもあり。サーバエンジニアの世界が理解できて興味持ってる人の業界理解にもつながったりするので。もしくは社内でAWS使うってことになって「AWS?何それおいしいの?」って人も最低限CLFの知識おさえておくだけでも世界が変わってくるかも。(要検証)(追記)2023年3月現在のロードマップはこんな感じらしい。AWSエンジニアロードマップ2023
2022.12.22
コメント(0)
pythonでwebスクレイピングをするときに以下のようなコードを書くことがあるかと思います。今回はこのコードを書いた時にハマった話を紹介。 response = requests.get(url, headers=headers_dic) res_bs = response.content soup = BeautifulSoup(res_bs, 'html.parser', from_encoding="shift-jis")※headersには適切な仮のヘッダ内容が指定されているものとします。※対象のwebページはshift-jisなので、文字コードも想定通りの挙動とします。(他PCにてその他のプログラムは動作確認済み)※windows10, 11環境で検証beautifulsoup4==4.10.0bs4==0.0.1chardet==3.0.4requests==2.26.0ぱっとみ、普通にwebページからソース拾ってきて内容をbs4(BeautifulSoup)で拾ってきそうに見えるコードですが…実際には上記実装をするとかなりの環境依存なコードになりますよくある解決法として、apparent_encodingを指定するというものがあります。response.encoding = response.apparent_encoding こう書くことでchardetライブラリが自動判定された文字エンコーディングで内容をデコードしてくれます。import requestsurl = 'https://example.com'response = requests.get(url)response.encoding = 'utf-8' # 強制的にUTF-8を使用そこで、こう直してみるも文字化けする状況は改善せず。 response = requests.get(url, headers=headers_dic) response.encoding = 'shift-jis' # 強制的に文字コードを指定 res_bs = response.content soup = BeautifulSoup(res_bs, 'html.parser', from_encoding="shift-jis")文字コードに何が指定されているんだこれ、と思って調べてみたところ、response.encodingとresponse.apparent_encoding にGB18030が指定されていたのであった…。初めて聞く文字コード、どこのだこれ?と思ってググってみた。GB 18030は、中華人民共和国(中国)が制定した文字コード(文字セット)の国家規格である。WikiPedia・・・???GB 18030は従来の文字コードと互換性を維持したUnicode伝送形式(Unicode Transformation Format、すなわちすべてのUnicode符号位置を符号化する文字符号化方式)であるとみなせる。言いかえると、GB 18030はUTF-8(ASCIIと互換性を維持している)の中国版である。ボクノパソコン、ドコシュッシンナノとはいえapparent_encoding は@propertyよろしくset不可なフィールド(=こいつに変数を代入することはできない)直接文字コードを指定しても文字化けするのはなぜ…?原因はここにありました。 response = requests.get(url, headers=headers_dic) response.encoding = 'shift-jis' # 強制的に文字コードを指定 res_bs = response.content soup = BeautifulSoup(res_bs, 'html.parser', from_encoding="shift-jis")ここをres_bs = response.textにすると直ります。デバッグで中身を見てみると、contentの方は\x86\x80...みたいなバイトコードで文字の部分が記載されており、textのほうはencoding指定のものでエンコード済みのテキストで記載されています。どちらにせよBeaultifulSoupのfrom_encoding="shift-jis"でorigin_encodingをSJISに上書きするかのように見えますが、実際には全然異なった。BeautifulSoupがcontentに対して最初に参照する文字コードはapparent_encodingであったのだ…※4.10現在つまり、(1) requestsでsjisのエンコードでソース取得(2)PC側のデフォルドエンコードをshift-jisで強制的に変更(3)contentはエンコード前の文字列。textはエンコード後の文字列(4)Bs4はcontentを指定されるとapparent_encodingを参照してコンテンツをデコードをし、その後にfrom_encodingを実施というステップを踏んでいることがわかった。bs4のorigin_encodingは変更不可っぽそうなので今回はcontentを取得していたところを諦めてtextで取得するように改修して無事文字コード問題を解消した。なので、requests->bs4にデータを渡すときはcontentでなくtextで渡した方が文字コード問題を起こさずできますよ、って話でした。ちなみに上記コードを実行するとbs4の部分でwarningが出ます。文字コード指定しすぎだよ、と。確かにこの方法だとfrom_encodingが不要になるのでコードから消して解決。これでwarning出すことなく無事動きました。 response = requests.get(url, headers=headers_dic) response.encoding = 'shift-jis' # 強制的に文字コードを指定 res_bs = response.text soup = BeautifulSoup(res_bs, 'html.parser')最近、chatGPTにきいても原因わからずな話はこうやって記事にしておくのアリかなと思ってる。(chatGPT使ってトラブルシュートすると一定の会話量超えるとゲームのNPCみたいに会話がループし始めて永遠と問題解決しないことがあるので…。そういう場合は視点変えて聞き方変えるのが有効策だったりする。)
2022.10.12
コメント(0)
中古のPCは初心者にはオススメできないものの、ある程度自分でPCのメンテができる人にとってはコスパが良かったりする。「サーバ機のようにとりあえず動けばいい」「Officeとか付属品いらない」などの運用マシンに向いてる。Jenkinsやcronのようなビルドマシンとして稼働させるには結構コスパがよかったりする。(モノによっては月1000円程度換算で済むことも)…が、それでも最低限のメンテナンスは自分でやる必要があるので、今回はそのメンテナンスについての話を。主にタバコの匂いを消すために格闘した話とか。【前提】中古PCの買い方Amazonで買う場合は整備済み品ぐらいのグレードがおすすめ。それ以下のグレードになるとパーツを直で買って組み立てた方が得だったりする。(ジャンク品系は安物買いの銭失いになりがち。)というのも、CPUやストレージ(SSD)には寿命が世代と耐用の両方でどうしてもあるので、いくら使っていなかったとしても昔のだと古かったりする。実際にAmazonの整備済み品を買ってみたが結構コスパが良い印象。(※もちろんPC購入ガチャ要素もあります。どうしても数%程度の確率でハズレを引くことがある)[参考]Amazon Renewed(整備済み品)その他の中古で買う場合は店頭で見に行って買って…のほうがいいかもしれない。というのも、中古PCはどれだけ外見が良くても匂いや音・排熱などの実際に手に取ってみないとわからない要素があるから。手軽に買えるメリットは確かにあるけど、特にタバコの匂いとかは健康を害して結果的に損することになりがちなので注意。しかも、意外とそういう情報に限って書いてないこともある。例えば以下外観紹介の中古PCが実際にはタバコの匂いがひどい、という状況があった。実際には購入から即日で気づくレベルだったので7日以内のクーリングオフ制度を活用して返品、なんてことも可能なわけですが…今回はちょいとメンテンスしてみます。ちょっとメンテしてみてどうしようもないレベルだったら返品ですかね。(排熱周りも、下手に高温になったりすると爆発したり火事になる可能性もあるので注意。最初は試験用環境を用意してそこで起動…がオススメってもあるので店頭確認がいいんですよね。)他のケースだと、メル〇リで出品されていたPCに違法ソフトが入っていたりするなんて事案も。ウィルスが混入している可能性もあるので、この手の電子機器はインターネット上で買う場合は新品or業者による整備済み品辺りがランクとしては限界かなと覚えてもらえると。中古PCのお掃除まず100均で重曹・クエン酸系のクリーナーを買ってきました。【レック】 重曹の激落ちくん 泡スプレー 本体 400ml【日用品】価格:395円(税込、送料別) (2022/7/3時点)楽天で購入こんな感じのなら何でも。クエン酸系は匂いがちょっとキツいので重曹系のほうが個人的には好みだった。ペーパーとスプレーでは、スプレータイプのほうがおすすめ。ペーパーは最悪ティッシュでも代用できるほか、綿棒の使い勝手がとても良い後は無水エタノール系も通電する部品を拭く時にはおすすめ。ただ、最近はコロナ下にあるので普通にアルコール消毒液を使って拭いても大丈夫かと。無水エタノールP 500ml価格:1098円(税込、送料別) (2022/7/3時点)楽天で購入PCケースなどの場合は水洗いして干しても何とかなることがありますが、原則やめましょう。PC壊れる原因になります。(特にCPUやストレージ、電源周りは厳禁)綿棒(200本*2個パック*5セット)価格:913円(税込、送料別) (2022/7/3時点)楽天で購入普通のでいいですし、洗面台にこぼして台無しになった綿棒でもリユースできます(一敗)細かい部品を掃除する関係上、綿棒あるだけで細かいところを綺麗に掃除できるんですよね…ちなみに業者の方に頼むとこんな感じで掃除してくれます。「タバコの臭いを何とかしてほしい。」ACER V5-571P パソコンの煙草臭対策事例普通の業者さん(というかパソコンスクールや家電量販店に付属してるタイプ)だと匂い消しまでは対応しきれない可能性が高いです。(実際に店頭で相談してみましたが、「期待にそえるほど匂いが取れるとは限らない」とのこと。)ここまできたら、あとは(1) PCを分解する(2) 匂いの元になっている部分を丁寧に1つずつ掃除(3) 扇風機などで匂いを飛ばす、水はけ用(4) 組み立てる(5) 起動テストの手順でなんとかなります。(1) PCを分解するそもそも工具がなかったりする人は用意から。ドライバーセット ボーイテン 10種組 【 木工 木彫 木工具 ねじ回し ドライバー セット 】価格:1705円(税込、送料別) (2022/7/3時点)楽天で購入家ではこんなドライバー使ってます。一人暮らしでもちょっと色々組み立てたいなーPCメンテしたいなーって時に活躍するセットなのでおすすめ。このセットに加えて六角レンチは結構活躍する。PCパーツ系は結構ねじがしっかりしまっている&小回りの利くセットが欲しくなる。もっと多種多様なドライバーが用意された商品のほうが良かったりするかも。ちなみにこの作業中はPCの電源切ってコンセント等も抜いて電気通らない状態にしてくださいね。(2) 洗浄前述の商品を使いつつ。匂いが一番籠りがちなのはファンの辺りなので、1枚1枚丁寧に。綿棒+重曹で丁寧にやったら意外と汚れが取れます。ケースなどの広域にわたる部分はペーパーを使っても良いかも。ちなみにこの辺りの洗浄を業者にお願いするとホコリ取るだけなら4000~6000円程度に対してパーツを1つ1つ丁寧に掃除することから15000~25000円かかる。(しかも作業だけで1~2日かかることも)中古PCをWEBで買うときは料金に加えて清掃も込みで考えて+20000~30000円して値段を見積もると良いかと思います。(ほとんどの場合、パーツが欲しいだけなら単品で買った方がお得です!!)(3) 扇風機などで匂いを飛ばすこれだけやっても効かないけど、やるのとやらないのとでは部屋に匂いが充満するかどうかが大きく変わる。そもそもこの作業、密閉された部屋で行うと危険なので換気を忘れずに。夏や冬だとPCが気温についていけない(大抵は5~35℃環境で動く)ので、中古PC買うなら春秋がいいかも。この時点でまだ匂いがするなら匂いの原因が取れていないので(2)に戻ってやり直してみてください。換気には半日~1日程度かけるのがおすすめ。心配なら消臭剤買って部屋に配置しておくと匂いが残りにくいです。タバコ消臭元 ストロング パワフルEXクリーン(400ml*3コセット)【消臭元】価格:1085円(税込、送料別) (2022/7/3時点)楽天で購入自分は消臭剤としてこれを買いました。PCのエアダスターは一般のものでもいいですが、ドライクリーナーが結構綺麗に消臭できる。KURE|呉工業 クイックドライクリーナー 430ml NO1419価格:629円(税込、送料別) (2022/7/3時点)楽天で購入キーボードとかならここまでしなくてもいいけどね。(4) 組み立てる(3)時点で匂いがまだ少し残って心配…という状況なら車とかに使うクリップタイプの消臭芳香剤がおすすめ。実際に試してみましたが、主にデスクトップ向けですが、隙間にいれておくだけで匂いがかなり軽減されたりする。エステー クルマの消臭力 クリップタイプ 消臭芳香剤 車用 アクアブルー 3.2mL 4個セット価格:755円(税込、送料別) (2022/7/3時点)楽天で購入(5) 起動テスト配線間違っていないかのチェックも兼ねて。ここで起動してファンがそれなりに回っても匂いがしなければ完了です。お疲れ様でした。(1)~(5)までで普通に数日かかるので中古で買ったら洗浄する手間も考えると【元のPC価格ー3~4万】程度の価格であれば普通に新品買った方がいいです。金欠だったとしてもそのほうがトータルで安上がりになります。自分で清掃する時間コストも考えると、実際には15~20万するスペックのPCを中古で3~5万で買って…辺りが一番コスパいいのかもしれないですね。※ちなみに上記手順で自分で軽く清掃してからPCショップの方にクリーニングできるか診断してもらったところ、「綺麗ですね」って高い評価いただけました。PCショップでできることも案外家でできることと変わらないので、PC周りに詳しくなる目的で中古PC1台買って分解してPCの構造覚えて・・・っていう用途であれば中古PCも活躍の場はありそう。自分も大学時代にコンピューターアーキテクチャの講義でPC分解してHDD分解して中身見て構造理解して…って講義あったので、それに近い。百聞は一見にしかず。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2022.02.10
コメント(0)
配信用PCがSMARTエラーを出すようになったので、その対処法まとめ。ある日、配信用パソコンを起動したところこのようなエラーメッセージが出るようになりました。「 SMART 」とはハードディスクの自己診断機能のことで、ハードディスクの故障を予知して伝えてくれます。(Self-Monitoring Analysis and Reporting Technology )予知してくれるのはありがたいですね。SMART Failure(SMART エラー)を見ることなく故障する場合もあるので、すぐにHDD(SSD)の乗せ換えをするのがおすすめ。F1を押した後に、色々設定変えるのかな…と思いきや。F5やF10でもなく、F8からストレージ選んで起動するのが安定だった。OSの乗ってるSSD側は幸い無事だったので無事起動はできた。逆に、HDD側がダメだったのを検知した。IAStorUIが入ってたので実行。SMARTエラーで見事にDドライブ(バックアップ仮用)など側が見事にダメになってる…。使いすぎたっていうのはあるかもしれない。[参考] SMART Failure(SMART エラー)の概要こうなったら、急いでできる限りのバックアップを行うにつきます。対象のストレージが必須ファイル以外すべて空になるぐらいまでバックアップを施行。500GBぐらい空けました。不要なソフトはアンインストール…といきたいところですが、そもそも外付けなので。完全に取り換えしちゃうのがよさげかな。USBメモリは省スペースなものでも十分。大抵のUSBなら何でも対応してる。32GB USBメモリー SanDisk サンディスク Ultra Fit USB 3.1 Gen1 R:130MB/s 超小型設計 ブラック 海外リテール SDCZ430-032G-G46 ◆メ価格:839円(税込、送料無料) (2022/3/23時点)楽天で購入実験がてら、64GBのUSBメモリ買いましたけど、Windows10なら上記のようなものでも大丈夫かと。リカバリ速度気にする場面なんて早々ないだろうし。リカバリディスクの作成は1.5時間程度で完了。2時間程度見積もっておけば大丈夫かな。64GBのUSB買ってきましたが、10GBしか使っていない&FAT32で自動フォーマットされたので、32GBしか認識してくれなかった。DVDに焼くよりもUSBのほうが安心・・・だと思う。DVDだと複数枚に分けるのがあとで保管面倒だったりするので。[参考][Windows 10] 回復ドライブを作成する方法HDDは規格を合わせるのがおすすめ。win10なら以下手順で調べられます。① [スタートメニュー]→[コントロールパネル]→[ハードウェアとサウンド]→[デバイスマネジャー]を開く②[デバイスマネジャー]画面で[ディスクドライブ]を展開→ドライブ名をダブルクリック→[“HDD名”のプロパティ]→[全般]タブでドライブ名を確認。 ここで表示される「ドライブ名」がHDDの型番なのでメモしとく③型番をインターネットで検索して、サイズや規格を調べる。最近のPCでHDDなら大体はWestern Digital、Seagate、東芝のどれかじゃないかな。HDDはこれ買いました。OSついてない側だったので、リカバリディスクは不要。SSDですらないです。(必要かどうか?で言うと、ProgramFilesの捌け口としてDドライブ使うので必要)TOSHIBA DT01ACA100 [1TB/3.5インチ内蔵ハードディスク] [7200rpm] / SATA 6Gb/s/ バルク品(安心の10ヶ月間保証)価格:4626円(税込、送料別) (2022/3/23時点)楽天で購入Amazonで見たら5080円したので、楽天の方が安いみたい。Amazonの方は2年保証、楽天側はバルク品(業者向けにロット販売された商品)の違い。でも多分気にならない。HDDの交換はこんな感じでできます。[参考]HDDの交換方法と手順機材用意すれば取り換え自体はざっと半日~1日で終わるかなという印象。データのバックアップが一番時間かかるかも。データ量次第。
2022.01.13
コメント(0)
よし!配信やるぞ!と意気込んで始めようとしたところ、なぜか配信が始まらない…そういう状況に出くわしたので、エラー解決までの過程について記載していきます。ちなみに当該エラーが発生する先週までは普通に動作してました。【使ってるもの】* OBS Studio 27.0.1 or 27.1.3* Youtube Stream* 光回線試したこととりあえずPC再起動、OBSのアップデート、枠の取り直しを試したけどダメ。他の配信設定ソフトに切り替えてもダメ。…ということでエラーログを見てみます。OBS Studioの場合、デフォルトではエラーログは下記位置にあります。C:\Users\***\AppData\Roaming\obs-studio\logs(OBS画面からも選択してフォルダ表示可能)ログをみるとこんなメッセージがありました。22:59:27.366: [rtmp stream: 'adv_stream'] Connecting to RTMP URL rtmps://a.rtmps.youtube.com:443/live2...22:59:27.367: [rtmp stream: 'adv_stream'] Interface: Realtek PCIe GbE Family Controller (ethernet, 100 mbps)22:59:29.934: [rtmp stream: 'adv_stream'] Connection to rtmps://a.rtmps.youtube.com:443/live2 successful23:00:03.827: WriteN, RTMP send error 10054 (16 bytes)23:00:03.827: WriteN, RTMP send error 10053 (59 bytes)23:00:03.827: WriteN, RTMP send error 10038 (42 bytes)23:00:03.827: [rtmp stream: 'adv_stream'] Disconnected from rtmps://a.rtmps.youtube.com:443/live223:00:03.827: Output 'adv_stream': stopping23:00:03.827: Output 'adv_stream': Total frames output: 353 (1003 attempted)23:00:03.827: Output 'adv_stream': Total drawn frames: 109423:00:03.827: Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 650 (64.8%)23:00:03.827: Output 'adv_stream': Reconnecting in 10 seconds..23:00:03.827: [rtmp stream: 'adv_stream'] Freeing 1896 remaining packets23:00:03.862: warning: 2 frames left in the queue on closing23:01:10.516: YouTube API error:23:01:10.516: HTTP status: 40323:01:10.516: JSON: {"error": {"code": 403, "errors": [{"domain": "youtube.liveBroadcast", "extendedHelp": "https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/transition#params", "message": "Invalid transition", "reason": "invalidTransition"}], "message": "Invalid transition"}}※一部clientID等に関わる部分のログは省略してます。以降同様。今回注目したのは WriteN, RTMP send error 10054 (16 bytes)見た感じ、かなりパケロス起きているような…?ということで、エラーでググってみるとこんな解決策を見つけた。 Is this error Facebook's fault or mine? WriteN, RTMP send error 10054 (117 bytes)MTUパケットサイズの変更が必要らしい。(通常は1500設定なのを変更していく)※MTU:ネットワークで一回に送信できる最大のデータサイズのこと。 イーサネットのMTUは1500バイトで、光ファイバ(FDDI)は4352バイト1. Open cmd as admin and type netsh interface ipv4 show subinterfaces2. Check the number on the same line as your network adpater (Ethernet/Wi-FI), usually its1500If its not 1500, change it to it because its the most accurate baseline. You can do this by using netsh interface ipv4 set subinterface “Name of Adapter” mtu=1500 store=persistent (Name is under Interface of the first command)3. After thats established follow the steps in this article https://hide.me/en/knowledgebase/how-to-find-correct-mtu-values/4. After that (make sure you add 28) change the MTU using the same command netsh interface ipv4 set subinterface “Name of Adapter” mtu=(number) store=persistent5. Once thats set you can go ahead and type netsh winsock reset and netsh int ip reset then reset the PC. Not required but kind of a full refresh of the network, so just a mentionということで、MTUを変更してみる。How To Find Correct MTU Values on Windows?自分はping www.google.com -f -l 1420あたりでつながるようになりました。netsh interface ipv4 show subinterfaces 1448 2 5100 686 Wi-Fi 1448 1 347722775 29158780 イーサネットC:\WINDOWS\system32>ping /n 50 www.google.com -f -l 1500www.google.com [216.58.220.132]に ping を送信しています 1500 バイトのデータ:パケットの断片化が必要ですが、DF が設定されています。パケットの断片化が必要ですが、DF が設定されています。パケットの断片化が必要ですが、DF が設定されています。C:\WINDOWS\system32>ping www.google.com -f -l 1420www.google.com [216.58.220.100]に ping を送信しています 1420 バイトのデータ:要求がタイムアウトしました。216.58.220.100 からの応答: バイト数 =68 (1420 を送信) 時間 =6ms TTL=115216.58.220.100 からの応答: バイト数 =68 (1420 を送信) 時間 =7ms TTL=115要求がタイムアウトしました。216.58.220.100 の ping 統計: パケット数: 送信 = 4、受信 = 2、損失 = 2 (50% の損失)、ラウンド トリップの概算時間 (ミリ秒): 最小 = 6ms、最大 = 7ms、平均 = 6ms※DFってのはパケットの分割禁止フラグのことです。今回は手動でWiFiとイーサネットを設定変えます。1420で通ったので、+28した1448で設定。PC再起動。…が、それでもうまくいかず。原因をさらに探ってみたところ、そもそもパケロス率50%は高くない?というところに行き着く。pingを50回回してみる。ping /n 50 www.google.com -f -l 1420216.58.220.132 の ping 統計: パケット数: 送信 = 50、受信 = 31、損失 = 19 (38% の損失)、ラウンド トリップの概算時間 (ミリ秒): 最小 = 5ms、最大 = 14ms、平均 = 6ms…38%はヤバいですね。LANケーブルの接触不良、ルーターの故障、インターネットプロバイダーの混雑などが原因である可能性が高いので、ルーターの再起動+LANケーブルを取り替えてみました。(これでもダメならFTTH接続であればプロバイダに問い合わせたほうがいいのと、--tracert a.rtmps.youtube.comを実行して、パケットが通過するホストが表示、各ホストへのpingを測定して、パケット損失が発生している場所を確認する流れかな…。)…してみたところ、上手く動きました。原因はLANケーブル不良なのかな?と思ってLANケーブルを他に使いまわしてみたのですが、普通に動くんですねこれが。(Youtubeは見れるしオンラインゲームは遊べるぐらいには快適)ひとまず、 WriteN, RTMP send error 10054 (16 bytes)のエラーが出た時はネットワーク周りを見直す・つなぎ直すが良さそうなことはわかった。ネットワーク周りつなぎ直したらパケロスも0%になったからね。(今のインターネットってパケロス率高くても動くようになってるの、進化してる)そうだ、LANケーブル替えよう…が、一時的にLANケーブル替えただけなので、恒久対応としてLANケーブルいいのを買うことにしました。一般家庭であればCAT 6A 型がおすすめCAT7~8を一般家庭で使っても逆に動作不安定を起こすので非推奨です。よく分かるLANケーブルの選び方。CAT.6でも10Gbps対応可能。CAT.8まで速度差を検証配信用途であれば、例えばこのあたりがお手頃で安定じゃないかな。ホーリック LANケーブル UTP カテゴリー6A フラット 10m(LC100-509FB) メーカー在庫品価格:1727円(税込、送料別) (2021/10/18時点)楽天で購入「業務用だとどんなのがあるのさ」「数万円するLANケーブルどう?」って配信でコメントもらったので調べてみました。そんなのあるのかなと思って調べたら…存在するんですね。LANケーブル 屋外 60m CAT6A LAN コネクタ POEハブ 【耐候性 難燃性 2重被覆 POE対応 ツメの折れないコネクタ付 ランケーブル vacan】価格:16755円(税込、送料無料) (2021/10/18時点)楽天で購入現実ではこんなケーブルみたことないです。自分はお手頃な1500円のケーブル注文しました。翌日には届くらしい。やったね。LANケーブルの長さは部屋の広さで推測するのがおすすめ。業務用だと2~3mのが一般的だけど、6畳1部屋タイプなら5~10mあると安心。今回は安定して通信してほしいので10mにしました。[参考]LANケーブルの選び方ひとまずこれで回線弱者にはならないで済むはず…?もっとオススメの回線あるよ!とかあればコメントで色々教えてください。(一般家庭向けでお願いしますね)参考までに、OBSの設定おいておきます。Youtube配信ならビットレートは~4500がおすすめ。[参考]【YouTube Live】配信が始まらない、サイトに画面が反映されない場合の対処法[参考]ライブ配信のエラー メッセージ[参考]YouTube のエラー メッセージのトラブルシューティング ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2021.10.17
コメント(0)
Twitterのツイート内容をdiscordに連携する方法まとめにて「自分でサーバ構築したらいいのでは」という紹介をしたので、今回はその紹介を。n8nとはn8n公式n8nはオープンソースのワークフロー自動化ツールです。(オープンソース:ソースコードが公開されているもの。ライセンス次第では書き換えて公開できることも。)何かの動作をトリガーにアクションが始まり、条件分岐などをしながら次のアクションを実行したい時に便利。Twitter→Discord通知も連携してました。IF文やcronも叩けるので、かなり直感的に自在なプログラミングが可能。また、作成したワークフローを公開することも可能。ワークフロー一覧から見れたりもする。構築してみたdocker使うかもしれないので、WSL2 (Windows Subsystem for Linux) 上で環境を立ててみる。WSLをインストールするを参考に組み立ててみてください。デスクトップPC推奨。Dockerを使う場合、Docker for Windowsもインストールする必要あり。(これだけで1記事書けるので割愛。)※今回はdocker使いません。次に、nodeとnvm(Node Version Manager)をいれます。nvmは複数のnodeバージョンをインストールして切り替えるのに便利。WSL に nvm で Node.js 環境を構築するを参考にしつつ進めます。> curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash> export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion> source ~/.nvm/nvm.sh> echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc> echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc> echo 'eval "$(pyenv init -)"' >> ~/.bashrc> source ~/.bashrc※最後にsourceコマンドでnvmの設定を反映しないとnvmが認識されないことも。※WSL再起動.bashrcを再起動しても正常にnvmが動いてないことがあるかも。nvmコマンドが使えるようになったら「nvm install 14」->「nvm use 14」などで最新のnodeをいれてあげます。後は以下コマンドを打ってn8nをインストール。(ここに至るまでが結構長い)流れで構築するとnodeのバージョンが切り替わっていないかも。最新のnodeに切り替えてあげてください。例)nvm use v14.17.1nodeがインストールできたら後はサーバを起動するだけ。ここまできたらn8nサーバは起動成功。oキー押すか、http://localhost:5678にアクセス。ワークフローを組み立てていきます。Twitter OAuth周りの設定がちょっと面倒。Credential Nameは任意で大丈夫そうなのですが、callbackURLはTwitter開発側に設定する。以下を追記http://127.0.0.1:5678/rest/oauth1-credential/callbackついでにConsumer KeyとSecretも持ってきちゃいたい。DiscordのWebhookを取得->送信の流れはIFTTTと同じですが、パラメタの設定周りが特殊。といっても、左から選んで選択していくだけ。出来上がったら定期実行して完成。PCがついてる間は動くはず。後はこれをAWS環境などでも実行できるようにすればクラウド上での実行に成功です!やっつけで色々と試行錯誤しながらの作業だったので、もっと整理していいもの公開できるようになりたい。トラブルシュートTwitter周りの設定を行うときが一番デバッグしたいタイミング。しかし、何度もTwitterAPIをたたくと、429 Too many Requestsエラーが発生することも。(リクエスト多すぎてAPI制限かかったエラー)15分に10回とか叩くとアウトらしい。また、Twitter側にもcallbackURLを指定しないとPOST時に415エラーが返ってくる。エラー例↓Desktop applications only support the oauth_callback value 'oob'TwitterAPIのcallback URLは今ではlocalhostや適当なURLもダメ(2018以降変わったっぽい)なので、以下を指定しよう。http://127.0.0.1:5678/rest/oauth1-credential/callback※[参考]TwitterのOAuthでCallbackさせるときの注意点※[参考]ツイッター(n8n)コードから書きたい場合pythonならtweepyを使う。Twitter の特定ユーザーのツイートを取得を参考に。ただ、トリガ部分の実装をどうやるのかは自分も知らない。トリガ部分が上手く実装できず、挫折。あとWSL2上だとデフォルトではpythonコマンドでpython2.7が対象になり、python3やpip3を使うのも使い勝手が悪く面倒だったりする。(※できなくはない)nodeであればn8nがどういうロジックで動かしてるか読んで理解するのが速いかも。n8n/tree/master/packages/nodes-base/nodes/Twitter辺りのソースがTwitter周りのロジックなので、参考にしていただけると。その他前回の記事では紹介しませんでしたが。目的が「特定のユーザがツイートした内容を公式アプリ以外で通知したい!」だけでしたらTwitter -> slack通知がおすすめただし、slackの無料プランの場合メッセージ保存数・量に制限があるので注意。Slack フリープランでのメッセージ、ファイルやアプリの制限(slack公式)によるとメッセージの表示閲覧と検索の範囲が、直近のメッセージ 10,000 件までに制限されます。ファイルストレージワークスペースに最大 5 GB のファイルを追加できます。アプリインストールできるサードパーティ製アプリやカスタムアプリは最大 10 個です。ツイート量多い人のを拾ってくる場合でもAPI制限を考えると月1ぐらいでアーカイブとれば大丈夫。ワークスペースのデータをエクスポートする(slack公式)slack普段から使わない人は通知設定で音もカスタマイズできる。Slack 通知を設定する時間を0:00-真夜中指定+音指定がおすすめ。 音をカスタマイズできるので、他用途でslack使ってないなら通知周り徹底してカスタマイズするのも手じゃないかな。slack -> discordへと通知できる方法があれば完璧だけど、それはまた別の機会に。(たまに公式Twitterの通知遅れることあるからね)(データ集計とりたい!ってなったらツイートのURLだけでも全アーカイブとってそこから色々解析かなぁ)プログラミングいやだ!!!って人はこの方法試してみてください。参考無料でIFTTTやZapierっぽく全自動連携できる「n8n」を自サーバー上に構築してみたIFTTTやZapierのようなワークフロー自動化OSSのn8nをECS on Fargate上に建ててみたn8nを使って、DiscordチャンネルへRSSを通知させるIFTTTやZapierのようなサービスを自前で構築して使用できるオープンソースn8n第607回 n8nでWebサービスを繋いだワークフローを自動化する動かして学ぶ!Pythonサーバレスアプリ開発入門 (NEXT ONE) [ 本田 崇智 ]価格:3080円(税込、送料無料) (2021/6/27時点)楽天で購入PythonとAWSでサーバレスアプリケーションを開発したい人に。これ読んでみたさある。
2021.03.17
コメント(0)
つい最近まではIFTTTが主流でしたが、無料だと3つまでしかAPIを設定できないのと、そもそもdiscordに通知をwebhookで連携しようとしても上手くいかないので、その経緯や試行錯誤した内容をまとめておきます。解決策・迂回策の検討内容についてもブログでまとめておいたので、2021/5現在の環境として参考にしてみてください。IFTTTを使う2年前(2019-2021/3)ならこの方法が主流でした。IFTTTとはWebサービス同士を連携できるサービスのことで、TwitterからDiscordへ通知を飛ばしたりするサービスをプログラミングの知識をほとんど無しでも実装可能になります。詳しくはさまざまなサービスが連携できる「IFTTT(イフト)」の使い方などを参考に。本題を実現するにはDiscordをゲーム公式Twitterと連携させよう【Discordコミュニティ運用術・機能編8】を参考にするのが速い。最後のbodyの部分は実際にDiscordに表示するテキストの内容なので、({ “content”:”@{{UserName}} {{CreatedAt}}: {{LinkToTweet}}”})ここをカスタマイズすればDiscordの通知を調整可能。ただしこのサービス、現在では実際に通知が届くまで30分~1時間程度かかります。ちょっと遅延が激しいのでタイムリーな通知(5分以内)が欲しい人は他サービスを検討したい。遅延についてはIFTTT(Pro)を自分の好きな間隔で定期的に(言い換えれば最短5分周期で)呼び出す方法を使えばなんとかなるかも?ただ、他にもオススメしづらい理由が現在はあります。実際には連携する時にToo many requests to this hostというエラーや、ウィンドウ上部にThere was an error during check processというエラーが表示されるケースがあります。どうやらdiscord.comのwebhook URL以外にIFTTT側のwebhook制限がかかってる模様。【回避策有】Discord連携でToo many requests to this host – IFTTTを参考に新規アカウント作成やリダイレクト・レート制限を処理するミラー/ブリッジの導入をしてみましたが、解決しませんでした。それだけ人気のサービスということもあり、アクセス負荷が大きいのでしょうね。ということで、IFTTTに代わるサービスを探して比較検討してみます。Power Automateを使うこちらは有料の方法。有料ならIFTTTでもいいじゃないかとなりますが、こちらのほうが馴染みやすい人もいるかも。TeamsなどのMicrosoft製品と連携するサービスを運用するには便利。webhookがプレミアムなので、自由が利かない難点はあるかも。どちらかというと企業の人が定常タスクを自動化したい時に使うサービス、という感じが強い。(大企業向けにOffice製品が普及していることは多いので)※最近はGoogleスプレッドシートを活用する人も多いので、その辺りとの親和性が低いのがネックかも…zapierを使うzapierを使うことで同じ連携機能を実装できます。使い方はIFTTTと同様ですが、Twitterのアカウントとdiscordサーバの管理者権限が必要。webhookのURLだけでは動作しないので注意。アカウント登録後14日間はStarterプランを無料利用できます。あくまで利用できるだけであって、強制加入ではない点はご安心を。タスクが5つまでなのと、月間のAPI利用数に制限がある点には注意。(無料だと1000/月までかな)導入方法は以下を参考に進めてみてください。[参考]Zapier(ザピアー)とは?便利なタスク自動化ツールの使い方を解説この方法は2021/3現在でも実現可能でした。一度作ったAPIを他の人にも利用してもらえるようシェアすることも可能。実際に使ってもらった感じとしては、シェアされた人の導入コストは大分下がっていたんじゃないかな。(確証ないのでむしろ情報ほしい)自作するcronやpythonを実行できる環境でしたらTwitterのDevelopperツールを使って自作することもできます。[discordのwebhookをpythonのrequestsのpostで使う]を参考にすると、requestsメソッドを使ってwebhookURLにpostするだけ。webhookURLの最初のドメインの所はhttps://discordapp.comに書き換える必要があるかも。URL叩けば自動で対象チャンネルの投稿できるので、これをレンタルサーバ(AWSやさくらサーバなど、GitHub Actions使ってもいいかも)で動かせば運用できます。PHPなどでも実装可能なので、この辺りはググりながら試行錯誤するのがいいかな。pythonの勉強にどうぞ↓エキスパートPythonプログラミング 改訂2版【電子書籍】[ Michal Jaworski ]価格:3960円 (2021/5/30時点)楽天で購入 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|Discordにノシショボテンを
2021.03.03
コメント(2)
今日はネットワーク周り回、ということで用語の整理など。後半では試験直前に視ておきたいリストを作ってみます。DNS(Route53)Route53はAWSマネージド型のDNSサービスです。53番ポートを使っての(SSHは22番ポート)正/逆引き名前解決をすることからそういわれてます。A(Adress)レコード(ドメイン名:IPアドレス=1:n)やCNAME(Cannonical Name)レコード(IPアドレス:ドメイン名=1:n)辺りの話。CNAMEはリダイレクトとかに使われたりもする。Route53に登録すると、4か所のエッジロケーション(CloudFrontのキャッシュサーバやAWS WAFなどが動作してる)というデータセンターに共有されます。サポートされているレコードタイプは様々で、Aレコード(Ipv4が返ってくる)やAAAAレコード(IPv6)、CNAME(hostname.example.com)みたいなのが返ってきたりなど。CNAMEで登録できるのはZoneApexという最上位のパスのみで、その下の/redstoneteikou/みたいなレコードは作成できません。後使いそうなのはメールの配送先指定でよく用いられるMXレコードやドメインのネームサーバを指定するNS (Name Server) レコード辺りかな。example.comならexampleとcomを分割する感じ。[参考]DNSの勉強ノート【その2】A/CNAME/NS/MXレコード[参考]DNSとかネームサーバとかRoute53とかAレコードとかCNAMEとかがわからない人のためのまとめRoute 53では、これらの他に独自拡張である「エイリアス(ALIAS)レコード」という特殊なレコードがあります。CNAMEレコードと似た挙動をするもので、CNAMEレコードと比べてパフォーマンスが良く、zone apexに対するマッピングに対応してくれたりします。ただし、AWS内のELBやCloudFrontといった限定されたリソースのみでしかエイリアスは使えないで注意。(AWS Trusted Advisorでも使える場面ではエイリアスレコードをレコメンドしてくれます。)レコード作成時にどのような応答をするのか、色々なパターンが指定できます。・シンプルルーティング:通常の設定・位置情報ルーティング:近い位置のリソースを指定・レイテンシールーティング:遅延が発生しにくい場所を指定(≠近い位置)・フェイルオーバールーティング(アクティブ/アクティブ):複数のリソース通信をルーティング・フェイルオーバールーティング(アクティブ/パッシブ):普段利用してるDNSが落ちてる時は待機系に通信をフェイルオーバーするアクティブ/パッシブ(ON/OFF)スキルみたいなもんやなRoute53で行える設定(レイテンシ・加重ラウンド・位置情報など)と大体同じ。2つのリージョンで同じWEBシステムを構築したい時はレイテンシや果汁ラウンド・位置情報のルーティングポリシーを使うと良いです。フェイルオーバールーティング(アクティブ/パッシブ)はヘルスチェック機能のことです。ELBでは増減するIPアドレスでなくDNS名を使用します。WEBサイトホスティングもIPアドレスでなくエンドポイント名を指定します。CNAMEのZoneApexで別名返す機能を利用するときはAWS用のエイリアスレコードを使う、と覚えておくとよさげ。例えば「S3の静的ウェブサイトホスティングを利用したWebページをexample.comで返したい」時はエイリアスレコード。AWS AuroraRedShiftなどと同様にRDBサービス。PostgresSQLやMySQLと互換性があります。データはS3などと同様に3か所のAZに自動で格納されて、さらに1つのAZにつき2か所のディスクに書き込まれるため、全部合わせて6か所に保存してくれます。Auroraを使うメリットとしては・セキュリティパッチ適用の負荷軽減(時間指定で自動適用)・バックアップと復元が自動化できる・マルチAZ対応・リードレプリカも対応ちなみに、RDBの性質上オートスケールについてはAutoScalingを活用してのスケールアップ(エンハンス)することはできても、スケールアウト(分身)することはできません。NoSQLのDynamoDBならAutoScalingのグループ組んでできます。RDBならリードレプリカとかマルチAZで頑張ってください。 MySQL から Amazon Aurora に移行するには1.mysqldumpを使ってエクスポート2. mysqlimportを使ってAuroraにインポート逆でも同じコマンドで1時間ぐらいで終わるらしい。PostreSQLの場合はpg_dumpでエクスポート、pg_restoreでインポートできます。[参考]Amazon Aurora のよくある質問SSLでつなぐときは--ssl-caのオプションを忘れずに。用語の整理「この2つの用語、違いは何?」「同じものはどれ?」のコーナー。・インバウンド通信:受信・アウトバウンド通信:送信・スケールアウト:分身増加・スケールイン:分身減少※AutoScalingと関連性が深いみたいなキーワードベースで用語の違い(対義・類義的なもの)を見ていきます。試験でキーワード拾えたら後は選択肢から絞れるようにするために。1. AWS Trusted Advisorの5項目・コスト最適化・セキュリティ・パフォーマンス・フォールトトレランス(耐障害性)・サービス制限アクセス制限や可用性はセキュリティグループ・NACLや別の監視サービス使ってください。2. Kinesisサービスの種類Amazon Kinesisとはトリーミングデータをリアルタイムで収集、処理、分析するためのもの。Youtube動画配信みたいなことしたり連携して機械学習やモニタリング・分析したい時に。・Data Stream ・LambdaやEMRなどのアプリと連携してストリームを実現・Firehose ・S3やRedShiftなどのストレージに保存して分析用に使う・Data Analytics ・SQLやJavaでデータストリームを分析後ろに繋がってるサービスが異なるのが肝。Analyticsは常に末端でDataStremはEC2などの揮発性ある方でとっておき、Firehoseはビッグデータとして保管しておきたい場合に使います。3. プロビジョニングツール・Elastic Beanstalk ・コードデプロイ・CloudFormation ・YAMLやJSON、一番カスタムできるプロビジョニング・OpsWorks ・ChefやPuppet使ったりOSの設定見直したい時に。CloudFormationのパラメタは【CloudFormation入門1】5分と6行で始めるAWS CloudFormationテンプレートによるインフラ構築を読んで頭の中でまとめた。4. CloudWatchのデフォルトメトリクスCloudWatchは、AWSリソース、アプリケーション、オンプレミスのモニタリングツール。【AWS】CloudWatchでの監視項目まとめがわかりやすい。カスタムメトリクスが対象なのはEC2やEBSが中心で、「ディスク利用率」はカスタムメトリクス。CPU使用率はデフォルトメトリクス。RDSやS3だとそもそもカスタムメトリクス利用できなかったりメトリクスなかったりします。CloudWatchサービス一覧が参考になります。ざっくり解説すると、・CloudWatch Metrics ・各AWSサービスからメトリクスを収集できる・CloudWatch Alarms ・メトリクスを監視して通知したり、トリガとしてLambda実行やEC2の再起動もできる・CloudWatch Logs ・ログの監視・S3への保存・アクセスなど・CloudWatch Logs Insights ・ログ可視化・CloudWatch Dashboards ・別リージョンもまとめて監視できるよ・CloudWatch Events ・AWSサービスのトリガをもとに別のAWSサービスでイベント処理。 ・ピタゴラスイッチ的なことも(やろうと思えば)できそう5. Auto Scaling・Launch Configuration ・インスタンス起動にあたっての設定、スペック、セキュリティ設定・Auto Scaling Group ・どこのサブネットやELBの下なのか、最小台数は?・Auto Scaling ポリシー ・どのタイミングで増減させるか?のフラグ ・アラームが発生したときや猶予時間などAutoScalingがスケールインするときのルーチンは以下の通り。1. 起動してる台数が最も多いAZ2. 起動設定(Launch Configuration)が最も古いもの、一番長く起動してるもの3. 次の課金タイミングが最も近いインスタンス6. S3の整合性・新規追加は即時反映(PUTでもできるよ)・更新・削除(PUT,UPDATE,DELETE)は結果整合性 ・結果さえ合ってればいいので、一貫性は保証されてない→NFSとしては利用できず、静的WEBサイトホスティングなどに便利7. NATゲートウェイとNATインスタンス公式ドキュメントより。NATインスタンスとNATゲートウェイの違い・NATインスタンス ・実体はEC2インスタンスのこと ・プライベートサブネットにあるS3やDynamoDBからのアクセスをできるようにする ・S3やDyanamoDbなどにパッチをあてられる・NATゲートウェイ ・NATインスタンスがSPOF(単一障害点)にならないように、EIP割り当ててNATインスタンスと似たことできるようにする ・インスタンスでなく、GWなので停止できない→料金が発生し続けるつまり、【冗長化や障害対策などの運用管理】 NATインスタンス:必要 NATゲートウェイ:マネージドサービスなので不要【セキュリティグループ】 NATインスタンス:使える(実体がEC2なので) NATゲートウェイ:使えない(ネットワークACLで制御する)【料金】 NATインスタンス:EC2の料金体系に従う NATゲートウェイ:NATゲートウェイの料金体系に従うということになります。8. ゲートウェイ関連用語・VPCピアリング接続 ・VPC間の接続に使う。ネットワークアドレスが違うAWSアカウント同士でも通信可能・VPCエンドポイント(AWS Privatelink) ・NATデバイス不要で、インターネットを経由せずにプライベート接続可能 ・NATの場合はインターネットと接続する違いがある・Direct Connect ・オンプレ鯖とAWSを専用線でつなぐ・バーチャルプライベートゲートウェイ(VGW) ・Direct ConnectやインターネットVPN接続用ゲートウェイ・インターネットゲートウェイ(IGW) ・VPCリソースからインターネットにアクセスするためのもの。セキュリティグループで0.0.0.0/0を設定するとインターネットに自由に繋がるよ・その他メモ ・S3のライフサイクルについて ・移行アクションと有効期限アクションがある ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2018.08.08
コメント(0)
今日はリソースの最適化など、コストパフォーマンスの向上周りについて書いてみる。インスタンスタイプAWSのインスタンスタイプについて一度まとめてみたいなーと思ったのでまとめてみます。基本的にはr5.xlargeみたいな構成で成り立っていて[インスタンスファミリー][バージョン].[インスタンスサイズ]の法則性があります。インスタンスファミリーによって得意な分野が異なり、バージョンが新しいほど高パフォーマンス・低コストなモデルが提供されています。インスタンスサイズが大きいほどスペックが高いですが、その分コストもかかります。バージョンは公式ページみて最新のバージョン調べるのが最速です。3だけでなく、3aみたいなものもあります。(汎用型とか)a型はインスタンスストレージがEBSのみで、加えてdシリーズ(adやdnシリーズ)になるとSSDも選択できます。ただし、ストレージ最適化系(I,D,Hから始まるもの)はデフォルトでSSD使ってそうです。現時点では旧世代インスタンスもサポートが継続されており、EBSインスタンスなら途中でインスタンスタイプをコンソールから再起動時に変更できます。データのスナップショットを取って変更するだけ。ちなみに現時点の無料インスタンスはt2.microが対象。まずはインスタンスサイズについて。大きな数の単位(億,兆,京...無量大数...)みたいな感じで覚えていくといいかと。服のサイズみたいなものだと。RSで覚えたいならブロとかの「DX, LX, GDX, XLS」みたいな感じで。大体のインスタンスタイプは以下の大小関係で定義されてる模様。nano < micro < small < medium < large < xlarge < 2xlarge < (N)xlarge < metalvCPU数はlargeなら2、xlargeなら4、2xlargeは8、4xlargeなら16(個)と増えていきます。そして、インスタンスファミリーについて。適切なインスタンスを選択できるよう、パフォーマンス測定してからの選定が推奨されてます。(開発環境ならこのサイズまででいいけど、本番環境ではこのサイズ欲しいよね、みたいな。この辺りはサービスの規模やトラフィックを見積もって予算を立てる必要あり。)細かいバージョンの違いまで訊かれることはないと信じたいですが、基本的には「新しくて用途とサイズが適切なもの」をレコメンドすればいいんじゃないかな。計算問題が出るとするなら、1つ上の資格試験(SAAじゃなくてSAPのほう)な気がする。汎用* ウェブサーバやコードリポジトリなどのバランス重視タイプ* a, t, mからスタートする* aやmは定常パフォーマンス、tはバーストパフォーマンスが可能* mシリーズなら追加料金なしのデフォルトでEBS最適化が使える * バーストパフォーマンス:普段はベースラインだけど、混んでる時は高いパフォーマンスを出してくれる * ただし、ゲームで言う所のブースト(CP)ゲージみたいにチャージした後でないと使えず、一定量消費するとベースラインまでしか発揮できなくなります。バーストできる状態バーストするクレジットが足りない状態EBS最適化インスタンスとは、EBSのパフォーマンスを最大限に発揮するための仕組みです。具体的にはプロビジョニングIOPSをEC2インスタンスで利用できます。また、EBSとEC2間の通信を専用ネットワークにすることで他のトラフィックに妨害されることなくEC2やEBSのパフォーマンスを維持できます。※通常だとEBSもネットワークも同じ帯域を使うため、ネットワーク側の通信量が膨大だとパフォーマンスが落ちます。コンピューティング最適化* コストの高いCPU処理に特化* Cインスタンスタイプが該当* C5nタイプになるとネットワークも強化される主にヴバッチ処理や科学シミュレーション、専用ゲームサーバや機械学習など負荷の高い処理を行うのにおすすめ。メモリ最適化* 大容量のメモリに特化* r,x,zから始まる* 768GBのメモリ、なんてスペックもある高パフォーマンスDCやリアルタイムビッグデータ解析、ERPなど、多数のデータを同時に処理するのに向いてます。量子コンピュータみたいだなぁ高速コンピューティング* GPUやFPGAに特化* ハードウェアアクセラレータを使用してるので、グラフィック処理が得意* F,P,Gから始まるストレージ最適化* I,D,Hから始まる* I/O性能が高いリソースが欲しいならこれ* NoSQLデータベース(CassandraやMongoDB)やインメモリDB,ElasticSearchなどに向いてます------------------------------他にも、以前紹介したストレージオプション(汎用 (SSD)、プロビジョンド IOPS (SSD)、マグネティックなど)も選択できます。EBSについても最適化インスタンスが存在してC5、C4、M5、M4、P3、P2、G3、および D2 の各インスタンスの場合、この機能はデフォルトで有効です。実運用ではELB+AうとScalingによる可変サイズのリソース供給を行ったり、SQS(Siple Queue Service)による非同期分散処理を用いたバッチ処理やKinesisによるストリーミングデータの収集・リアルタイム解析なども併用したりします。リソースの使用状況・請求金額はAWS Cost and Usage Reportによる詳細リポートや分析をしてくれます。この辺りは請求額を算出するAPI呼んでWEBサーバ立てて計算、なんてこともできたりする。実運用していてコストに問題があるか、最適化できる所がないか探す時はTrusted Advisorを使ったりします。具体的には、以下の観点でチェックしてくれる* 14日間で使用率10%・ネットやI/Oが5MB以下が4日以上のような使用率の低いEC2インスタンス* EC2におけるリザーブドインスタンスの最適化* 稼働中のEC2に関連づいてないEIP他にもELBやEBS、RDSなどのリソースをリリース(解放)することで最適化が図れることもあります。ということで、今日は設計にあたってのリソース最適化周りの話でした。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2018.08.07
コメント(0)
ユースケースから勉強してみる。試験でも問われるのは最新の知識や運用に関する情報だろうし、そもそも純知識が問われるだけの試験なら受けるメリットって少ない気もする。最近のAWS資格の問題は実運用に伴う問題も多かったりするので、勉強目的で読み漁ってみるのもよさげです。特に、「サーバ設計のベストプラクティスってあるの?」「運用に必要な構成とかってどう考えればいいの?オンプレでもいいんだけど」などなど、他のGCPなどにも活かせるサーバサイド設計の勉強にもなるので、AWS SAAで勉強しておくのはオススメ。個人的にはGCP派・ビットコイン採掘用に悪用されて請求書180万AWS で不正アクセスされて凄い額の請求が来ていた件・ SECRET KEY を見える場所に貼っていた事が原因で大量に処理が回される・基本的には自己責任だが、AWSさん側は最大限サポートしてくれる・免除申請なるものが必要らしい対策としてはReceive Billing Alertを手動でオンにして異常検知をしたり、侵入テスト(※事前申請が必要)を行ったりなどなど。ちなみにマルチテナント環境(公園のようにみんなでリソース使うタイプの環境)で動いてるインスタンス(t1.microやm1.smallなど)は侵入テストに対応してません。通知にあたってSNS(ソーシャルのほうじゃなくて、Simple Notification Serviceっていう通知システムの方)を使って「HTTP/S、Eメール、SMS、lamdb」などを経由して通知するのもおすすめ。メールやHTTPが人気そう?後はCloudWatch使ってAPIの監視をするのもオススメですね。メッセージの暗号化にはAmazon ATS証明書(Amazon Trust Service)を使うのが推奨されてます。ATSってのは認証局(CA)サービスで、無料でデジタル証明書を使えます。同じタイミングで「AWS Certificate Manager」(ACM)の提供も始まったらしく、SSL/TLS証明書も対応してるそうです。SQS使ってキューにメッセージを蓄えて送信すると可用性の高いサービスが作れそうですね。・途中でアップロードを中止した場合 S3へマルチパートアップロード(API実行)を行った場合大容量のオブジェクトをパートという単位(IDは1~10000、連続していなくてOK)に分けてアップロードできます。このアップロードの途中で中止した場合、料金が発生しないって話。同時に途中までアップロードしたデータはS3側からも削除されます。中止にあたって、バケットライフサイクルルール(<LifecycleConfiguration><Rule>...)のDaysAfterInitiationフィールドにて○日以内にアップロードが出来なかった場合中止する、といった指定もできたりします。ちなみに、これを実行するときに打ち込むコマンドはput-bucket-lifecycleと呼ばれていますが、サンプル用のlifecycle.jsonを使ってコマンドが動作するかテストすることもできるんだとか。サンプルの設定を上げてget-bucket-lifecycleで取得すれば設定が入ってるかテストできるそうです。putで設定を置いて、getでless的なことをする感じ。マルチパートアップロードには制限もあるので、色々押さえておくとよさげ。オブジェクトサイズが5TBで、1000や10000が上限ってことを覚えておく感じで。パートのサイズは5MB~5GB。(最後のみ5MB未満)分割するには最小でも5MBのファイルが必要なので、動画とかアップロードするとき向けか。40GBのピカチュウ画像をやり取りするには便利そうですね。(ここでのピカチュウはBox使ってますが)上限系って、AWS サービスの制限に大体のことがまとまっているんですね。こういう資料を頑張って書いてるカスタマーサポート担当の方がいるんだろうなあ、と。(APIの仕様を調べてドキュメントに書き起こす人)【おまけ】オンライン上で見つけたサンプル問題達解き甲斐のある問題をまとめてみた。・【徹底解説】AWS 認定ソリューションアーキテクト - アソシエイト資格のサンプル問題を解いてみよう解説がわかりやすい。Amazon AWS 資格取得のための演習問題集(完全無料、オリジナル)問題数がなんと238問。知識チェックとしてオススメ。AWS認定ソリューションアーキテクト・アソシエイトを1週間で合格した必勝法【2019年最新】一読しておくとAWS試験対策になりそう。要点絞って勉強するのがコツ。派生する知識はたくさん押さえておき、それ以外の分野は経験から解いた方がよさげ。後、1ヶ月は見積もったほうが良いかと。AWS クラウドサービス活用資料集スライド使って勉強したい人向けに。AWS 認定ソリューションアーキテクト – アソシエイトWEBにもサンプル問題があります。サンプル問題の解説を作られた方もいます。今のところ、教科書を何周もする+WEBで調べて情報を補足して体系的にしていくってプロセスがオススメ。教科書に出てきてる単元ごとに自分の中でまとめノート作ったりして勉強してまーす。問題調べるにあたって試験には3パターンあり、・Solution Architect ・可用性のあるシステムが設計できるかどうか ・AWSのベストプラクティスに沿ってEC2,VPC,S3,Glaciar,Elasticache,ELB,RDS,EBSなどを正しく構成できるか、説明できるレベルになってるか・Developer ・AWSを利用したプロダクトの開発 ・SDKかAPI名が問われやすい・Sysops Administrator ・上記2つを組み合わせたような分野初見ならSolution Architectが一番とっつきやすい気がする。Developerは実運用経験がないとAPI名やパラメタ名覚えてないとキツいし、SysOpsが総合力が問われるので。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2018.08.05
コメント(0)
ちょっとサーバ1台立ててみる、ってことで、10分間チュートリアルを試してみる。こういうのは動画のほうが映えるのですが、今回は文字で書き起こし。「AWS立ててみた 実況プレイ」なんてジャンルの動画、Youtubeかどこかで探せばありそうな予感。まずはLinux仮想マシンの起動から試してみる。手順はここAmazon Machine Image (AMI) には何十種類(これ書いてる時点で38)ものスタンダードなのがあるのですが、今回はAmazon Linux AMIを選択。AMIの起動には以下の2種類があります。・Amazon EBS-Backed・Instance Store-Backed Amazon EBS スナップショットから作成される場合はEBS-Backed、Amazon S3 に格納されたテンプレートから作成される場合はInstance Store-BackedEBS(Elastic Block Store)はEC2の永続化ストレージとして利用されます。これ使うことでEC2が再起動してもOS上のデータが保存された状態で利用できます。EBSにも色々と種類があって、安い順に並べると(※東京リージョン2018の場合)・EBSマグネティック:旧世代のHDD・Cold HDD(ct1):アクセス頻度低いワークロードなどで利用。・スループット最適化HDD(st1):ビッグデータやデータウェアハウス、ログ処理などでHDDを使いたい時・汎用SSD(gp2):コスパのいいSSD(大体これ)・プロビジョンド IOPS SSD(io1) :低レイテンシ、高パフォーマンスのSSD ・10,000(IOPS)が求められるならこれ。(MongoDBとかCassandraをDBとして採用したい時など)こういう比較一覧って、押さえとくと試験とかで役立ちますよね。対比とか言い換え、定義的な所を整理するだけでも用語問題は対応できたりなど。当たり前だけど、HDD<SSDだよね。話を戻して、AMI起動するなら「Amazon EBS backed」のほうが起動が速いのでおすすめ。無料枠だとt2.micro(可変 ECU, 1 vCPU, 2.5 GHz, Intel Xeon Family, 1 GiB メモリ, EBS のみ)が使えるとのこと。12ヶ月間、1ヶ月750時間までマイクロインスタンスを試せます。現行の全インスタンスタイプがIPv6をサポートしてた。家の鍵を作るかのようにSSHキーを作成。.pemをダウンロード。.sshフォルダを作成。雑学助かる公式ではGitbash推奨されてるけど、個人的にはWSL使ってるのでsudoつけて起動。(sudo無しだとPermission Denyされちゃう)まるでVMwareで仮想マシンを立てるかのように簡単に起動できた…。終了はexitコマンドです。最後にシャットダウンして完了。お疲れ様でした。この手順使うとWordPress使ってブログ立てたりすることもできます。Webアプリ立ててAPIベースでアクセス、赤石の民衆の裏側でnode.jsサーバ立ててシミュレータを作ってやろうか…なんてこと考えたりしましたが、アクセス数からして費用が洒落にならない感じがしたので遊びでやるのはやめた。そのうち、超絶マイナーページでAWSにサーバ立てたりするかもしれない。そのうち。次のコースではAWSのプロビジョニングツールの1つであるElastic Beanstalkが指定されてた。かなり起動簡単だったし、更新も手順通りにいけた。後はドメイン名の取得なんてのもチュートリアルとしてあった。つい最近だと、reiwaドメイン(令和)とかは取得合戦になってそう。笑AWSの10分チュートリアルにはより実践的な項目(テキストの感情を分析、動画分析、深層学習など)もあるので、その辺りのチュートリアルも受けられます。大体の汎用フレームワークはAMIにひっついているので、それ使うだけでも使い甲斐がありそう。以上、10分チュートリアルを体験してみたのコーナーでした。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|10分ノシショボテン
2018.08.04
コメント(0)
つい最近(といっても2019/8/23)にAWSの東京リージョンで接続障害がありましたね。原因は過熱だったとのことですが、ShingleAZが止まっていたとのアラートが飛んできていたそうで。MultiAZにしてればパフォーマンスや色々な面で劣化起きたとしても大丈夫だった可能性があるとかないとか。ということで、今日は設計的な話とかをメモ。・複数階層サブネットの話 ・基本的に1~3階層サブネットとあるが、DDD(ドメイン駆動設計)に即して考えるとわかりやすそう。 ・1層ならルータとEC2のやりとり ・2層ならルータからWEB(EC2的な)のにいって、ルータ経由でDBへ ・3層ならELB経由したりBastion(踏み台サーバ)経由してEC2やDBにアクセスするELBがコントローラ層、EC2がビジネス層、DBがDAO層と考えるとそのままかなーと。Bastion(要塞)は管理者によるメンテナンスのためのSSHの受け付けとかを行うためのサーバ。管理者用サーバとも言う。ユーザが使うAPIから直接アクセスできても困るものね。なので、「セキュリティグループの設定」によって踏み台サーバの権限を調整できるようにし、証明書などによる認証もあると良いかと。(BASIC認証ぐらいはつけといたほうが内部犯防止にはよさげ)[参考][5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 –[参考][5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Windows編 –(ネットワーク周りの用語、整理したさ…)この辺りはAWS CloudFormation(CFn)用のJSON/YAMLなどを記述して自動的に環境構築・起動できるようにすると良いかと。証明書の設定とかリモートデスクトップ(RD)の設定が楽になりそう。CFn の構文とプロパティ(EC2インスタンス)ref. http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/template-formats.html基本は以下の入れ子構造です。詳細はこちらResources {リソース名} Type Properties {各プロパティ}設計のコツは以下。・踏み台は2つ以上のAZに配置(今回みたいな障害に対応できるように)・踏み台はパブリックサブネットに配置・踏み台専用のEIPやセキュリティグループ・FWを設置・ポート番号はSSHなどの22番のみを許可※パブリックサブネット・インターネットゲートウェイ(IGW)をVPCやルートテーブルアタッチすることでインターネットとの出入りができる※プライベートサブネット・VPCやDirectConnet間での通信のみの場合はこっち パブリックサブネットとは逆に、IGWの設定などはしません。DirectConnectを使うとAWS VPCと自社のデータセンターをセキュアに繋げます。但し、VPNよりもコストがかかる模様。VPNはコストが安い分、インターネットを経由する故の通信品質の安定性は下がったりします。管理用やメンテナンス経路(Bastion)とかならこっちでいいかも。一方、VPC同士の接続でいいならVPCピアリングを使ったルーティングが良さげ。EC2からS3やDynamoDBにアクセスする時などに便利。他にもAWS Private Linkなんてのもあります。こいつはVPC EndPointやNetwork Load Balancer(NLB)辺りに相当して、VPCエンドポイントとも呼ばれたりします。使い分けとしては、以下のケースでPrivateLinkを使います。・独自サービスにクローズドな環境で通信をしたい場合・Direct Connect接続経由のエッジツーエッジルーティング・VPCのCIDRブロックが重複している他にも、以下のようなことができます。・インターネットに出ずにEC2からKinesisに繋ぐ・EC2やELBのAPIをインターネットに出ずに叩くつまり、ネットワーク構成上VPCでは困難な場合はPrivateLinkを使える可能性を検討すると良さげです。通信経路の可視化や構成図がシンプルになるメリットもPrivateLinkにはあります。ただ、NACLなどで詳細な制御が必要ならVPCピアリングのほうがおすすめ。VPCピアリングの台数上限は50、VPCエンドポイントの上限は20らしい。[参考]:AWS PrivateLinkの使い方と注意点 ~VPCピアリングとの使い分け~ちなみに、WindowsUpdateやyum、apt-getなどでインターネットにアクセスしたい場合はNATゲートウェイのルーティングをさせることでネットサーフィンできたりします。NATゲートウェイの反対が踏み台サーバに当たります。VPNとかDirectConnet、あるいはセッションマネージャとか使いながらネットからプライベートサブネットにアクセスする感じ。IGWは双方向にネットを張れますが、NATゲートウェイや踏み台・セッションマネージャだと片道しか張れないですね。つまり、「NATゲートウェイを踏み台サーバ」なんてのはできないです。今日はAWSの障害から派生してネットワークの設計周りのお話などについてまとめてみた。実運用的なことも取り扱っていきたいですね。画像をもっと配置したい、、 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_| 3日坊主…?
2018.08.03
コメント(0)
気になったトピックのまとめなどなど。体系的にまとめられた情報を参照したい場合は教科書など買って読んだ方が100倍勉強になります。AWSの中では「AWS Well-Architected フレームワーク」というのがあって、「Design for Failure」という考え方が推奨されてます。平たくいうと、「どこが故障しても復旧できるようにしようね」ってこと。以下の5本柱が中心となってます。1. セキュリティ2. 信頼性3. パフォーマンス効率4. コスト最適化5. 運用性この「コスト最適化」ってのが試験問題の新しい方(2018~)ではよく出るらしく。いわゆる「その場で考えさせる問題」ってのが新試験からは出る用に。ポイントは* 使わないリソースは止めましょう* 規模の経済(スポットインスタンスなど)が効いてくる* データセンターへの投資が必要最小限になる* 監視システム(CloudWatchなど)を活用してリソースの分析を行う* DB保守やコンテンツ配信(Cloud Front)のマネージサービスを使うなどなどで管理していくそうです。この辺りの設定失敗するとクラウド破産なんていう事態が起きるそうです。例えば、S3(Simple Storage Service)の1つであるAmazon Glacierでクラウド破産しないためになどなど。こいつは「低頻度アクセスで」「大量のデータを保存したい」時に使えるのですが、いわゆるアーカイブ的な役割が強いんですよね。なので、バックアップサーバとして使って、いざというときにフルダンプしようとするととんでもない請求金額が飛んできます。料金表を見ると、* 無料枠は1 か月につき 10 GB(スタンダード取り出し)* 使用した分だけ支払い以下、標準設定の場合は* 0.01USD/GB* リクエスト 1,000 件ごとに 0.05USD* 標準だと復旧するときに3~5時間かかる* (迅速)だと1~5分、大容量クエリの場合は5~12時間もかかるなどなど。具体的な料金部分はリージョンによって異なるので覚えなくてもよさそうですが、概算として。つまり、Glacierを使う時は「監査データの保管」や「ログの保管」みたいないざというときに出したいデータを置いておく感じです。glacierは「氷河」って意味らしく、氷河みたいにデータを安全な場所に保存しておくイメージってことですね。こういうユースケースは勉強になる。実際に会社で運用してます、個人で使ってます、みたいな人のほうが有利なのは間違いない。赤石の民衆もやってみたさあるけど、リクエスト数からしてgit上で管理できる範囲なのでやめた。(AWSで運用するってなったら消費金額分回収する何かを考えないといけなくなるので)ちなみにS3は以下のような時に使います。* ストレージ* コンテンツ配信や保管* プロビジョニング(運用自動化)のconfig保存して実行(ChefやDB接続変数など)* ログ補完* バックアップやバージョニング、災害対策* 秘密情報の保管最後の秘密情報の保管がユーザ側でセキュリティ対策として必要そう。セキュアなアクセス方法を実現するためには、以下の要件があると良いです。* バケットポリシー * どのファイルに対してどのAPIを誰から許可/拒否するかの設定用 * JSONベースで記載(20KBまで) * 参考 * 制御できる権限一覧 * ユーザポリシー * IAM ユーザーポリシーの方* ロギング * CloudTrail(運用・監査支援ツール。監査ログ保管庫)使ってAPI単位で何をGETやPOSTしたのか記録s3:GetObject(常に最新のデータが取れる権限)やs3:PutObject(データ更新)などがよく使いそう。大体はDBやLinuxシステム系と似た感じのに+Objectや+Bucketした感じ。セキュアファイルにアクセスさせる時は、「S3にアクセス権限が付与されたIAMロールをEC2に付与して、S3にアクセスする」が推奨。IAMユーザの方のアクセスキー・シークレットキー(共通鍵みたいなもん)を使うと鍵が漏れた時にどこからでも誰でもアクセスできてしまう。IAMロールとは、「AWSサービスやEC2上のアプリに対してAWSリソースの操作権限を付与する」もの。EC2(サーバ)にも付与できるので、ユーザ→EC2→S3って流れでアクセスできるようになる。ちなみにS3にはパブリックアクセス(誰でもアクセスできる機能)がありますが、機密情報には使えない、、認証情報(クレデンシャル)を取得するAPIはcurl -w '\n' http://169.254.169.254/latest/meta-data/iam/security-credentials/<role name>っていうのがあるそうな。これをEC2内から叩いてjqでパースしてあげるとよさげ。これ叩いて出てくるのは今有効なクレデンシャルで、Session情報みたいに内容が入れ替わることがあります。参考:クレデンシャルの適切な扱い方 ー AWS SDK for Goの場合今日はこの辺で。ネットワークや権限周りも勉強してこんな感じのノートでまとめようかな。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2018.08.02
コメント(0)
需要は後から考えていくスタイルAWSの勉強したこととかをまとめるページにしようかなーと。教材としてこれ使ってます。徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書 徹底攻略シリーズ 教科書として。公式サイト読んで勉強するとなると、どうしてもとっつきにくいのでこの手の本を1冊用意したほうがよさげ。申し込み手順から始まり、システム寄りな話まで結構幅広く書かれています。真正面から読んで全部理解しようとすると骨が折れる印象があるので、1周目 問題を読む → 前のページから答えを探して解く2周目~ 実際にAWS触ってみて、辞書として使うぐらいの感じがいい気がする。こういう使い方したいので、個人的にはKindle版で買っといてよかった。電子書籍読むための端末なら家に大量にあるので。(少なくとも3つ(!?))最短突破 AWS認定ソリューションアーキテクト アソシエイト 合格教本練習問題が多いのでおすすめ。特に実務に近い問題が多い印象。テクニカルな問題演習も他所併せてしておくと万全な対策になるんじゃないかと。個人的には最初の1冊として取り組みやすかった。問題数が合計100問以上あるので、実戦形式で練習したい人向けに。AWS WEB問題集大量に問題が載っている。無料なら50問程度、有料会員なら650問以上。システム寄りな問題も色々あるので、1回解いてみる価値はありそう。合格対策 AWS認定ソリューションアーキテクト -アソシエイト全体像を把握するのには使えそうだけど、2018~2019年現在となった今ではやや古い情報の印象。「AWSって何ですか」レベルなら読み甲斐ありそう。後は公式のオンライン動画「Black Belt」も講義形式がウケ良い人にとってはオススメ。自分は問題演習中心で行きたかったので、それに適した本選びました。この辺りは人によって学習方法が違ってくると思います。本を買ったら全体像の把握。AWSの最新サービスにみるクラウド市場の次なる“激戦区” に掲載されているような図をもとに全体像を把握。AWSの抽象アイコンは公式サイトから落としてこれます。システム設計図として使う分には自由に使ってよさそう。パワポとかにも貼り付けやすいPNG形式のファイルもあったりする。このアイコンの中で主要サービス系は教科書読みながら一通り体系立てていく感じで。例えば、ゲームプラットフォーム on AWSみたいな使い方をしたりする。初見だとここに書かれてる用語が何なのかわからないと思う。そういう時は教科書とかで勉強してから読みなおすとわかるようになってくる。Qiitaみたいなテクニカルなブログ書くのに適したサービスでもよかったけど、たまにはブログで書いてみたくなったので。ブログをノート代わりに使うスタイルで勉強してみようかなと。(IAMってのはLinuxにおけるuseraddみたいなユーザの追加と似たシステムで、100万人単位ならAWS STS使って一時的な権限振った方がいいよー!みたいなことを書くのが大半になるかもしれない。笑)ちなみに、試験の流れがかなり特殊なので一読しといたほうがいいです。(K)ってマークのついた試験会場が該当します。AWS SAA再認定のために5日間頑張ったことによると、(K)がついてない会場なら普通に受験できるので、個人的にはそちらの受験環境推奨です。事前に試験会場にアクセスしやすいか調べておくのもよさげ。試験会場は東京都内なら10か所程度選べました。AWS認定 PSIシステムでエラーが起きた場合の問い合わせ方法にあるように、システムトラブルが色々な箇所で起きる可能性もあるので、何か困ったことがあったら問い合わせしてみたほうがよさそうです。試験の規約とかも読んでおきましょう。一般的な試験とは少し違った印象受けたので。TOEFL受けてる人からすると割と普通なのかな?(TOEFLの試験会場受験と似たような空気になるんじゃないかなと思ってます)勉強してった内容のノートとかは次の記事からで。 ww ,,#´ω`#,, #´・_・`#ノシ #´・ρ・`#ノシ #´・▽・`#ノシ #´・w・`#ノシ #´・ω・`#ノシ #´・∀・`#ノシ #´・Д・`#ノシ #´・-・`#ノシ #´・ε・`#ノシ #´・ヮ・`#ノシ #´・⊇・`#ノシ..[..===..] |ノシショボテン| |_\3500_|
2018.08.01
コメント(0)
全15件 (15件中 1-15件目)
1