AppEngineでcomposerが更新されないとき

Google AppEngine

 最近になってようやくGoogle AppEngine (以下GAE)を使いだし、自サイトをその上で動かせるよう試行錯誤しています。

前置き

私の主サイトは古くからPHPで動かしていて(初期の頃はLegacy ASPで動かしていたこともありました)、GAEでPHPがサポートされてからいつか移植して動かしてみたい。と思っていたのですが、ベースとしていたフレームワークが古く、composerも使用していない状態のものだったため、最近になり、重い腰を上げてLaravelに置き換えるまでなかなか移植できずにいました。

GAEで開発していると、自分で好き勝手にモジュールをインストールして動かしていた環境と異なり、ある程度の制約を受けつつその中で作るようになります。幸いにも既存機能については代替の外部APIなどに置き換える事でほとんど移植可能になりそうとなりました。

minikubeでGoogle Container Registry (gcr)からイメージを取得する

最近は今ごろになってKubernetesの勉強をしています。
概念は大まかに理解した。つもり。けど全然分からん。

Zennで書いた記事のミラー。なので、以下同じ内容。

前置き

現在Google Cloudの無料期間を利用しつつ色々試しているのですが、Google Container Registry(gcr.io)にホストしたコンテナイメージをminikubeで構築しているローカルの環境から取得する際に、プライベートリポジトリだと認証処理が必要になります。

Kubernetesでもこのあたりはもちろん考慮されていて、Dockerレジストリで使用されるログイン認証に準拠した仕組みが準備されています。

が、如何せんうまく認証されない。普通にリポジトリパスを指定しても、PullImageErrorとなってしまう。

エラーログを見ると、認証方法を確認しろ(意訳)というメッセージとともに GCRでの認証方法を案内するページ へのリンクが出ているので確認し、手順に則って見るも、うまくできない🤔

フリーWi-Fiに接続したらサイトに接続できない場合の話


 スマートフォンが普及してからだいぶ経ち、国外からの旅行者向け、観光誘致も込めてまちなかで使用できるフリーWi-Fiもだいぶ普及が進んできました。

おかげで飲食店などに入り、その店内でWi-Fi経由で調べ物をしたりするのにはとても便利だったりします。

しかし、フリーWi-Fiに接続した途端にサイトに接続できなくなることありますよね。あれ鬱陶しいですね。

これは少し仕方がない部分があって、これもまた最近広まっている、常時HTTPS通信によるものが影響してます。

何故繋がらなくなるのか

HTTPSの通信によって通信の内容は暗号化されています。その内容は利用者以外からは読み取れません。また、その通信内容を改ざんすることもできません。

フリーWi-Fiで繋がらなくなるのはこの通信に介入(実質的には一部改竄)し、Wi-Fiの事前認証情報にログインしていない場合はログイン画面に移動させようとします。
また認証されていない場合、ログイン画面と、一部の許可されたサイト(例えば店舗のウェブサイトなど)以外は通信を制限するようにしています。

この機能はフリーWi-Fiのルーターの機能によるもので、これをキャプティブポータル(Captive Portal)といいます。

そのためログイン画面に遷移させることもできず、外部のサイトへの接続も制限された結果、フリーWi-Fiにつないだ途端にウェブサイトにつながらない。という状態が発生します。

データ通信用eSIMの契約と設定 (Pixel 4編)

eSIMの契約と設定 (Pixel 4編)
eSIMの契約と設定 (Pixel 4編)
先日Googleのイベントで発表、その後発売されたPixel 4を購入しました。
Pixel 4 (Oh So Orange)のパッケージ

PixelシリーズでもPixel3からeSIMに対応しましたが、国内版ではFeliCaが使用可能な代わりにそれが有効化されず、eSIMが使えるのは北米版でした。Pixel 4では国内版でもeSIMが使えるようになり、FeliCaも引き続き利用できるようになりました。

日本ではしばらくeSIMを提供するキャリアは存在しませんでしたが、2019年7月18日から、IIJ mioでeSIM契約の提供が開始されました。
現在はデータ通信専用、かつベータ版ということで、eSIM側で音声通話はできないですが、主回線とデータ通信線用回線でプランを使い分けすることが可能になります。

IIJ mioでは、10月31日までのキャンペーンで、初期費用3000円が0円、月額1,520円(税抜)/6GBが3ヶ月間1,000円引きの520円となるキャンペーンが開催されているため契約してみました。(10月28日までに繰り上げ、10月29日現在終了済み)

iPhone版はこちら

データ通信用eSIMの契約と設定 (iPhone XS編)

eSIMの契約と設定 (iPhone XS編)
eSIMの契約と設定 (iPhone XS編)

iPhoneはXSからデュアルSIMに対応し、中国、香港を除く地域で販売されるiPhone XS以降ではeSIMが使えるようになりました。

日本ではしばらくeSIMを提供するキャリアは存在しませんでしたが、2019年7月18日から、IIJ mioでeSIM契約の提供が開始されました。
現在はデータ通信専用、かつベータ版ということで、eSIM側で音声通話はできないですが、主回線とデータ通信線用回線でプランを使い分けすることが可能になります。

IIJ mioでは、10月31日までのキャンペーンで、初期費用3000円が0円、月額1,520円(税抜)/6GBが3ヶ月間1,000円引きの520円となるキャンペーンが開催されているため契約してみました。(10月28日までに繰り上げ、10月29日現在終了済み)

Android版はこちら


他人が自分のメールアドレスでサービスを利用した場合(AmazonとNetflixの場合)

他人が自分のメールアドレスでサービスを利用した場合(AmazonとNetflixの場合)

サービス登録とメールアドレス

本来あまりあってはならないが、サービスによってはユーザー登録時の利便性を考慮し、利用者が入力したメールアドレスの所有確認をその場ではしないものもある。
そうした場合でも、サービス利用開始後にマイページなどで受信確認を行わせるものはある。
しかし、その確認はあくまでもユーザー任意となっており、実質的に自分の所有していないメールアドレスで登録、利用できてしまうケースもある。

自分のメールアドレスを利用しないことによるデメリット

この場合で困るのは、アカウントを利用しようとしたユーザーがパスワードを紛失した際に、自力で復旧することが困難になる。
また、登録時に利用した他人のメールアドレスが実在した場合、場合によってはその所有者に登録者の個人情報が漏れる事である。

後者の場合、悪意あるメールアドレス保有者だった場合に、そのサービスにアクセスし、パスワードをリセットさせることで、そのアカウントを乗っ取ることができる。サービスの作りによっては、乗っ取ったアカウント内に保存されている住所などの連絡先情報やメールの内容、登録されたクレジットカード情報などが確認できてしまう可能性すらある。

サービス登録時は自分のメールアドレスをよく確認して登録しよう。


今回は自分のメールアドレスが他人に勝手に登録され、利用された場合の各サービスへの問い合わせと、その対応結果についてここに書く。


中古ドメインを購入しG Suiteでキャッチオールで受信してみた

G Suiteとキャッチオール機能

G Suiteは独自ドメインでGoogleサービスを利用できるもの。
代表的な機能としてはGmailで、G Suite管理画面から払い出したアカウント毎に独自ドメインで利用可能なGoogleアカウントが作成される。

そのため通常には通常のメールアドレスと同じく一つの受信先のメールのみ利用できる(別途受信用にエイリアスを指定することは可能)が、自分のドメイン宛の他のメールアドレス(存在しないアカウント)宛に送られたメールについても受信設定をすることが可能である。これをキャッチオール機能という。これはメールシステムによってサポートされていなかったりもするが、G Suiteでもこれを設定し、受信することができる。

G Suiteでは、存在しているメールアドレス以外の、存在しないメールアドレス宛のメールを設定できることはもちろん、存在しているメールアドレス宛のものも設定できる。
後者は組織で監査目的などで設定し、別途監視する、ということも可能ではある。

使用するドメインについて

さて、今回試用する中古ドメインは、中古といっても期限が切れたものをすぐに新規で取得したもので、ドメインオークションサイトなどで出品されていたものを入手したとか、前の所有者から直接譲渡された、というわけではない。

ファーストオーナーではないことが分かりきった上でこれを設定するのもなかなかイヤラシいが、はたしてどんなメールが来るのか少々興味があった。

ウェブページをリニューアルしました+近況

かなり久しぶりのブログ更新です。 タイトルの通りですが、約6年ぶりにウェブページを刷新しました。 ウェブページを更新しました 前回は2018年頃に、Zend Frameworkをベースに作っていたのをLaravelベースのサーバーに置き換え、AppEngineで動かす形にしていま...