爆熱グラボ廃熱に敗北したIntel純正CPUクーラーを簡易水冷に交換する

前回、パーツを流用して仕事もできるゲーミングPCを自作しましたが、爆熱グラボ・RTX3070Tiの廃熱に完敗して全くCPUクーラーとして機能しなくなったIntel純正クーラーを簡易水冷に交換します。

昨年の熱い夏もがんばってくれた純正クーラーです。CPU単体では問題なく使えます。

爆熱グラボRTX3070Tiの前に敗北したIntel純正CPUクーラー

高性能でコスパ最高な簡易水冷CPUクーラー CORSAIR iCUE H115i RGB PRO XT

今回採用した簡易水冷CPUクーラーですが、想定外なことが発生して直前にこれに変更になりました。

CORSAIR iCUE H115i RGB PRO XT

簡易水冷360mmのラジエーターはPCケースを選ぶ

直前までは、MSI MAG Core Liquid 360R V2のような360mmのラジエーターのものにしようと思ってましたが、PCケース DEFINE R5の構造上の都合で280mmのものに変更になりました。

実は、こちらも購入してしまって・・・、Zen4でも使えるといいなぁ

MSI MAG Core Liquid 360R V

ねこグリスまで・・・、今回はH115iにグリスが塗布されているため使ってません。

SMZ-01R シミオシ ねこグリス

前回の検証の結果、CPUクーラーがRTX3070Tiの真上にあることで、グラボ廃熱の影響が大きくCPUが冷やせないことがわかりましたが、このPCケース(DEFINE R5)で360mmラジエーターとファンを設置できるのは、ケース上部のみとなります。その場合、簡易水冷にしてもラジエーターを冷やすファンの風が、グラボ廃熱をそのまま流すので影響を受けやすいかと考えました。

そのためにフロント吸気にこだわりたかったのですが、フロントは280mmまでしか設置できない構造で、ラジエーターを360mm から 280mmに変更しました。ただ、Core i5 10400は、TDP65Wなので280mmの簡易水冷でも十分冷やせるのではないかと思っています。

CORSAIR iCUE H115i RGB PRO XT パーツ

CORSAIR iCUE H115i の取り付け方法

バックプレート

このバックプレートから取り付けるのですが、設置部分が両面テープになっているので、とても簡単に付けらますね。マザーボードはひっくり返すので、手でバックプレートを押さえないと落ちてしまいますがその心配がありません。本当に助かります。

バックプレート

両面テープを剥がしてから、設置します。

ねじ穴に、はまる部分は、CPUソケットの種類によって2段階にサイズ調整できるようになっているので、LGA1200の場合は、中心部分に移動するように4か所移動させます。

そのあとに、4か所はめるとぴったりと収まります。

ちなみにH115i の説明書には、LGA1200の記載がありませんでした。まじか・・・。LGA1151と同じようなものなので、LGA1151の項目を参考にしてください。

マザーボードの背面に設置したバックプレート

ラジエーターとファン設置

かなり苦戦しました。

14cmファンは、問題なく2つともねじ穴があっているので設置できるのですが、PCケースのねじ穴の位置と、H115iのラジエーターのねじ穴の位置が異なります・・・、

遊びがない作りなので、手の打ちようがありません。

そのため、一番下の位置だけ、ファンと、間のPCケースのプレートと、ラジエーターのねじ穴を合わせて、ねじ止めしました。この2か所をしっかりとめています。もしかすると下のファンの上部2か所も止められているかもしれません。

上のファン4か所は、ファンとPCケースのプレートのみを止めているような状態になります。

ぱっと見わからないくらいちゃんとねじ止めできるように見えますね。

ぐらぐらするようなことはないので、室内で使用しているくらいなら問題ない強度だと思います。

CORSAIR H115i フロント吸気で設置

Fractal Designは、簡易水冷CPUクーラーも発売しているので、純正パーツで固めるのもいいかもしれません。フロント吸気ができるのかちゃんと調べた方がよさそうです。

通電するとゲーミングPCっぽく光ります。

ゲーミングPCっぽい光

運命のベンチマーク

3DMARK Time Spy Score

WQHD(170Hz)、G-SYNC有効で、RTX3070Ti電力制限なし(310W)で実行しました。平均値超えで、サーマルスロットリングもないですね。650W電源ですが問題なく動作しました。

HWMonitor

そして、運命のCPU温度です。

結果は、なんと最高55℃です!!!!!!!!!!

ケース閉じてこの値なので、簡易水冷とフロント吸気の大勝利です。これなら長時間PCゲーム遊んでも安定稼働できる気がします。爆熱グラボ廃熱の影響うけてないですね。フロント吸気にこだわってよかった。

ベンチマーク実行後のCPU温度

ちなみに前回のIntel純正クーラーの結果は、フィーバーフィーバーでサーマルスロットリング多発でした。

電力制限(70%)してみると

最大223.5Wの状態です。グラフィックスコアが1000以上下がっています。前回の75%制限くらいが省電力とパフォーマンスでバランスが取れている気がします。

電力制限70%(223.5W)

まとめ

  • 簡易水冷CPUクーラーは、PCケースにより、設置できるラジエーターの大きさに制限があるが、280mmでもよく冷える
  • 爆熱グラボ廃熱の影響を受けない、フロント吸気は効果絶大です
  • CPU温度が下がった影響で、ファンの回転数が低く静かなPCになりました。
  • 爆熱グラボRTX3070Tiは、電力制限75%、リフレッシュレート144Hz, G-SYNC有効が省電力とパフォーマンスのバランスが取れているかも

積んでるゲームがありすぎるので、今年はこのPCで消化していきたい!

パーツ流用・仕事もできる自作ゲーミングPCが熱すぎたので対策してみた😢

Windows11環境で遊んでみたくなったので、手持ちのパーツを流用して、ゲームも仕事もできる自作PCを組み立てることにしました。

使用したパーツは以下ものです。主に2021年春にUbuntuサーバーで検証したときに購入したものです。

種類名前購入時の価格(円)
CPUIntel Core i5 10400 BOX18,756
CPUクーラーi5-10400付属のもの
マザーボードTUF GAMING B460M-PLUS9,430
メモリーCORSAIR DDR4-3200MHz (16GB x 2枚)19,200
ストレージWD Black NVMe WDS100T2X0C (1TB)不明(4年前?)
電源HCG650 GOLD14,828
ケースFractal Design Define R5 Black Pearl12,089
自作PC・パーツ

そんなPCパーツで大丈夫か?

Core i5 10400でゲームはできるか?

CPUはコスパ重視であったため、ゲームで使えるか心配でしたが、いくつかのレビューを見た限りでは問題ないレベルで遊べそうだったので、これにグラフィックボードを追加するだけでいけるのではないかと思っています。

CPUクーラーは付属のもので大丈夫か?

Ubuntu Serverで動作検証しているときは、特に問題を感じませんでした。真夏でもパッケージのインストールや、高負荷時にクーラーが唸りだすくらいでした。ただしアイドル状態の時間が多いのであまり参考になりません。

マザーボードはWindows11に対応しているか?

マザーボードに搭載されているB460のチップセットはWindows11に対応していたので最新BIOSをASUSのサイトからダウンロードして更新しています。

メモリーの容量は?

32GBあれば、仕事でもゲームでも困ることはないかと思います。

ストレージ容量は足りているか?

容量が1TBなので、最近のゲームをいくつも追加すると足りなくなってくるかもしれません。そこは、足りなくなってから、必要に応じてSSDを追加する予定です。

m.2なので耐用年数が心配ですが、あまり使用していないので大丈夫なのではないかと。

そんな電源(650W)で大丈夫か???

電源容量は、追加するグラフィックボードの消費電力によっては交換を検討する必要があります。

今回使用するモニターは、WQHD (2560×1440) 170Hzなので、この環境である程度快適に遊べるグラフィックボードを前提に探しました。RTX3080は4K環境で遊べることを売りとしているので、その1つ下のRTX3070Ti(220W)では、WQHDで快適に遊べると想定して、消費電力も計算して問題なさそうなので、このまま交換なしとしました。

しかし、グラフィックボードを購入した後、大変なことに。

WQHD環境で遊べるグラフィックボードRTX3070Ti

グラフィックボードの価格は、2年ほどずっと高値が続いています。それは、「半導体不足」だったり、暗号資産などの「マイニング」が原因とされていて、ゲーマーが気軽に買える価格ではない状態が続いています。そろそろ落ち着いてくれるといいのですが。

お店で買える最強のグラフィックボードは、RTX3080Tiですが、価格が20万円以上なので、PCを買える金額でグラフィックボードを購入しなければいけないような状況になっています。

ただし、RTX3080Tiが快適にゲームが遊べるとは言っても、RTX3080Tiの性能を引き出すには、CPUがボトルネックにならないようにより高性能なものが必要になったり、消費電力も増えるので、電源の交換も必要にあります。今はパーツ流用を前提にすると、RTX3050, RTX3060, RTX3070Tiあたりが妥当だと思います。

価格、性能、WQHD環境から最適なRTX3070Tiを購入することにしました。

そして運命というかタイミングよくセールがあったので最安価格より安く購入することができました。(本当に感謝)そろそろ、グラボが安く買えるようになってくる兆しだといいのですが。

GeForce RTX 3070 Ti SUPRIM X 8G

GeForce RTX 3070 Ti SUPRIM X 8G
PCケースに組み込んだRTX 3070 Ti SUPRIM X 8G

しかし、購入後に製品ページを見て驚愕の事実が・・・

なんと、消費電力(W)が、310W

推奨電源ユニット容量 (W)が、850W

https://jp.msi.com/Graphics-Card/GeForce-RTX-3070-Ti-SUPRIM-X-8G/Specification

RTX3070Tiでも、オーバークロックしている製品などもあり、消費電力が上位のRTX3080並みのものが多いことを、

買う前に個別の製品のことを知っておくべきでした・・・

ベンチマーク

ゲームのベンチマークと言えば、3DMarkということで、さっそくTime Spyを実行してみました。

結果は・・・・、スコアが平均より2000くらい低い

こ、これは、サーマルスロットリングではないのか?!

「サーマルスロットリング」とは、CPU温度が閾値より上がった時に、CPU温度を下げるために動作クロックを落とす安全装置のような機能です。

3D Mark Time Spy Score

再度実行してハードウェアモニターも見てみましたが、やはりCPU温度が100℃到達しています。

サーマルスロットリングが原因で性能が低下していると見て間違いなさそうです。

HWMonitor

Ubuntu Serverで使っていた時には全く問題なかったIntel純正CPUクーラーですが、RTX3070Tiをケースに入れると爆熱になるようで、まったく使い物になりません。

やはり、爆熱のグラボ(310W)の真上にCPUクーラーがあるでの、グラボから排出される熱で送風しても冷えるはずがありません。

Core i9, i7と違って、TDPが65Wのi5 10400なら純正でも大丈夫かな?と思っていましたが、全然そんなことなかったです。AMD Ryzenに付属されてるWraith Coolerでも難しいかも。 

ただ、良かったこともあり、電源が650Wですが、何度かベンチマークを走らせても動作が不安定になることはありませんでした。HCG650 GOLDが良い電源なのかな?

爆熱グラボの廃熱がCPUを冷やせない原因と仮定した対策

すぐできる対策

  1. PCケースを開けてケース内の温度を下げる
  2. グラボの消費電力を下げて廃熱を減らす
  3. G-SYNC対応ディスプレーなので設定ありにする(ただし、リフレッシュレート以上のfpsがでないと効果なし)

グラボの消費電力は、MSI Afterbunerというツールを使って電力制限 (POWER LIMIT)を75%にしてみました。

MSI Afterbuner

対策して再ベンチマーク

な、な、な、な、なんと

結果は、サーマルスロットリングなしで完走しました。

スコアも平均を少し上回っています。CPUスコアが4151から6929に爆上げしました。

珍しく仮説が当たりすぎて怖いです。

IntelのCPUクーラーごめん。実はかなりCPUクーラーの性能を疑ってました。爆熱のグラボの上にあったら、エアフロー対策できていない限り冷やすのは難しいのかも。

消費電力は、75%制限で最大239.1Wでした。(MSI Afterbunerの監視ウィンドウ調べ)

電力制限しても平均値を上回ることができたので、性能的にも650W電源で常用しても問題ないのではないでしょうか。

グラボ廃熱対策した3DMark

G-SYNCとリフレッシュレートって?

あと、すぐにできそうなことは、リフレッシュレートを120Hzに下げてG-SYNC設定有効にしても効果あるかもしれません。G-SYNCはリフレッシュレート以上のfps出ないように制御してリフレッシュレートに合わせて描画してくれます。そのため画面のちらつきが少なくなり、消費電力も削減できて一石二鳥です。ただし、ゲームによっては残像が強くなり見づらくなることもあるらしいので、基本有効にして、やりにくいゲームがあれば無効に切り替えるのがよさそうです。

120Hzと240Hzの違いは、人それぞれで、全然違うという人や、違いが感じられないという人もいます。ただ、多くの人は、60Hzと120Hzの違いがわかります。そして、120Hz以上の世界を知ると、もう後戻りできません。そのため、動きのあるゲームをする場合は最低120Hz以上がおすすめです。e-Sportsの世界では144fps以上が標準のようなので、プロゲーマーにリスペクトして144Hzでもいいかも。

60Hz, 120Hz, 144Hz, 170Hz, 240Hz, 360Hzの違いが、どのくらいの割合の人に、どこまで判るのか?

大規模にブラインドテストしてほしいです。

※G-SYNCを有効にするには、NVIDIAのグラフィックボードと、G-SYNC対応のモニターが必要になります。

今後の課題

PCケースは閉じて運用したいので、追加でCPUクーラーを購入しようと思います。グラボ廃熱の影響を受けないように、簡易水冷のもので、フロント吸気でラジエーターを冷やすのが良さそうです。ただし、本当にエアフローだけの問題なのかは、やってみないとわかりません。PCケース開けっ放しの方が効果があるのかも・・・。

電源については、推奨は850W以上ですが、電力制限しても問題なく遊べそうで、変えるほどのメリットが今のところないので、ゲームプレー時のみMSI Afterbunerで電力制限しようと思います。それ以外の時も常時起動でよさそうです。

簡易水冷CPUクーラーで気になるのは、コスパ良さそうで、LGA1700対応しているこちらの製品です。

MSI MAG Core Liquid 360R V2

まだ、LGA1700のCPU、マザーボードは買ってないですが、将来必ず買うと思うので今後はLGA1700対応製品の方がいいですよね。

あ、でもZen4のAM5対応待ちたいけど、さすがにそれまでは待てないですね

簡易水冷でPCケース閉じても冷やせそうなら、また記事にしてみたいと思います。

スターバックス福袋2022

あけましておめでとうございます!

昨年12月に当選したスターバックス福袋2022が届きましたので、記念に画像をアップいたしました。

テーマは「Connection」とのことです。

福袋の概要はこちらから

スターバックス福袋2022の中身

大小のトートバック

ワンポイントロゴのみのシンプルな大小トートバック

大小のトートバック
お揃いでも楽しめる大小トートバッグ

ミニブランケット2枚セット

2枚のブランケットを並べると絵柄がつながるデザインになっています。

1枚のサイズ 80x60cmで膝掛けによさそうです。

ミニブランケット2枚セット
ミニブランケット2枚セット

ドリンク交換チケット(6枚)

  • 有効期間 2022/1/1 〜 2022/6/26
  • 好きなドリンク1杯と交換できます。
  • 有料カスタマイズも可能
  • 店内飲食 671円、持ち帰り 658円を超えた金額は差額の支払いが必要
ドリンク交換チケット
ドリンク交換チケット

コーヒー豆引き換えカード

  • 有効期間 2022/1/4 〜 2022/6/30
  • 指定されたコーヒー豆250gと引き換え可能
コーヒー豆引き換えカード
コーヒー豆引き換えカード
  • 以下指定されたコーヒー豆
  • ライトノート ブレンド
  • ブレックファースト ブレンド
  • グアテマラ アンティグア
  • サイレン ブレンド
  • エチオピア
  • ケニア
  • ハウス ブレンド
  • バイクプレイス ロースト
  • ディカフェ ハウス ブレンド
  • コロンビア
  • TOKYO ロースト
  • スマトラ
  • カフェ ベロナ
  • フェアトレード イタリアン ロースト
  • コモド ドラゴン ブレンド
  • エスプレッソ ロースト
  • フレンチ ロースト

パイクプレース ロースト

中挽きのコーヒー豆 250gです。早速いただきました。

詳しくはこちら

パイクプレイス ロースト
パイクプレイス ロースト

ホリデー2020ボトルシルバーグリッター355ml

蓋を回すタイプのタンブラーです。

 ホリデー2020ボトルシルバーグリッター355ml
ホリデー2020ボトルシルバーグリッター355ml

ステンレス製携帯用ボトル(真空断熱構造)

箱にスターバックス福袋2022 ステンレスボトルB 355mlと記載があるので、おそらく2022福袋オリジナルのデザインなのではないでしょうか。

  • 使用推奨量 355ml
  • 保温効力 62.3°C以上 (6時間)
  • 保冷効力 6.9 °C以下 (6時間)
  • 保温・保冷効力は目安です。
ステンレス製携帯用ボトル(真空断熱構造)
ステンレス製携帯用ボトル(真空断熱構造)

ステンレス TO GO カップタンブラー ストライプ

飲み口がスライドできるタンブラーです。

  • 品名 真空断熱タンブラー (THERMOS)
  • 容量 355ml
  • 本体 ステンレス製
  • フタ ポリプロピレン
  • フタスライド ポリプロピレン
  • パッキン シリコーンゴム
真空断熱タンブラー
真空断熱タンブラー

You Are here Collection マグ JAPAN Spring

日本の春をイメージしたエスプレッソ用?(59ml)の小さなマグです。

日本に来た外国からの観光客に喜ばれそうなデザインですね。

You Are Here Collection マグ
You Are Here Collection マグ
You Are Here Collection マグ 裏
You Are Here Collection マグ 裏

昨年は、ジムに通い始めたり、プログラミング言語の学習を始めたり、PS5で遊んだり充実した年でしたので、今年もマイペースで楽しい1年にしたいと思います。

ブログの更新は、かなりマイペースですが、私の体験したこと、ノウハウ、成果など、同じような体験をされている方、勉強や悩みに取り組んでいる方の参考になるような記事を

昨年より多く共有できるようにがんばります。

JavaScript ES2015 (ES6) メモ

この記事は個人的なJavaScriptの学習メモになります。最低限知る必要があると感じたものや、これは必ず使うと思ったことのメモです。いざ調べはじめると、膨大な量のドキュメントに圧倒されますが、 TypeScript, Reactを始める前に必要な知識であるので、少しずつまとめることにしました。JavaScriptの学習を始めたい場合は、mozillaのドキュメントがわかりやすいのでこちらがおすすめです。

https://developer.mozilla.org/ja/docs/Web/JavaScript

他のプログラミング言語経験者やJS久しぶりの人は、先にJavaScript「再」入門に目を通して、知りたいところだけ詳細なドキュメント読むのがおすすめです。

https://developer.mozilla.org/ja/docs/Web/JavaScript/A_re-introduction_to_JavaScript

変数宣言(var, let, const)

https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_Types#declarations

var

var name = "なまえ";

// 上書き可能
name = "ナマエ";

// 再宣言可能
var name = "";

let

// 再宣言不可
let name = "なまえ";

// 上書き可能
name = "ナマエ";

const

// 再宣言不可
// 上書き不可
const name = "なまえ";

基本的にはconst定義を使用する。const宣言でもオブジェクト、配列は変更可能。

// オブジェクト
const obj = {
  name: "なまえ",
  email: "test@example.com"
};
obj.email = "noreply@example.com";

// 配列
const arr = ["なまえ", "sample@example.com"];
arr[0] = "ナマエ";

アロー関数 () => {}

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions

functionを使わず関数宣言する

// function
function showName(name) {
  return name;
}

// アロー関数
const showName = (name) => {
  return name;
};

// アロー関数の省略記法
// 引数1つの場合のみ括弧を省略できる
// 1行で書く場合はreturnを省略できる
const showNameLength = name => name.length;

// デフォルト値
const showName = (name = "なまえ") => console.log(name + "さん");
> showName("ナマエ");
ナマエさん
> showName();
なまえさん

分割代入

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

オブジェクトからプロパティを取り出して個別の変数に代入する。特にオブジェクトの扱いが便利になる。Reactなどのフレームワークを使う場合は必須。

オブジェクトの分割代入

const user = {
  name: "なまえ",
  email: "test@example.com"
};
const {name, email} = user;

// 必要なプロパティのみ取り出す
const {email} = user;

配列の分割代入

const user = ["なまえ", "test@example.com", "tokyo"];

// 不要な値は無視できる
const [name, , city] = user;

// 後半部分をまとめて取得(スプレット構文)
const [name, ...arg] = user;

スプレット構文

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax

…で反復可能オブジェクトを展開できる。

// 配列
const [name, ...arg] = ["なまえ", "test@example.com", "tokyo"];
console.log(arg); // [ "test@example.com", "tokyo" ]

// オブジェクト
const {name, ...arg} = {name: "なまえ", email: "test@example.com", city: "tokyo"};
console.log(arg); // { email: "test@example.com", city: "tokyo" }

// プロパティ名で取得した場合
const {email, ...arg} = {name: "なまえ", email: "test@example.com", city: "tokyo"};
console.log(arg); // { name: "なまえ", city: "tokyo" }

テンプレートリテラル (旧テンプレート文字列)

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Template_literals

文字列を連結(+)したり出力する場合に変数展開できて、文字列中でJSをそのまま実行できる

// バッククォートで囲む
`文字列のテストです`

// ${}構文で{}内をJSとして扱う
const test = "テスト";
console.log(`文字列の${test}です`); // 文字列のテストです

// 複数行
const num = 1;
const lines = `これは
複数行のテストです。
${num + 1}もできる`
console.log(lines);

> console.log(lines);
これは
複数行のテストです。
2もできる

Array.prototype.map()メソッド

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map

map()メソッドで、配列の全ての要素に対して呼び出して戻り値を新しい配列に格納する。

ドキュメントでは戻り値の配列を使用しない場合は、コールバックの戻り値がない場合は、forEach, for-ofの使用を推奨しています。

const cities = ["sapporo", "tokyo", "nagoya", "oosaka", "fukuoka"];
const saiAndKo = cities.map(city => `${city}最&高`);
console.log(saiAndKo)
// [ 'sapporo最&高', 'tokyo最&高', 'nagoya最&高', 'oosaka最&高', 'fukuoka最&高' ]

// 構文
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
    // 新しい配列の要素を返す
}[, thisArg])

// 第2引数のindexを確認(配列の添字)
const saiAndKo = cities.map((city, index) => `${index}番の${city}最&高`);
//
[
  '0番のsapporo最&高',
  '1番のtokyo最&高',
  '2番のnagoya最&高',
  '3番のoosaka最&高',
  '4番のfukuoka最&高'
]

Array.prototype.filter()メソッド

filterメソッドはmapとは異なり、評価が真の場合のみ新しい配列に値を保存する

const cities = ["sapporo", "tokyo", "nagoya", "oosaka", "fukuoka"];
const longNames = cities.filter(word => word.length > 6);
console.log(longNames);
// [ 'sapporo', 'fukuoka' ]

Amazon RDSのログファイルをダウンロードする

Amazon Aurora (LTS, MySQL5.7互換)のSQLログをダウンロードしてS3に保存しようと思い調べた内容のメモです。

Arch Amazon Aurora

データベースログファイルのダウンロード

AWSのドキュメントには、次の手順でログファイルのダウンロードが紹介されています。

  1. 管理コンソール
  2. AWS CLI (download-db-log-file-portion)
  3. RDS API (DownloadDBLogFilePortion)

今回はプログラムで扱いたいので、この中ではRDS APIDownloadDBLogFilePortionがよさそうですが、次のように制約があり最大1MBしかダウンロードしてくれないようです。

Downloads all or a portion of the specified log file, up to 1 MB in size.

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html

もう少し調べると、REST APIを用いたもので、downloadCompleteLogFIleという名前から要望通りのAPIが見つかりました。

REST を用いたログファイルの内容の読み取り

GET /v13/downloadCompleteLogFile/DBInstanceIdentifier/LogFileName HTTP/1.1
Content-type: application/json
host: rds.region.amazonaws.com

しかし、このAPIなぜか情報がこれしかないんですよね。IAMポリシーの「読み取り」権限にもあるので、正式なものですが検索しても公式ドキュメントが出てきません。なぜなのか?(もしかして使ってほしくない機能?)

早速、AWS APIの署名の例(Python)を参考にLaravelでも使いたいのでPHPで実装しようと思いましたが、PHPに移植するもの手間なので、一部AWS SDK for PHPを利用して動作するか試してみました。

参考

downloadCompleteLogFileでログファイルをダウンロードして保存する(サンプルコード)

次のように一部AWS SDKを利用して実装してみたところ動作しました。

これにRDSClientdescribeDBLogFilesを組み合わせれば、ログを全て取得することも可能かと思います。

注意事項! AWSではハードコードされた認証情報の使用を推奨していません

use Aws\Credentials\Credentials;
use Aws\Signature\SignatureV4;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;

// IAM User
$accessKey = '';
$secretAccessKey = '';

// URI
$service = 'rds';
$region = 'ap-northeast-1';
$dbInstanceId = '';
$logFileName = 'general/mysql-general.log';

$uri = 'https://'.
        $service.'.'.
        $region.
        '.amazonaws.com/v13/downloadCompleteLogFile/'.
        $dbInstanceId.'/'.
        $logFileName;

// Request
$request = new Request('GET', $uri);

// Credential
$credential = new Credentials($accessKey, $secretAccessKey);

// SignatureV4
$sigV4 = new SignatureV4($service, $region);
$signRequest = $sigV4->signRequest($request, $credential);

// SendAsync
$client = new Client();
$promise = $client->sendAsync($signRequest)->then(function($response) {
    // Save
    file_put_contents('/tmp/sql.log', $response->getBody());
});
$promise->wait()

Pixel 3aで楽天モバイルに接続する方法

久しぶりにOSをAndroid 12にアップデートしてみたところ、楽天モバイルのインターネット接続が繋がらなくなりました。

以下の対処方法でつながるようになるのですが、楽天モバイル導入時に設定して以来、再設定することはないのですっかり忘れていました。また忘れると思うのでメモします。

1. ダイヤルパッド(通話アプリ)を起動して、次のコマンドを入力する

*#*#4636#*#*

2. 携帯電話情報をタップする

Androidテスト機能

3. 優先ネットワークの種類を設定をタップして「LTE Only」を選択する

Android12テスト機能

4. 端末を再起動する

以上で、楽天モバイルにつながるようになりました。

楽天モバイルでPixel 6 Proを使ってみたいのですが、サポート端末に含まれていないので、もしかするとこの設定が必要になるかもしれません。

Far Cry 6 UBI CONNECTエラー(Snowshoe-D615AAAC)の対処方法

Farcry6を開始早々にUBI CONNECTエラー (Snowshoe-D615AAAC)で繋がらなかったので、私が接続できるようになった方法をご紹介いたします。

まず結論からですが、PlaystationNetworkから接続していたUBIソフトのアカウントで、セキュリティーの問題が発生してパスワードがリセットされていたことが原因だと思われます。そのため、パスワードを再設定することでUBI CONNECTに接続できるようになりました。対処方法にはiPhoneのアプリを使っています。PSN連携が必要になるので、 今のところ、これ以外の方法でがあるのかわかりません。

事象

・Far Cry 6からUBI CONNECTに接続できない

環境

・PS5 パッケージ版 Far Cry 6 ( ファークライ 6)

エラーメッセージ

  • 現在、Far Cry 6のサービスをご利用いただけません。しばらくしてから再度お試しください。詳細は弊社ウェブサイト http://www.ubisoft.co.jp/support をご確認ください 注意!: Snowshoe-D615AAAC
  • エラーが発生しました 注意!: Maine-15F

UBI CONNECT ERROR  Snowshoe-D615AAQC

UBI CONNECT ERROR Maine-15F

対処方法

1. iOSのUBI CONNECTアプリでログインする

UBI CONNECT APP Welcome

2. PlayStation Networkアイコンをタップする

UBI CONNECT PSN

3. PlayStaionNetwork(SONY)のメールアドレスを入力して[次へ]ボタンをタップする

UBI CONNECT PSN SIGN IN

4. パスワードを入力して[サインイン]ボタンをタップする

UBI CONNECT PSN SIGN IN

5. 2段階認証を設定している場合は、SMSで暗証番号が届くのでそのコードを入力して確認ボタンをタップします。

UBI CONNECT PSN 2段階認証

6. パスワードのリセット画面が表示されるので、UBI CONNECTのメールアドレス(おそらくソニーで設定しているメールアドレスと同じもの)を入力して[送信]ボタンをタップします。

UBI CONNECT PASSWORD RESET

7. [OK]ボタンをタップする

UBI CONNECT PASSWORD RESET

8. 次のようなメールが届いているか受信ボックスを確認してください。メールが届いている場合は、メール本文中央の[新しいパスワードを設定する]リンクをタップします。

UBI CONNECT パスワードリセットメール

9. ブラウザが開くので、[COOKIEの使用に同意します]をタップします

UBI CONNECT パスワード再設定

10. 新しいパスワードを2箇所入力して[変更]ボタンをタップします。

UBI CONNECT パスワードリセット

11. [了解]ボタンをタップする

UBI CONNECT パスワードリセット

12. パスワードの更新が終わったので、iOSのUBI CONNECTアプリを起動して項番2のPSN連携でUBI CONNECTにログインしてください。

13. 正常にログインできることを確認できたら、次はPS5のFar Cry 6でUBI CONNECTが接続できてエラーが解消されているか確認します。

FarCry6 UBI CONNECT

ミッション完了!

FarCry6

node.js インストール for macOS Big Sur(11.6)

React学習のための開発環境構築

ここではReact学習のための開発環境を構築します。

JavaScript実行環境のnode.jsのインストールから始めますが、最新のnode.jsをインストールすることも可能ですが、nvmを用いてnode.jsをインストールします。

nvmとは?

nvmは、node.jsの複数の異なるバージョンをインストールしたり、使用するバージョンを切り替えたりできるツールです。プログラミング本などで学習する場合によくあることでずが、本が出版された時期により実行環境のバージョンが異なるため、動作しないサンプルプログラムをよく見かけます。こういった悩みを解決するためにも、使用されているnode.jsのバージョンを合わせることで不要なエラーを防ぐことができます。

2021年10月8日現在ですが、最新のバージョンではなく、node.js推奨のサポート期間が長いLTS((Long Term Support)バージョンをインストールしています。LTSもコマンドを実行する時期によっては、バージョンが異なるためこの記事と合わせたい場合は、バージョンを指定してインストールするコマンドを実行してください。

コマンドの実行にはmacOS標準のターミナルを使用します。

macOS ターミナル

次のコマンドで実行する内容

  1. nvmインストール
  2. 環境変数設定
  3. node.jsインストール
  4. yarnインストール
# nvmインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 環境変数設定
echo 'export NVM_DIR="$HOME/.nvm"\n[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.zshrc

# 環境変数読み込み
source ~/.zshrc

# nvmバージョン確認
nvm -v

# node.jsをインストール(LTS最新バージョン)
nvm install --lts

# バージョンを指定してインストールする場合はこちらを実行してください。
nvm install v14.18.0

# node.jsバージョン確認
node -v

# yarnコマンドインストール
npm install -g yarn

# ---------------------------
# 以下のコマンドは実行不要です。
# ---------------------------
# 使用するバージョンの切り替え(LTSを使用する)
nvm use --lts

# 指定したバージョンをアンインストール
nvm uninstall v14.18.0

コマンド実行結果

nvmインストール

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14984  100 14984    0     0  48180      0 --:--:-- --:--:-- --:--:-- 48180
=> Downloading nvm from git to '/Users/ユーザー/.nvm'
=> Cloning into '/Users/ユーザー/.nvm'...
remote: Enumerating objects: 349, done.
remote: Counting objects: 100% (349/349), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 349 (delta 39), reused 156 (delta 26), pack-reused 0
Receiving objects: 100% (349/349), 203.27 KiB | 1.21 MiB/s, done.
Resolving deltas: 100% (39/39), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

nvmバージョン確認

source ~/.zshrc
nvm -v
0.39.0

node.js v14.18.0インストール

nvm install --lts
Installing latest LTS version.
Downloading and installing node v14.18.0...
Downloading https://nodejs.org/dist/v14.18.0/node-v14.18.0-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v14.18.0 (npm v6.14.15)
Creating default alias: default -> lts/* (-> v14.18.0)

node.jsバージョン確認

node -v
v14.18.0

yarnコマンドインストール

npm install -g yarn

> yarn@1.22.15 preinstall /Users/ユーザー/.nvm/versions/node/v14.18.0/lib/node_modules/yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)

/Users/ユーザー/.nvm/versions/node/v14.18.0/bin/yarn -> /Users/ユーザー/.nvm/versions/node/v14.18.0/lib/node_modules/yarn/bin/yarn.js
/Users/ユーザー/.nvm/versions/node/v14.18.0/bin/yarnpkg -> /Users/ユーザー/.nvm/versions/node/v14.18.0/lib/node_modules/yarn/bin/yarn.js
+ yarn@1.22.15
added 1 package in 0.522s

自宅で楽しむスターバックス リザーブ ロースタリー 東京のコーヒー豆(ルワンダ ショリー)

ロースタリー東京のコーヒー豆が自宅に届きました!

コロナ禍が始まって以来、買い物とジム以外ではリモートワークでほぼ外出しない生活が続いています。そんな生活の中、自宅でコーヒーを楽しむことが多いのですが、今回はスターバックス リザーブ ロースタリー 東京のコーヒー豆がオンライン販売されていたので購入してみました。

申し込み期間が、2021年8月20日(金)~9月2日(木)の「First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー」で、販売価格は250gで3,024円になります。送料は200円でした。

価格はハウスブレンドなどと比べると2、3倍の設定で高めですが、外で25杯コーヒーを飲んだつもりで購入しています。

化粧箱

黒にシンブルなロゴで少し高級感がありすてきな紙の箱になっています。ハイエンドスマホの高級な箱のイメージに近いですね。

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー 箱

開封

アフリカのコーヒー「ルワンダ ショリー」の豆250gのお隣に説明カードが挟んでありました。ルワンダ ショリーの特徴や生産者の説明が記載されています。

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー 内容

ルワンダ ショリーについて

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー 説明

手提げ紙袋

コーヒー豆の専用BOXとは別に手提げ紙袋が付いてきます。私は自宅用に購入したので使用しませんが、丈夫でデザインもよくプレゼント用にもなりそうですね。

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー 紙袋

内側は、かなり派手な絵柄で、虎とオウムや植物など豪華な雰囲気になっています。コーヒー豆以外にもタンブラーなどやサンドイッチ、お弁当なども余裕で入りそうな内容量です。

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー 手提げ袋 内側

アフリカのコーヒー「ルワンダ ショリー」

このコーヒー豆は、焙煎してから2週間ほど経過したものを送ってもらえるようなので、開けた時の薫りはかなりよかったです。個人的には焙煎してからそんなに時間が経過していないフレッシュなものも好きなので、そういうのも選べるといいんですけどね。

First Shipment from STARBUCKS RESERVE ROASTERY TOKYO ルワンダ ショリー コーヒー豆

飲んだ感想

かなりさわやかなフレーバーで、苦味はあまりないように感じました。公式の説明にある、明るいマンダリンや、ベーキングスパイス、ダークチョコレートのような味わいというのは、コーヒー自体の味というより雰囲気ではないかと思います。そんな気分が味わえます。

次は、ラテンアメリカ

次回のコーヒー豆は、ラテンアメリカのもので申し込み開始は、2021年9月17日頃です。

発送は10月8日頃の予定なので、また申し込んでみようと思います。

詳しくは、スターバックス公式サイトを参照してください。

それでは、楽しい自宅ライフを!

ダイエット中でも筋肉を増やしたいのでEAAとクレアチンを試す!

BCAAの次はEAA?

1ヶ月で5kg痩せるダイエット」を始めてから、有酸素運動でカロリー消費するためにジョギングを始めたのですが、朝5時でも暑すぎて走るのが困難だったのでジムに通い始めました。結果は3週間で5キロやることに成功してよかったのですが、思っていた体型とは異なって痩せるだけでは理想の体型になれないのではないかと思い、筋トレをすることにしました。

ジョギング中はXTENDBCAAをスポーツドリンクのように飲んで、帰宅後にプロテインを飲んでいましたが、ちょうどBCAAを飲み切っていて次のものを探しているときでもありました。

ジムに通って筋トレをすると、より効率的に筋肉をつけたいと思うようになり、いわゆるボディービルの大会に出るようなYoutuberの動画を頻繁に見るようになりました。そこでEAAクレアチンと言ったサプリメントがキーワードがよく出てくるので、自分なりに調べてみて取りあえず試してみることにしました。

EAAの味が気になる

スポーツドリンクのように飲めるXTENDのBCAAは、本当に飲みやすくブラッドオレンジ風味が気に入っています。プロテインもそうなんですが、本格的なものほど味は二の次で、正直まずくて本当に飲むのがきついんですよね。いくら成分がいいものでもまずいと続けられる自信がないので、味は本当に気になります。そこでプロテインは、自分に合いそうな味をいろいろ調べた結果、Dymatize Nutrition ISO 100 Hydrolyzed 100% Whey Protein Isolateのストロベリー風味が自分に合いそうだったので、これを購入してジムから帰ってきたらすぐに飲んでいます。

EAAの味は、右も左もわからない状態なので、同じメーカーなら大丈夫ではないかと思い購入したEAAが、Dymatize Nutrition オール9アミノ オレンジクランベリー です。

楽天でDymatize Nutrition ALL9 AMINO価格を確認する

Dymatize Nutrition, オール9アミノ、オレンジクランベリー

飲んだ感想は、XTENDのBCAAが飲みやすすぎて、それと比べると若干粉っぽくて飲みにくいのですが、必須アミノ酸入ってる〜という感じで続けられるか心配でした。しかし、驚くことに、2日目、3日目と飲んでいると慣れてしまって、今ではBCAAと変わらず美味しく飲んでいます。

以下が1スクープ(15g)の栄養成分表示になります。

  • カロリー 50kcal
  • 炭水化物 1g
  • ビタミンC 90mg
  • チアミン 1.5mg
  • ナイアシン 20mg
  • ビタミン B6 10mg
  • ビタミン B12 3.5mcg
  • パントテン 9mg
  • BCAA(L-ロイシン, L-イソロイシン, L-バリン) 7.2g
  • 必須アミノ酸(L-リジン、L-スレオニン、L-フェニルアラニン、L-メチオニン、L-ヒスチジン、L-トリプトファン) 2.8g
  • ココナッツウォーターフルーツパウダー 200mg

Dymatize Nutrition, オール9アミノ、オレンジクランベリー 成分表示

Dymatize Nutrition, オール9アミノ、オレンジクランベリー

栄養表示からもわかるようにEAAとは体内で作ることができない9種類必須アミノ酸が含まれているサプリメントということになります。この必須アミノ酸が1つでも欠けるとたんぱく質が合成できないので、筋肉をつけるために必要と考えられています。またBCAAの成分も含まれているので上位互換のサプリメントと言えます。

引用 e-ヘルスネット

必須アミノ酸 : イソロイシン、ロイシン、リジン、メチオニン、フェニルアラニン、トレオニン(スレオニン)、トリプトファン、バリン、ヒスチジン

非必須アミノ酸 : チロシン、システイン、アスパラギン酸、アスパラギン、セリン、グルタミン酸、グルタミン、プロリン、グリシン、アラニン、アルギニン

クレアチンも気になる

クレアチンについても調べましたが、運動能力の向上に対して有効性が示唆されているエビデンスはありました。しかし、効果があったりなかったりバラツキがあるようです。

エビデンス 健康食品の素材情報データベース

  • 無酸素運動能力の向上と関連が認められた。
  • 最大スクワット重量 、総レッグプレス重量、大腿四頭筋パフォーマンス、下肢筋力の向上と関連が認められた
  • 中高年者によるレジスタンス運動とクレアチン摂取の併用は、体重、除脂肪体重、脚力、大胸筋力の増加、30秒立ち上がりテストの向上と関連が認められた。
  • 中高年者によるレジスタンス運動とクレアチン摂取の併用は、大胸筋力、除脂肪量の増加と関連が認められた
  • 脚力、大胸筋力の増加が認められた。
  • 運動後摂取群でのみ四肢骨格筋量、除脂肪組織量の増加が認められた
  • 1回最大筋力 (レッグプレス、膝伸展、膝屈曲、ラットプルダウン、アームカール) の向上、除脂肪量の増加が認められた。

まだまだ研究段階のようですが、効果的に筋肉がつけられることを期待して自分でも試してみようと思いました。というのも、トレーニング後にプロテインに混ぜて飲むだけなので、負担にならないことと、安全性が示唆されているので不安要素がないためです。

楽天でMuscletech, エッセンシャルシリーズ、プラチナ100%クレアチンの価格を確認する

CREATINE

CREATINE

CREATINE

他の味のEAA, プロテインも気になる

まずは、ALL 9 AMINOを30回分飲み切ってから、その他のEAAも試してみようと思います。BCAAに続いてプロテインも飲み切りそうなので、できるだけ少量かお試しパックのようなものを探してみようと思います。メーカーも味もいろいろあって本当に迷いますよね。

チョコ風味のものが人気があって飲みやすいので種類も多いようです。プロテインなどはトレーニング後に飲むのでそれもありかと思いますが、筋トレやランニング中などはスポーツ飲料のような爽やかなものが好みなので、柑橘、ベリー、ヨーグルトなどのさわやか風味のものを探したいと思います。

BCAAは1ヶ月続けられたので、あと3ヶ月はEAA、プロテイン、クレアチンを続けて効果が実感できるか確認してみようとおもいます。