Windows11でRDP接続をすると切れる(WiFI EAP認証のケース)
Windows11のWindowsUpdateが走ったあとから、リモートデスクトップで接続できなくなる現象が発生しました。 挙動を見ていると、どうもRDPログインすると一度ネットワーク接続が切れる現象が起きている模様。 なんだこれと思って色々みていると、現象が発生している環境はWi-FiのEAP認証(エンタープライズ認証)であり、この認証情報はWindowsのOSではなくユーザーと紐づいているので、ユーザーのログイン状況が変化すると切れるという事らしい。
これは、WiFiのネットワークデバイスの設定の802.1Xの設定で「資格情報の保存」をすると解消できました。 (一度保存すると「資格情報の置換」の表示になる) これでWiFi-EAP認証のユーザー情報を、OSのユーザーではなくてOS自体に紐づける操作だと解釈しました。 しかし今まではこの環境で問題なくRDPできていたのに、なんで急にできなくなったんだろう。。 WindowsUpdateで急に挙動変わるのやめてほしいですね。
eSIM設定してるiPhone11を修理したら再設定に2200円かかった話
iPhone11を使っています。 iPhoneXから11に機種変したときの1つの楽しみが、eSIMが使える事でした。 eSIMは、一般的に使われている物理的なSIMカードを使うこと無く、電子的にSIMと同じ機能を果たす仕組みです。(多分)
1つの端末で2契約を使えるという事で、1回線は通常のキャリアSIMを電話用に、1回線はパケット通信用に格安MVMOを、というような事ができます。
昔から中華製端末などではできたようですが、1台のスマホに2つSIMが入るというのを初体験したくてウズウズしてました。 日本でeSIMを自由に使えるのはIIJのみですので、これを普通に契約して使っていました。
順調にそのような運用をしていたのですが、先日うっかりiPhone11の画面を割ってしまい、AppleStore持ち込みで修理しました。 当初は画面のみの交換でデータはそのままという話だったのですが、やはり交換してみたところ不具合が見つかって全交換となりました。
最初から全交換を見込んでいたので各種データのバックアップやモバイルSuicaの移行などは恙無く完了しました。
さて悲劇はここから。 eSIMを機種変更するのは初めてでした。
結論から言うと、機種変更するのはIIJにeSIM再発行手数料として2200円払う必要があります。 電話番号も変わります。(eSIMはデータ通信しかできないので事実上問題無いですが。)
https://help.iijmio.jp/s/article/000002406
しょうがないので指示通り再発行の手続きをしました。 Webの画面から簡単にでき、操作完了から5分後くらいにeSIM登録用のアクティベーションコードがメールで送られてきました。
それを設定しようやく元通り。 めでたしめでたし。
eSIM面白いなと思って飛びついたのですが、今回のように修理のようなケースのみならず、単純に機種変更の場合でもeSIM再発行手数料がかかってしまうというのは覚えておかねばならないと思いました。
AWS LambdaでPHP動かしてみた
やること
何を書こうか頭を捻っていたのですが、ちょうど良くネタが降ってきたので便乗してみます。
re:Invent 2019 で発表された製品・機能一覧 | AWS
昨今サーバーレスアーキテクチャという言葉を聞くようになりました。 従来は何らかのサービスを提供するためには、いつでもリクエストを処理できるようサーバーを常時起動させておく必要がありました。 サーバーレスアーキテクチャではリクエストが発生してからコンピュータリソースが割り当てられるため、用意していたリソースが使われずに無駄になるという事がなくなる、といった仕組みです。 たとえばVPSを1台借りていれば月額いくらという料金がかかりますが、仮に1度もリクエストが無くても料金が発生します。 サーバーレスアーキテクチャであればリクエストの量に応じて課金になるため、無駄が発生しにくくなるわけです。 また、サーバーというサイズの決まった箱を用意しなくて済むので、急激なサービス拡大によってリクエスト量が増えても対応しやすい、というメリットもあります。
LambdaはAWS(AmazonWebServices)が提供する、サーバーレスアーキテクチャを実現するサービスです。 対応している言語が限られていましたが、先日ついにPHPも利用できるようになり、PHPerのワイ大歓喜といったところでございます。
今回は簡単なPHPプログラムをLambdaにデプロイし、動作を確認するところまでをやってみました。
環境
事前準備
AWS CLIのインストール
$ brew install awscli $ aws --version aws-cli/1.16.60 Python/3.7.1 Darwin/17.7.0 botocore/1.12.50 $ aws configure ※Credentialsの設定をする
AWS SAM CLIのインストール
$ brew tap aws/tap $ brew install aws-sam-cli $ sam --version SAM CLI, version 0.8.1
S3バケット作成(パッケージをデプロイするのに使う)
$ aws s3 mb s3://takemaru-lambda-test
コンテンツの準備
基本的には
の内容そのままですw
適当なディレクトリを作成します
$ mkdir -p test-lambda-php/src/php $ cd test-lambda-php
template.yaml ファイルを作成します
AWSTemplateFormatVersion: 2010-09-09 Description: My PHP Application Transform: AWS::Serverless-2016-10-31 Resources: phpserver: Type: AWS::Serverless::Function Properties: FunctionName: !Sub ${AWS::StackName}-phpserver Description: PHP Webserver CodeUri: src/php Runtime: provided Handler: index.php MemorySize: 3008 Timeout: 30 Tracing: Active Layers: - !Sub arn:aws:lambda:${AWS::Region}:887080169480:layer:php71:4 Events: api: Type: Api Properties: Path: /{proxy+} Method: ANY
実行するPHPプログラムを用意します
今回は超無難にphpinfo()を動かすことに
<?php phpinfo();
こんな感じのディレクトリ構造になりました
. ├── template.yaml └── src └── php └── index.php
次に作成した内容をパッケージ化しデプロイします
$ sam package \ --template-file template.yaml \ --output-template-file serverless-output.yaml \ --s3-bucket takemaru-lambda-test $ sam deploy \ --template-file serverless-output.yaml \ --stack-name testlambda2 \ --capabilities CAPABILITY_IAM
無事済んだらAWSコンソールのAPI Gatewayダッシュボードを確認し、APIのエンドポイントURLを確認します
https://xxxxx.execute-api.ap-northeast-1.amazonaws.com/Prod/index
アクセスしてphpinfo()の画面が出れば成功です
まとめ
本当はもう少しいろいろやりたかったのですが、環境構築に手間取り時間がなくなってしまいました。
実際動かしてわかったのですが、最初はCakePHPでも動かしてみるかと思ったのですが、mbstring等の必要なライブラリが入っておらずそのままでは動かなそうです。
このあたりが今後の課題だと思いますが、折角ですので徐々に実案件でも使えるようにしていきたいと思います!
参考
LibreOffice calcのグラフ背景画像に任意の画像を設定しようとしてクソハマったからメモ
Draw起動してそっちから画像Importしろってよ。。 Calcの設定画面を隅から隅まで探していたのにどういうこっちゃ。。
PHPのDOMDocument::loadHTML()がHTMLエンティティを変換してしまう件(未解決)
あえてHTMLエンティティのまま読み込んでそのまま出力してもらいたいのだけど、loadHTML()が勝手にもとに戻してしまい、これが元で意図した動作になってくれない。
この問題はこのへんでも論じられているが、解決はしていないみたいです。
調べてみると、これの内部処理はlibxmlが行っている模様。 で、libxmlのドキュメントを読むとこの動作を制御するためのxmlSubstituteEntitiesDefault()というのが用意されているみたい。
http://xmlsoft.org/entities.htmlxmlsoft.org
でもPHPからこの関数を叩く方法が用意されていない…。 一応要望は出されているみたいだけど、2002年から放置なので対応する気はなさそう。
https://bugs.php.net/bug.php?id=15145bugs.php.net
こんなん見ても無いもんはないw
これはもうどうにもならんので他の方法を考えることにします。。
AWS EC2(CentOS)のストレージ拡張
AmazonLinuxではなくてCentOS6です。 AmazonLinuxではオンラインで拡張できるようですが、CentOSの場合は1度OSリブートする必要があります。
AWSマネージメントコンソールからELBをリサイズ # cat /etc/redhat-release CentOS release 6.6 (Final) # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 8G 0 part / # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 6.0G 1.5G 81% / tmpfs 498M 0 498M 0% /dev/shm # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -i epel-release-6-8.noarch.rpm # yum install dracut-modules-growroot # dracut --force --add growroot /boot/initramfs-$(uname -r).img # reboot 再起動後 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 20G 0 part / # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 5.9G 13G 32% / tmpfs 498M 0 498M 0% /dev/shm
再起動したら拡張が適用されてました。 resize2fsが必要だと思っていたのだけどなんでだろう…。
LINEモバイルを早速検証、年齢認証も突破!
いよいよ始まりましたLINEモバイル。 これはあのLINEがはじめたMVMO、所謂格安SIMサービスです。
メインとなるプランは月額500円で1GBの通信ができるプランです。 特徴はなんといっても、LINEとの通信は容量カウントされないという事です。 LINEでの通信がメインの人にはこれ以上のプランはないでしょう。
更に特徴となるのが、LINEの年齢認証を突破できる事です。 いままでは格安SIMではLINEの年齢認証を突破できなかったのでこれは大きな利点です。 年齢認証が通らないとID検索ができませんので、中々不便でした。
そんなLINEモバイルの申込はこちらからできます。
現在のところ初回販売2万契約限定との事ですが、現時点ではまだ申込ができるようです。
そんなわけで昨日9/7、早速申し込んでみました。 サイトから各種情報を入力、身分証のアップロード、カードの登録等行います。
そして本日9/8、早くもSIMが届きました!
早速試してみました。 使っている端末はドコモ版iPhone5cです。
ちなみに今まで使っていたSIMはIIJmioです。 格安で安定していることで有名ですので、特にLINEに拘らないならオススメです。
IIJmioのSIMはまんまdocomoのものだったのですが、 LINEモバイルのものはdocomoのロゴは無いようです。
付属の説明書に従ってAPN構成プロファイルをダウンロード、インストールします。 この端末ではすでにIIJmioのプロフィールが入っていたため、予め削除するという操作が必要でした。
インストールすると問題なく通信できるようになりました。 キャリア表示も「docomo LTE」となっています。
LINEの年齢認証を突破してみる
さて本題です。
まずLINEを立ち上げ、IDの設定自体は済んでいます。 ここから「IDで友だち追加を許可」をしようとすると、今まではキャリア認証ができず有効にできませんでした。
今回ためしてみると、「LINEモバイルをご契約の方」という項目が増え、進めるようになっています。
そこで「利用コード」というのを入力する必要があります。
これ最初は悩んだのですが、LINEモバイルのサイトにログインすると利用コードが表示されていました。 こちらを登録することで次へ進めます。
あとは画面の指示通りに進むことで、年齢認証をクリアし、無事「IDで友だち追加を許可」を有効にすることにできました!
如何でしたでしょうか。 月500円でIDが使える状態のLINEを使えるのはすごくお得だと思います。 最近普通のキャリアでスマフォを買うと月額がやたら高いですので、これらをうまく活用して節約していきたいですね!