京橋のバイオインフォマティシャンの日常

データ分析、コマンドライン、プログラミングについての技術資料・自己アップデート・悩み事などをまとめています。最近、ディープラーニング関連のR言語の資料をまとめるべく注力してます。

Mac/Homebrewで、AWS CLIをインストールする

Amazon Web Services(AWS)とは、 Amazon.comにより提供されているクラウドコンピューティングサービスである。

今回、AWSサービスを管理するための統合ツールである、 AWS CLIのインストールとかセットアップについてまとめてみた。

まずは、ターミナルを起動して、 Homebrewをアップデートして、awscliをインストールする

AWS CLIのインストール

#Homebrewのアップデート
brew update

#awsを検索する
brew search aws

#AWS CLIのインストール
brew install awscli

#パス確認
which aws
#/usr/local/bin/aws

#バージョン確認
aws --version
#aws-cli/2.2.43 Python/3.9.7 Darwin/19.6.0 source/x86_64 prompt/off

AWS CLIの各種設定

次に、各種設定について示す。 ここでは、Bioconductorへの登録時に行った実行コマンドを例に示す。

#アクセスキーの設定
aws configure --profile AnnotationContributor

ここで、BioCから教えてもらった、Access KeyとSecret Keyをコピペする。

Default region nameは、「ap-northeast-1」と入力

Default output format は、「text」と入力

ちゃんと、設定されてるかの確認をする。

#config
cat ~/.aws/config

#credentials
cat ~/.aws/credentials

AWSサーバーにアクセスして、ファイルをアップロードする。

ここでは、BioImageDbsパッケージのデータをAWSにアップロードした事例を紹介する。

まず、AWSにアクセスして、フォルダやファイルを確認する。

#ディレクトリ確認
aws --profile AnnotationContributor s3 ls s3://annotation-contributor/ --recursive

#BioImageDbsフォルダを確認する
aws --profile AnnotationContributor s3 ls s3://annotation-contributor/BioImageDbs --recursive
#はじめは、何もアップされいない。

ファイルをサーバーにコピーする。その場合には、cpコマンドを使う。

ローカルのv01フォルダをBioImageDbs/v01にコピーしたときの実行したコマンドを示す。

#ファイル・コピー
aws --profile AnnotationContributor s3 cp v01 s3://annotation-contributor/BioImageDbs/v01 --recursive --acl public-read

#アップロードされたか確認
aws --profile AnnotationContributor s3 ls s3://annotation-contributor/BioImageDbs --recursive

補足

CentOSでの AWS cli のインストール

AWS cliのインストールコマンドは、MacとCentOSとではやや違う。

CentOSの場合は、以下の通りである。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

#パス確認
which aws

以下のRequestTimeTooSkewedエラーが出たら、PCの時計がズレているかも。。。

An error occurred (RequestTimeTooSkewed) when calling the ListObjectsV2 operation: The difference between the request time and the current time is too large. というエラーが出た時は、結構面倒だけど、以下の方法で、時計を合わせる必要がある。。

date

#ntp無効
sudo timedatectl set-ntp no
timedatectl status

#いまの時間をセットする
sudo timedatectl set-time "2021-04-19 14:45:00"
#コントロール + c で終了

#ntp有効
sudo timedatectl set-ntp yes
timedatectl status

参考資料

docs.aws.amazon.com

qiita.com

qiita.com

関連図書