Help us understand the problem. What is going on with this article?

AWS EC2になぜかS3のマウントができない(/xxx/xxx にアクセスできません)

はじめに

  • これは自分が実務で大いにハマった事象です。。。
  • AWSを商用利用したのは初めてということもあり、初歩的なミスかもしれませんが、もしかしたら他にも苦しんでいる方がいるかもしれないので、ノウハウをシェアします。

事象

  • 東京リージョンに作成したEC2を作成。
  • データ領域として、S3をマウントしようと試みた。
  • s3fsコマンドを導入し、マウントを行ったところ、一見うまく実行できたように見える。
    • echo $?による戻り値は0
  • ところがlsコマンドdfコマンドで状況を確認しようとすると、以下のエラーが出力される。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ls -al /xxx/xxx
ls: reading directory /xxx/xxx: 入力/出力エラーです
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ df -k
df: /xxx/xxx にアクセスできません: Transport endpoint is not connected
・・・中略・・・
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo tail -3 /var/log/messages
Jan 15 17:54:02 ip-xxx-xxx-xxx-xxx dhclient[1355]: bound to xxx-xxx-xxx-xxx -- renewal in 1693 seconds.
Jan 15 17:59:31 ip-xxx-xxx-xxx-xxx s3fs: init $Rev: 367 $
Jan 15 17:59:35 ip-xxx-xxx-xxx-xxx s3fs: init $Rev: 367 $
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$
  • df: /xxx/xxx にアクセスできません: Transport endpoint is not connectedというメッセージでWeb検索しても、EC2にS3の許可をしているか?やバケット名は合っているか?という対処法が出てくる。
  • 上記を再作成したり、何度も確認を行ったが、設定には問題がなさそう。

原因

  • EC2の時間が所属するリージョンの時間と異なった、もしくは大幅に時間がずれていたことで本事象が発生。
    • s3fsのデバッグ出力をする中でようやく発見しました

対処方法

  • EC2のタイムゾーンをJapanにすることで解決。
[root@ip-xxx-xxx-xxx-xxx ~]# cat /etc/sysconfig/clock
ZONE="UTC"
UTC=true
[root@ip-xxx-xxx-xxx-xxx ~]# view /etc/sysconfig/clock
[root@ip-xxx-xxx-xxx-xxx ~]# cat /etc/sysconfig/clock
ZONE="Japan"
UTC=true
[root@ip-xxx-xxx-xxx-xxx ~]# ln -sf /usr/share/zoneinfo/Japan /etc/localtime
[root@ip-xxx-xxx-xxx-xxx ~]# reboot
  • reboot終了後、s3fsコマンドでマウントを改めて実行したところ、問題なくS3がマウントされることを確認。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away