パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

EC2とEBS、請求単位が「秒」になる」記事へのコメント

  • うるう秒の時 (スコア:2, すばらしい洞察)

    by Anonymous Coward

    やはり1秒多く課金されるのでせうか?

    • by ikotom (20155) on 2017年09月22日 8時42分 (#3283785)

      > うるう秒のとき1秒多く課金されるのか

      これ中々おもしろい考察ですよ。
      というのも「コンピューターにとってうるう秒とは何か」を
      突き詰めるとややこしい話になってきます。

      そもそも(例えばUnixでは)OSにとって「時間」とは
      つきつめるとハードウェア的なカウンタにすぎないわけです。
      カウンタが "1506009661" と毎秒積み上げてるだけなのを人間が
      これは 2017/9/22 01:01:01 だな、と変換して解釈しているのですから。

      ところがここにNTPが絡み出すと、現実の時間との同期が意識されます。
      ただのカウンタだったのが、現実に併せて進みを早くしたり遅くしたりして
      カウンタの値を調整するのですね。
      このあたりから UTC、UT0、UT1 の知識が必要になってきます。

      そして一般的にNTPでは、うるう秒は「長ーい1秒」として扱われます。
      あえて簡単に言うと、23:59:50 あたりから 現実の1秒を PC内では 1.1秒にして
      意図的にPC内の時間の流れを遅くすることでゆるやかに補正する感じです。

      まあつまり結論を言うと、NTPがうるう秒なんて無かったことにしてくれるから
      AWSにおいてうるう秒はカウントされない(はず)、です。
      もちろんAWSの課金システムが本当にNTPを使ってるかは中の人しか知らないので
      ただの外野の推測にすぎませんが、一般的なシステム運用ならそうなるはずです。

      興味ある人はぜひUTCとか「何となく知ってる」じゃなくじっくり調べてみて下さい。
      宇宙の(地球と太陽の)動きとかも絡んでくるかなり複雑な話になってくるので
      なかなかに知的好奇心が満たされますよ。

      親コメント
      • by monoblock (34215) on 2017年09月22日 13時47分 (#3283981) ホームページ 日記

        そういう動作をする場合もあるようですが、ntpdにはleap indicatorの実装があるため、通常は上位ntpサーバから流されるleap bitを受け取り、これを解釈して明示的にうるう秒を挿入します。
        つまり長い1秒ではなく、追加の1秒を挿入します。

        Linuxの場合、さらにtzdataパッケージにうるう秒挿入予定が記載されていれば、local timeとしてxx:xx:60が表現されます。記載が無い場合はxx:xx:59が2回繰り返されます。

        2012年のうるう秒挿入ではバグによるkernel panicが多発したため、leap bitを受け入れない設定で動作しているホストも多いと思いますが、その場合はうるう秒が発生した後で徐々に上位サーバとの同期を取り直す動作になります。
        収束までの時間は構成によりますが概ね30分〜1時間程度掛かります。

        事前に1秒の長さを伸ばして帳尻を合わせるのは電話時報などです。NTTの場合は100秒前から1秒表記の間隔を1010msに延長します。

        親コメント
        • by ikotom (20155) on 2017年09月22日 21時12分 (#3284246)

          補足ありがとうございます。
          私などよりはるかに素晴らしい専門知識をお持ちで参考になります。

          leap indicator の話まで行くと私の知見レベルではただの下手な説明になるので
          省略しましたが、代わりに簡潔かつ正確に説明頂いて感謝です。

          私の認識では、世の運用中サーバは殆どが、うるう秒をまともに扱うような
          まっとうであれど危険であることはせず、SLEWモードで無視するだろうと
          勝手に思っていたのですが、ちょっと不安になって改めて調べてみたところ、
          どうやらAWSは SLEW と STEP とシステムによってバラバラのようです。

          AWS でのうるう秒対応 - Qiita
          http://qiita.com/yyoshiki41/items/d63dbbb5d4bc8e38719a [qiita.com]

          ConsoleはSLEWらしいので元コメの課金の話は「うるう秒でも1秒多く課金はされない」が
          正解のようですが・・・こんなバラバラとは思ってませんでした。
          恥ずかしながら長文だらだら書く前に検索しろって話でしたね。失礼しました。

          親コメント
      • Re:うるう秒の時 (スコア:1, おもしろおかしい)

        by Anonymous Coward on 2017年09月22日 11時14分 (#3283875)

        スラドにこんなに詳しく技術的なコメントのできる方がいるなんて!
        geek向けサイトみたいですね。

        親コメント
      • by minet (45149) on 2017年09月22日 13時29分 (#3283971) 日記

        こういう稼働時間の算出って、カレンダーを使うんじゃなくて、タイマー割り込みによって増加し続けるカウンタ(を参照できるAPIなど)をもとにするんじゃないの?

        親コメント
      • 根本的に間違えてませんか?

        たとえば10秒掛かる処理があったとします
        ではこの処理は,うるう秒をまたぐと何秒で終わるでしょうか?

        10秒です.処理時間が変わるわけがありません

        たとえば23時59分55秒に処理を開始したとします
        うるう秒がなければ 00時00分05秒に処理は終わります.引き算すると10秒です

        うるう秒が挿入されて,23時59分59秒の次が23時59分60秒
        その次が00時00分00秒となったとします
        この場合は 00時00分04秒に処理は終わります.この場合も引き算すると10秒です

        親コメント
        • by Anonymous Coward

          それはEC2を10秒だけ動かして処理してすぐ止めたときの話だね
          でも巷のサーバは24時間ずっと動かしっぱなしで止めたりしないのがほとんどなのよ
          そーゆー場合の課金額のことをみんな話してるのよん

      • by Anonymous Coward

        UNIXの時間をUTCで運用すればそういう動作をする場合もあるだろうけど、
        TAIで運用すればNTPで同期したまま23:59:60がカウントされるわけで、
        「NTPを使っていたらカウントされない」とは言えないんじゃないですかね。

        • by ikotom (20155) on 2017年09月22日 20時43分 (#3284221)

          仰るとおりです。
          UTC, TAI, あるいは UT1 いずれで運用するかでそのあたりは変わってきます。

          その辺まで書こうと思ったらかなり長文になっちゃうので
          私のコメントは「一般的な」という但し書きつきでの、専門特殊でない運用の話に
          限らせて頂いてました。

          なので補足&鋭いツッコミ感謝です。

          親コメント
          • by Anonymous Coward

            UT1で運用することなどありえないと思いますがw

            • by Anonymous Coward

              別ACですが、ありえますよ。
              航空系とか天文宇宙系とか、ようは現実世界とシステムとの間において
              1秒以下の誤差が致命的になるような分野ですね。
              そっち系は全部が全部UT1ってことも勿論ないですが、全然珍しくない程度にはあります。

              • by Anonymous Coward

                UT1を使うっていうのとUT1でシステムを運用するっていうのは違うからね

              • by Anonymous Coward

                ん?それ拘るところ?
                運用≒使う、でしょ、日本語的に。
                そういう用語の話は置いとこうぜ。

                なんか反論あるなら、ちゃんと実例を出そうな。
                具体的な案件の話をしないなら、それはどうでもいい用語論争で荒らしてるだけだよ。

      • by Anonymous Coward

        いつ起動していつ止めたかの引き算するだけだと思うんだけれども。

        その引き算においてうるう秒を意識するかどうかだけだろうけど、
        意識しないだろうなぁ。

        • by Anonymous Coward
          だからのその引き算のとき
          ・23:59:60に相当する1秒が存在する
          ・その前の一定期間で1秒が引き伸ばされていて23:59:60に相当するカウントは存在しない
          で課金額変わってくるんじゃないの
          って話してんだけど

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

処理中...