【メモ】サーバー間ファイル連携について
広尾にあるベンチャーで働いている♂です。
仕事でファイル連携の打ち合わせがあるので、事前に調べて何を確認する必要があるのかメモ。
(最初の名刺交換のメモだけ忘れないようにしなければ。。)
そもそも、打ち合わせの目的は。。
顔合わせと両社ともに確認したいことがあると思うので、軽く確認させてもらいたい。
ファイル連携をするので、どういったファイルを連携したいのか確認。
(うちから、4ファイル連携するという予定になっている。会員テーブル、点数テーブル、購買テーブル、付替テーブル。)
連携のタイミングとか、中間サーバーに置くタイプを想像しているが、それでいいのかとか。
4種類、違うテーブルだから連携の頻度とか、考える必要があるな。
どのくらいでリカバリーするかとか。
ポイントとかもどんなデータがあるかによって変わってくるな。
そもそも、取り消しとかもあるしな。。
これどんな使い方するかにも関わってくるな。
おそらく次回の打ち合わせで出てくる人は、向こうのユーザ部門(おそらくマーケティング部の人。あと、分析のシステムの人。恐らく顔合わせ的な感じになると思われる。)
まずはどんなデータなのかを把握しないことには始まらないな。。
あとは標準でうちがどんなファイル連携をしているかだな。
どちらかが取りに行くのか、とか。
直接うちのサーバーに取りに来るのかとか。
うちの標準を知る前に世間一般のファイル連携を調べてみるか。
確かうちはサーバーはAmazonのS3を使っているんだったな。
あっ、思い出した。
ファイル連携の方式も、差分だけ取り込むのか、一回丸ごと変えるのかとかもあるな。
あと、連携するファイルを日付で更新してバックアップを置いておくのか、とか、ファイル消してしまうとかもあるな。
あと、レコードに不正があったときにロールバックにするのか、レコードスキップにするのかとか。
連携する時間帯も気をつけないとラグがあったりするからな。
バックアップのルールも考えておいた方がいいな。
バケットって何?
リージョンとかいう単語も出て来たな。
言葉の意味としては地域とか範囲とかの意味らしい。
リージョンコードとか(地域番号)
AWS のリージョンとエンドポイント
アプリケーションのデータレイテンシーを減らすため、ほとんどの Amazon Web Services は、リクエストを行うためのリージョンのエンドポイントを提供しています。 エンドポイントは、ウェブサービスのエントリポイントとなる URL です。たとえば、https://dynamodb.us-west-2.amazonaws.com
は、Amazon DynamoDB サービスのエントリポイントです。
うちはS3にファイルをアップロード&S3からダウンロードするためのクライアントツールを持っているらしい。
セキュリティでIP制限を設けているから、クライアントツールを利用する機器のIPを把握しておく必要はありそうだな。
Todo
【説明事項】
・うちから出すファイル
(4ファイル連携すると伺っております。こちらは別途資料を出します。)
・連携方式
(中間サーバー※S3のバケットにあげているファイルを、うちのクライアントツールを利用して落としてもらいたい。)
正常終了したアップロード後はファイルは削除される。
※バックアップフォルダのファイルは削除しない限り残る
☝️書いて思ったけど、今回はお客様がダウンロードするだけだから、あんまり関係ない。
リモート側が行うって何やねん??
てか、誤字多過ぎ。なめてんかい!!
事前に中身を見ておくべきだった。
ファイル名の命名規約とかどうなっているんだろう?
リモート側はおそらく、うち側ってことだろうな。
エラーコード一覧表とか欲しいな。
【確認事項】
<お客様向け>
・クライアントツールを利用する機器のIP
(AWSに登録する必要があるため)
・リトライ回数
・リトライの間隔
<内部向け>
・顧客コードの払い出し
・Access Key Id(半角英数20桁)
・Secret Access Key (文字列40桁)
イメージが欲しいな。
アップロード時はバックアップはローカル。
ダウンロード時はバックアップはリモート側(S3側)なんやな。(1週間だけ残る)
そらそうか。クライアントの手元でコントロールできるものは。。
インターフェイス仕様書とエラーコード一覧が欲しいな。
過去に連携している案件が4つあるらしいから、そこを要、確認やな。
では。