YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

インドに行ってきた(準備編)

はじめに

こんにちは、OpenTelemetry推進委員会です。Velocity Berlin、KubeCon North Americaの出張に続いてGDG Cloud Community Daysというイベント(DevFest的なイベント)がインドの7都市であり、そのうち4都市で登壇してきました。その際に、今回初めてインドにいくのでもろもろと準備をしました、という記録です。

旅程

都市 日程
クアラルンプール 12/1-2
バンガロール 12/2-4
ハイデラバード 12/4-6
チェンナイ 12/6-7
デリー 12/7-9

インドというか、南アジア・東南アジアではシンガポール以外の国に行くのが初めてだったのでいろいろと準備が必要でした。いろいろ書いていたら準備だけで長くなってしまったので、まずは準備編だけまとめます。

ビザ

日本のパスポートの保持者は数多くの国においてビザの取得が免除されていて、海外出張に行くたびにその恩恵を感じます。しかしインドに関してはビザの取得が必須です。とはいえ、日本国籍の人間はインドの主要な都市に行く限りにおいては比較的容易な申請方法で取得可能です。

indianvisaonline.gov.in

インド国内で空港や港がある都市にのみ行く場合には、書面による申請ではなくオンラインでのe-VISAの申請が可能で、多くの質問に答える必要はありますが、アメリカのESTAを取得するのとあまり変わらない手間でインドのビザを取得可能です。*1

実際自分も条件に適応するのがビジネスビザだったため、その申請をしたところ中2日で申請が処理され、無事にe-VISAが取得できました。一つ注意としては、申請の際に入国と出国の都市(空港や港)を聞かれるのですが、もし申請後に旅程に変更があっても、先に書いたように空港や港がある都市内を移動するだけであれば最申請の必要はありません。

インドに到着した際にe-VISAを印刷した紙を専用の入国審査窓口で見せると、いくつかの質問を経た上でパスポートにビザとなるスタンプを押してくれます。

公衆衛生・健康

予防接種

www.in.emb-japan.go.jp

「出張だし大丈夫」とは言われるのだけど、こういう機会でも無ければ打たないし、保険としてリターンが大きい*2ので、打ってきました。

直前に行ったこともあり、1日で6本という幼児もびっくりの数の予防接種を打ってきました。担当の看護師も「いやー、これはなかなかに大変ですね」と言ってました。

整腸剤

予防接種にあわせて薬等々を準備しました。調べてみるとインドで罹患するような病気(虫や細菌が原因のもの)の場合は、日本で市販されている薬ではどうにもならないものがほぼすべてということだったので、買うのは整腸剤のみ。安心のビオフェルミンSを購入しました。

新ビオフェルミンS錠 [指定医薬部外品]

新ビオフェルミンS錠 [指定医薬部外品]

  • メディア: ヘルスケア&ケア用品

スポーツドリンクの粉

整腸剤をもってしても一度感染症や食あたりになってしまえば意味がありません。回復までの期間、脱水症状を回避しつつ栄養を摂るためにもスポーツドリンクの粉を持っていくのが良いと判断し、合計10L分の粉を用意しました。

虫除け

「インドの虫は強いので日本の虫除けは役に立たない」と、これまたインドの虫の戦闘力を推してくるブログ記事ばかりを見かけます。

というわけで、普段は室内にいるから必要ないとは思うけれど、外に出ることがある場合に備えて、 現地の虫よけ剤にも入っているディート(ジエチルトルアミド)を含んだ虫よけ剤を購入。100mlだしガスを使わないプッシュ式のスプレーなのも海外への携行を意識したメーカー側の配慮を感じ好感度アップです。

【第2類医薬品】ムヒの虫よけムシペールα30 60mL

【第2類医薬品】ムヒの虫よけムシペールα30 60mL

  • 発売日: 2017/03/21
  • メディア: ヘルスケア&ケア用品

大気汚染

インドの大気汚染は近年かなり重篤な水準になっているよう*3で、各種報道でもそのような内容の記事がたくさん見られます。

またこちらの世界の大気汚染を地図で一覧できるサイトでも顕著です。

waqi.info

たとえば東京都心は世界的に見ても都市部の中ではかなり空気が綺麗。

f:id:ymotongpoo:20191201045737p:plain

一方インド、特にデリーがある北インドでは時間によってはスケールの上限値に近い900超えの数値が出るエリアが多数あります。

f:id:ymotongpoo:20191209144340p:plain

出張中はイベントで登壇したり室内で過ごすことが多いとはいえ、移動中や空調が効かなかったときの場合に備え、マスクを持っていくことにしました。マスクもきちんと「PM2.5対策」などと明記してあるものです。

両替

インドルピーは国外への持ち出しが禁止で、日本国内の空港の両替所でもインドルピーは交換できません。したがってインド国内で両替するしかありません。

さまざまなサイトで調べたりインドに行ったことがある同僚に聞くと「両替所では現在では利用不可になっている旧紙幣を出してきて騙してくるやつがいる」とか「両替時に札をくすねられた」とか様々な話を聞いてやる気をなくしました。

今回は出張で現地観光をするような時間もほぼ無いため、カードでできるだけ過ごしてみることにしました。また万が一現金が必要になった場合には他の海外出張時と同様、ソニー銀行のカードを使ってATMを利用して引き出すことにします。

SIMカード

インドでは現地でSIMカードを取得するのが少し面倒という記事をいくつか見かけたため、なるべく国内で事前に購入していきたいと思ったのですが、ちょうど良さそうなSIMカードが値段も安く売っていたのでそちらをAmazonで購入しました。

レビューを見る限りはインドで使っている人は多いようですが、果たしてきちんと使えるのでしょうか。現地で確かめてみます。

というわけで、出張編に続きます...

参考

*1:質問内容が複雑だったり、添付するパスポートをスキャンしたPDFや申請者の写真画像のフォーマットに制限があり、その加工が多少面倒です。

*2:例えば破傷風とかは子供の頃に予防接種しているならブースターを摂取することで10年効く

*3:The Economistの記事によると2018年の大気汚染のワースト30の都市のうち、インドの都市が22あった。

ドイツに行ってきた

はじめに

こんにちは、OpenTelemetry推進委員会です。先々週Velociy Berlin 2019でOpenTelemetryを使って分散トレースを取ってみるという3時間のワークショップの講師をしてきたのですが、初めてドイツに行ったので面白いと思ったところを雑多に記録しておこうと思います。他の旅行記/出張記は以下のとおり。

旅程

都市 日程
ベルリン 11/2-7
フランクフルト 11/7-9

気づき

細かなことはいろいろあるし生活しているとまた違った感想になるのかもしれないけれど、初見で感じたことを残しておきます。

全般的なこと

英語の表示が驚くほど少ない

ドイツに着いてから知ったのですがドイツ語は公用語になっている国は少ないものの、母語とする話者はかなり多いらしく、それもあってか国内の看板、特に駅での表記には英語併記のものがかなり少なかったような印象を受けました。

f:id:ymotongpoo:20191117100152p:plain
フランクフルト中央駅にて
f:id:ymotongpoo:20191117100502p:plain
ベルリン東駅にて

シェア電動キックボードやシェアサイクルが多い

自分は電動キックボードは今年の7月にGopherCon 2019が行われた際にサンディエゴで初めて経験して、いまもKubeConでサンディエゴに来ているのですが、街中で見かけるのはLimeとBIRDとLyftのキックボードでした。

しかし、ドイツ(ベルリンとフランクフルト)では非常に多くのシェア電動キックボードのサービスが展開されていることを知りました。確認しただけでも5社が展開していました。

またシェアサイクルも多く、次の様なサービスが展開しています。

このブログなんかでも紹介されています。

johnnyafrica.com

電車の行き先の表記が省略形のものが多く行き先が分かりづらい

これはある種の初見殺しとも言えるもの。ベルリンやフランクフルトで感じたのは、とにかく駅名が長い!というのも、駅名にたいていその地域(BerlinやFrankfurtなど)の名前が最初についていて、その後に様々な名前が書かれているので長くなります。

f:id:ymotongpoo:20191119074815p:plain
フランクフルト空港最寄りの Frankfurt am Main Flughafen Fernbahnhof 駅

Googleマップなどで行き先を検索するとその途中の一語(たいてい地域名は省略される)が、しかもたまに省略形で書かれていたりするので、ぱっと見てどこに向かっているかわからなくて困りました。

電車やバスが割と時間に正確

これは電車の時間が割と正確な日本*1に住んでいると意識しないけれども、他国の鉄道が主な移動手段ではない都市では平気で予告もなく遅れるし、どれくらい遅れているかすらわからなかったりするので、そういう意味ではベルリンやフランクフルトは「あと何分で駅に来る」というのが常に電光掲示板に表示してあるので安心感があります。そのあたりは日本に近い感覚です。

f:id:ymotongpoo:20191121042924p:plain

ICEは早くて快適

ICE (Intercity Express) はドイツの新幹線です。自分は公共交通機関が好きなので、外国に行ったら危険がなければなるべく現地の公共交通機関に乗ってみるようにしています。ベルリンには日本からの直行便がないため、今回はフランクフルトの直行便に乗り、そこからICEでベルリンまで行きました。(帰りも同様)

f:id:ymotongpoo:20191121042403p:plain

写真を見てわかるように290km/hとなかなかの速度が出ていますが、車両がガタつくこともなく、車内では食事も頼むことができたりとかなり快適な旅でした。車両構成によっては椅子がリクライニングできないのでその部分はちょっと不満でしたが、それ以外は満足でした。(イタリア国内でItaloに乗ったときと同じような車両だったので、納入は同じ会社かもしれないですね)

リサイクルがすごい

ドイツはリサイクル大国として知られますが、ペットボトルや瓶の飲み物にはすべて容器の料金が乗っています。実際にスーパーに行ってリサイクル用の回収機に入れるとそのスーパーで使えるクーポンをもらえます。なのでちゃんとリサイクルすれば10%くらいは割引になります。


ドイツの空き容器回収機

ビールが安い

500mlのビールで€0.80(100円弱)くらいで、しかもリサイクルすると瓶は€0.10くらい戻ってくるので、実質90円くらいになります。やすいので飲み過ぎに注意。

f:id:ymotongpoo:20191121042832p:plain

自転車専用道路が整っている

これはアムステルダムでも感じたことだけれども、自転車専用道路が整備されているところが多く、また歩道でも自転車走行地帯と歩行者通行地帯が分けられている箇所も多かったです。自転車専用信号は日本にもありますが、その数は明らかに差がありました。

f:id:ymotongpoo:20191121043105p:plain

結構喫煙者が多い

北米は喫煙禁止のエリアが非常に多く、日本も最近では路上喫煙に関して非常に厳しい制限がかけられつつありますが、ロンドンでもそうだったように、ドイツでは割と駅前でタバコを吸っている人が多く見かけられました。駅構内ではだめだからと駅の入口のすぐとなりで吸っている人なども多く見かけました。

信号の変わり方が面白い

自分が訪れた国では緑→黃→赤→緑という風に変わるものばかりでしたが、ドイツでは緑→黃→赤→赤と黄→緑で循環しています。


ドイツの信号の切り替わり方 / How German traffic lights changes

クレジットカードの非接触支払いが結構あった

VISAのpayWave、MastercardのPayPassが結構多くの場所で使えることに驚きました。特に驚いたのは駅の切符の自動販売機が対応していて、暗証番号などを入れなくても切符を簡単に買えました。

f:id:ymotongpoo:20191121050015p:plain

ベルリン

カレーブルストはうまい

ベルリンではCurrywurstという庶民の味とも言えるソーセージにケチャップとカレー粉をかけたものをよく食べていました。小さな店の前で雑に立って飲み食いするスタイルで、こういう店は現金しか受け付けていなかったりします。そのあたりもローカルっぽさがあってよかったです。

f:id:ymotongpoo:20191121050747p:plain
軒先で立って飲み食いするスタイル

f:id:ymotongpoo:20191121050836p:plain
トマトケチャップは店によって味が違い、ソーセージを引き立てている

U-bahnは思ったより車両が狭い

市内を走る近距離線は地上を走るS-bahnと地下鉄のU-bahnがありますが、U-bahnは体が大きなドイツ人が乗るには小さいのでは?と思うくらいのサイズ感の車両でした。

f:id:ymotongpoo:20191121051200p:plain

歩行者信号はたまにアンペルマンじゃない

ベルリンの歩行者信号といえばアンペルマンが有名で、現地で初めて生のアンペルマンを見たときは「おお!」と謎の感動があったわけですが、歩いているとたまにアンペルマンではない普通の人形をした歩行者信号もあり、何が基準でそうなっているのか疑問でした。で、Wikipediaで調べたところそもそも旧東ドイツにしかなかったものが、ベルリンの壁解放後に徐々に拡大していったということで、はじめからこうではなかったということを初めて知りました。

f:id:ymotongpoo:20191121051412p:plain
普通の人形になっちゃってた信号機

f:id:ymotongpoo:20191121051622p:plain
アンペルマンの信号機

フランクフルトでの免税手続きに関して

ドイツの有名な工業製品といえばRIMOWAのスーツケースですが、今回の出張で前から買おうと思っていた機内持ち込み用のスーツケースを買いました。その際、当然免税手続きをするわけですが、自分はフランクフルト空港から日本に帰ったので、そこで免税手続きを行いました。

いくつかのウェブサイトで免税手続きの方法を調べて、自分が利用していたJALのウェブサイトでも確認しましたが、機内持ち込みのスーツケースの免税に関して状況が変わっていると思ったことを記録します。(JALのためターミナル2での話)

  • RIMOWAの機内持ち込みのスーツケースの免税に関しては、スーツケースを新品のまま持っていかなくても良い
    • RIMOWAのスーツケースには製造番号が記載してあるため、レシートを持っていれば購入品であると確認できるため、中身を普通に入れて空港に行っても大丈夫
  • 税関は出国審査の直後にあり、グローバルブルーの窓口と横並びになっている。クレジットカードへの返還にすれば数日で返ってくる

f:id:ymotongpoo:20191121052721p:plain
税関窓口とグローバルブルーの窓口が横並びにある

グローバルブルーの書類を郵送で送ってVATの返還をしてもらう話しか見なかったので、実際に窓口に行ったときはあまりの処理の速さに驚きました。RIMOWAでもらったレシートと免税書類を税関窓口に渡し、中身の入ったスーツケースを窓口に出して「これがそのスーツケースです」と伝えたら中身を確認することもなくスタンプをくれます。そのすぐ隣りにあるグローバルブルーの窓口にその書類をそのままそっくり渡したらすぐに受理され、VATを返還してもらうクレジットカード(自分の場合はデビットカード)を渡したら、スワイプしてくれてその場で完了です。帰国後数日でVATが返金されました。「数ヶ月も待つので返金されるのか心配になる」というような話ばかり見ていたので嬉しい誤算でした。

*1:都会の朝夕のラッシュの時間とかは例外として

海外で為替レートや手数料をお得に過ごしたい

はじめに

こんにちは、Stackdriver担当者です。よく本社であったり海外に出張に行くことが多いので、今回ドイツに出張行く前に一度自分の手持ちのクレジットカードやデビットカードでどれが一番海外でお得に利用できるか整理したくなった。

TL;DR

1枚で全部こなすなら、ソニー銀行に必要なだけ円を入れておいて外貨普通預金口座だけ開設しておけば主要10通貨でショッピングとATM両方でお得っぽい。(自分調査なので正確性は保証しません。)

ショッピング

JALカード

自分はJALカードを使っているのでJALカードの例を出すけれどもこのあたりは手持ちのクレジットカードのウェブサイトのFAQなどに必ず載っていると思う。自分の場合はDC発行のVISAなので、外国為替に関して VISAのレートとは別に 2.0% の手数料が乗っかってくる。

金額の計算はこちらの計算機で確認できる。

usa.visa.com

ただJALカードの場合通常で200円で1マイル、最大で100円で1マイルたまるので、USDの場合、1USDでだいたい1マイル貯まることを考えると、実質1.0-1.5%前後の手数料と言えなくもない。

ソニー銀行

moneykit.net

ソニー銀行の為替レートではUSDのスプレッド15銭で、しかもショッピングの場合は手数料が無料になっている。またクレジットカードの場合と同様に不正利用に関しても保証があるので、普通にクレジットカードを利用するのと同じ感覚で使える。また使ってトランザクションが発生してすぐにメールでどこでいくら使ったかが通知が来るので、不正利用自体にも気づきやすい。万が一それに気づかなかったとしても銀行の預金口座以上に使われることがないのは助かる。

しかも外貨預金普通口座の残高が足りない場合でも円普通口座から自動でその時のソニー銀行でのTTSで両替してそれ以外の手数料がかからないので、スプレッドの15銭だけしかからない。割合に換算すると手数料 0.1% ということになる。安い。 あと「優遇プログラム Club S」というのがあって、口座残高に応じてスプレッドが4銭にまで下がるらしいけど、そんなに入れてしまうと自分のデビットを使う目的の一つである「口座の額以上に使われることがないから安心」という保険的な利用方法に当てはまらなくなってしまうので、今回はその部分は検討しない。

JAL Global WALLET

為替レートが載っているが、2019年11月13日現在での為替レートで見ると片道1.3円取られている。

ご利用方法|両替|JAL Global WALLET

f:id:ymotongpoo:20191113095135p:plain
2019年11月13日現在の為替レート。この時のTTMは109.18円

為替レートで変動すると思うが、割合で換算すると 1.3% が手数料。

SBI銀行VISAデビット付きキャッシュカード

こちらはUSDで見ると為替レートではソニー銀行よりも安いスプレッド4銭。海外事務手数料は2.5%だけれども、30回までは「ポイント」でキャッシュバック。これをどう捉えるかで変わってきそう。自分は正直SBI銀行のポイント(スマプロポイント)で返ってきても嬉しくないので、その点は無視する。

キャッシング(海外ATM利用)

JALカード

自分のもってるJALカードの発行会社がDCカードなのでそれの引用だけれども、基本的にキャッシングは海外だろうが国内だろうが金利は変わらない。繰り上げ返済すれば金利は安くなるけれど、忘れてしまった場合の金利は高くなる。また為替レートはVISAのレート(上述)と同じなので、両替所よりは安いかもしれないがあまり割のいいものではない。明記されていないがATMの手数料も別途取られる。

ソニー銀行

ショッピングの場合と同様、外貨口座を開設しておけばUSDのスプレッド15銭だけで、手数料が現地のATM手数料+1.79%の事務手数料となる。たとえば2019年11月13日現在、100USDを下ろす場合、1.79USDが事務手数料なので、日本円だと200円弱取られることになる。

JAL Global WALLET

ATM手数料に関しては200円相当額と固定なのは素晴らしい。しかし、レートがいまいちなので、下ろす金額にもよるけれど、そこまでソニー銀行と変わらない気がする。

SBI銀行VISAデビット付きキャッシュカード

海外ショッピングの場合と同様。手数料2.5%がスマプロポイントで返ってくるけれど、自分は特にほしくないので無視。ATM利用料は別途徴収される。(ソニー銀行と同じ)

参照

GitHubのPull Requestからpatchを取得して試す

はじめに

こんにちは、OpenTelemetry推進委員会です。OpenTelemetryのワークショップをしにベルリンに来ているんですが、そこで事前準備をしていたところ、ワークショップのコードがupstreamの直近の変更で動かなくなり、あわててcohostがPull Requestを投げました。これを承認前に自分で手元で試すためにPull Requestだけのパッチが必要になったけれども、そういえばやったことがないなと思って調べたところ、非常に簡単だったのでメモしておきます。

パッチファイルを持ってくる場合

$ cd /path/to/repo
$ wget https://github.com/username/reponame/pull/:pull_number.patch
$ git am -3 number.path

もしくは hub コマンドを使って

$ cd /path/to/repo
$ hub am -3 https://https://github.com/username/reponame/pull/:pull_number.patch

.patch のURLについて

「ドキュメントに書いていない裏技!」みたいな感じで書いてあるブログ記事がたくさん、あって「本当にそうなのか?」って思って調べてみたところ、たしかに丁寧には書いてなかったが一応公式ドキュメントのAPIレスポンスの中にそのURLが含まれていることは確認した。

developer.github.com

同じようにしてdiff形式のファイルも取得できる。

git am の -3 オプション

git am で 3way merge をする際のオプション。そこまでややこしいパッチを試したことがなかったので使ってなかったけど、とりあえずここではメモのためにつけておく。

ブランチを取ってくる場合

てっきり次のようにしてフォークされたブランチを取ってくるのかと思っていました。

$ git fetch git@github.com:username/forked-repo branchname

しかしGitHubはremote refのエイリアスを用意してくれていたんですね。

help.github.com

$ git fetch upstream pull/ID/head:branchname

ヘルプを見るとレポジトリの書き込み権限がないとできなさそうな雰囲気で書いてるけれど、普通に全然関係ない人でも取れました。

両方あるけどどっちがいいの

git fetch 一回で取ってこれるのでブランチを取ってくるほうが楽そうですね。

じゃあpatchやdiffの方はいらないかというと、patchとかdiffの場合はprivate repoでも一時的にURLを生成して外から取ってこれるので、クリーンな環境でパッチを当てなければいけないときに便利です。

Jaeger のall-in-oneコンテナを最速で公開する

はじめに

分散トレースのバックエンドのOSSとしては Zipkin とならんで Jaeger が有名です。Jaegerは複数のコンポーネントから成立していますが、それらをきちんとプロダクション環境用にセットアップしようとするとストレージをきちんと用意したり Docker Compose などを使う必要があります。しかし、自分の用途だとデモ用などに使う all-in-one のコンテナ( jaegertracing/all-in-one )をさっと上げて公開したいことがあり、どうするのが一番手数が少ないか考えた結果次のようになりました。

やってみた

$ gcloud compute firewall-rules create jaeger-rules \
    --allow udp:5775,udp:6831,udp:6832,tcp:5778,tcp:16686,tcp:14268,tcp:9411 \
    --direction ingress \
    --priority 1000 \
    --target-tags jaeger

Creating firewall...⠏Created [https://www.googleapis.com/compute/v1/projects/playground-219502/global/firewalls/jaeger-rules].
Creating firewall...done.
NAME          NETWORK  DIRECTION  PRIORITY  ALLOW                                                             DENY  DISABLED
jaeger-rules  default  INGRESS    1000      udp:5775,udp:6831,udp:6832,tcp:5778,tcp:16686,tcp:14268,tcp:9411        False


$ gcloud compute instances create-with-container jaeger-vm \
    --preemptible \
    --container-image jaegertracing/all-in-one:1.14 \
    --boot-disk-size 30GB \
    --tags jaeger

WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
Created [https://www.googleapis.com/compute/v1/projects/playground-219502/zones/asia-southeast1-b/instances/jaeger-vm].
WARNING: Some requests generated warnings:
 - Disk size: '30 GB' is larger than image size: '10 GB'. You might need to resize the root repartition manually if the operating system does not support automatic resizing. See https://cloud.google.com/compute/docs/disks/add-persistent-disk#resize_pd for details.

NAME       ZONE               MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
jaeger-vm  asia-southeast1-b  n1-standard-1  true         10.148.0.3   XX.XXX.XXX.XXX  RUNNING

立ち上がったので適当に curl でJaeger UIの疎通確認をしてみます。

$ curl -I http://XX.XXX.XXX.XXX:16686/
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Tue, 08 Oct 2019 05:56:03 GMT

できた。だいたい1分かからないくらいで公開できました。

決してプロダクション環境用ではないので使ったらすぐに落とすこと。