はじめに
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