Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:navody:object_storage:cesnet_s3:start [27.05.2020 15:19] Lukáš Strnad [Linux klient AWS CLI] |
cs:navody:object_storage:cesnet_s3:start [30.11.2020 16:52] Lukáš Strnad [Linux klient s3cmd] |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ===== Připojení a konfigurace CESNET s3 ===== | + | ====== Připojení a konfigurace CESNET s3 ====== |
- | + | {{anchor:aws_cli}} | |
- | ==== Linux klient AWS CLI ==== | + | ===== Linux klient AWS CLI ===== |
Klient AWS CLI je standardní nástroj podporující práci přes s3 rozhraní. Klient je napsaný v pythonu, je tedy nezbytné mít nainstalovaný **python alespoň ve verzi 3.3+**. Dle oficiální dokumentace je sice podporován i python 2.6.5+, nicméně můžete narazit na problémy s kompatibilitou s ohledem na námi provozovanou verzi Cephu. | Klient AWS CLI je standardní nástroj podporující práci přes s3 rozhraní. Klient je napsaný v pythonu, je tedy nezbytné mít nainstalovaný **python alespoň ve verzi 3.3+**. Dle oficiální dokumentace je sice podporován i python 2.6.5+, nicméně můžete narazit na problémy s kompatibilitou s ohledem na námi provozovanou verzi Cephu. | ||
Řádek 8: | Řádek 8: | ||
<note important>Pokud provozujete CENTOS 7, pravděpodobně budete řešit problém s verzí pythonu, která je ve výchozím stavu 2.7.5. V takovém případě doporučujeme buď upgrade na CENTOS 8, kde je již implementovan python 3+, případně použít SCL (Software Collection environment).</note> | <note important>Pokud provozujete CENTOS 7, pravděpodobně budete řešit problém s verzí pythonu, která je ve výchozím stavu 2.7.5. V takovém případě doporučujeme buď upgrade na CENTOS 8, kde je již implementovan python 3+, případně použít SCL (Software Collection environment).</note> | ||
- | ===Instalace AWS CLI a jeho konfigurace=== | + | ====Instalace AWS CLI a jeho konfigurace==== |
Nejprve nainstalujeme AWS CLI klienta pomoci pip, kde **<nowiki>--upgrade</nowiki>** provede upgrade všech již nainstalovaných součástí; **<nowiki>--user</nowiki>** použije podadresář aktuálního uživatele, pod kterým spouštíte pip, aby nedošlo k modifikaci systémových knihoven. | Nejprve nainstalujeme AWS CLI klienta pomoci pip, kde **<nowiki>--upgrade</nowiki>** provede upgrade všech již nainstalovaných součástí; **<nowiki>--user</nowiki>** použije podadresář aktuálního uživatele, pod kterým spouštíte pip, aby nedošlo k modifikaci systémových knihoven. | ||
Řádek 34: | Řádek 34: | ||
//AWS Access Key ID// - access key, který jste si vygenerovali \\ | //AWS Access Key ID// - access key, který jste si vygenerovali \\ | ||
//Secret Access Key// - secret key, který jste si vygenerovali \\ | //Secret Access Key// - secret key, který jste si vygenerovali \\ | ||
- | //Default region name// - prefix pro servery, na které budete zasílat vaše požadavky, **Zde ponecháme nevyplněné!** \\ | + | //Default region name// - prefix pro servery, na které budete zasílat vaše požadavky, **Zde ponecháme nevyplněné!** V případě požadavku některých SW, kupř. Veeam, zde vyplňte jako region **storage** \\ |
//Default output format// - výstupní formát dat (json, text, table) \\ | //Default output format// - výstupní formát dat (json, text, table) \\ | ||
<note important>Pro správnou funkčnost je nezbytné překonfigurovat **endpoint-url** na servery CESNETu. K tomu budeme potřebovat nainstalovat nástroj [[https://github.com/wbingli/awscli-plugin-endpoint|awscli-plugin-endpoint]], viz návod níže.</note> | <note important>Pro správnou funkčnost je nezbytné překonfigurovat **endpoint-url** na servery CESNETu. K tomu budeme potřebovat nainstalovat nástroj [[https://github.com/wbingli/awscli-plugin-endpoint|awscli-plugin-endpoint]], viz návod níže.</note> | ||
- | == Instalace awscli-plugin-endpointu == | + | ==== Instalace awscli-plugin-endpointu ==== |
Nejdříve provedeme instalaci pomocí pip. | Nejdříve provedeme instalaci pomocí pip. | ||
<code>pip3.6 install awscli-plugin-endpoint --user</code> | <code>pip3.6 install awscli-plugin-endpoint --user</code> | ||
Řádek 49: | Řádek 49: | ||
<code>aws configure set plugins.endpoint awscli_plugin_endpoint</code> | <code>aws configure set plugins.endpoint awscli_plugin_endpoint</code> | ||
- | Následně pomocí pluginu přidáme adresu CESNET s3 endpointu. | + | Následně pomocí pluginu přidáme adresu CESNET s3 endpointu pro plzeňské úložistě s kódovým označením CL2: |
- | <code>aws configure --profile pepa_servis set s3.endpoint_url https://s3.cl1.du.cesnet.cz</code> | + | <code>aws configure --profile pepa_servis set s3.endpoint_url https://s3.cl2.du.cesnet.cz</code> |
Výše uvedené příkazy by měly provést změny ve vašem configu, viz níže. | Výše uvedené příkazy by měly provést změny ve vašem configu, viz níže. | ||
Řádek 59: | Řádek 59: | ||
output = text | output = text | ||
s3 = | s3 = | ||
- | endpoint_url = https://s3.cl1.du.cesnet.cz | + | endpoint_url = https://s3.cl2.du.cesnet.cz |
[plugins] | [plugins] | ||
endpoint = awscli_plugin_endpoint | endpoint = awscli_plugin_endpoint | ||
Řádek 72: | Řádek 72: | ||
</code> | </code> | ||
- | ==Ovládání AWS CLI - high-level (s3)== | + | ====Ovládání AWS CLI - high-level (s3)==== |
**Pro zobrazení plné nápovědy (dostupných příkazů) můžeme využít help** | **Pro zobrazení plné nápovědy (dostupných příkazů) můžeme využít help** | ||
Řádek 132: | Řádek 132: | ||
- | ==Ovládání AWS CLI - api-level (s3api)== | + | ====Ovládání AWS CLI - api-level (s3api)==== |
<code>$ aws s3api help</code> | <code>$ aws s3api help</code> | ||
Řádek 143: | Řádek 143: | ||
<note> V případě rozhodnutí se používání S3 verzování objektů je [[:cs:navody:object_storage:cesnet_s3_versioning|návod zde]].</note> | <note> V případě rozhodnutí se používání S3 verzování objektů je [[:cs:navody:object_storage:cesnet_s3_versioning|návod zde]].</note> | ||
- | ==== Linux klient s3cmd ==== | + | ===== Linux klient s3cmd ===== |
[[https://s3tools.org/download|S3cmd]] je bezplatný nástroj příkazového řádku a klient pro nahrávání, načítání a správu dat v s3 cloudových úložišťích. S3cmd je psán v Pythonu. Je to open source projekt dostupný pod GNU Public License v2 (GPLv2) a je zdarma pro komerční i soukromé použití. | [[https://s3tools.org/download|S3cmd]] je bezplatný nástroj příkazového řádku a klient pro nahrávání, načítání a správu dat v s3 cloudových úložišťích. S3cmd je psán v Pythonu. Je to open source projekt dostupný pod GNU Public License v2 (GPLv2) a je zdarma pro komerční i soukromé použití. | ||
- | === Instalace s3cmd === | + | <note important>Jako preferovaný nástroj doporučujeme spíše [[cs:navody:object_storage:cesnet_s3:start#aws_cli|AWS CLI]]. \\ |
+ | U s3cmd jsme v některých případech zaznamenali problémy. Kupříkladu jména backetů nesmí začínat číslem a velká písmena. | ||
+ | </note> | ||
+ | |||
+ | ===== Instalace s3cmd ===== | ||
s3cmd je k dispozici ve výchozích repozitářích rpm pro systémy CentOS, RHEL a Ubuntu. Nainstalujte jej pomocí jednoduchého spuštění následujících příkazů ve vašem systému. | s3cmd je k dispozici ve výchozích repozitářích rpm pro systémy CentOS, RHEL a Ubuntu. Nainstalujte jej pomocí jednoduchého spuštění následujících příkazů ve vašem systému. | ||
Řádek 161: | Řádek 165: | ||
- | === Konfigurace s3cmd === | + | ==== Konfigurace s3cmd ==== |
Pro konfiguraci s3cmd potřebujete **Access Key** a **Secret Key**, který jste si vygenerovali. Po získání klíčů je vložte do konfiguračního souboru **/home/user/.s3cfg**. | Pro konfiguraci s3cmd potřebujete **Access Key** a **Secret Key**, který jste si vygenerovali. Po získání klíčů je vložte do konfiguračního souboru **/home/user/.s3cfg**. | ||
[default] | [default] | ||
- | host_base = https://s3.cl1.du.cesnet.cz | + | host_base = https://s3.cl2.du.cesnet.cz |
use_https = True | use_https = True | ||
- | bucket_location = cze | ||
access_key = xxxxxxxxxxxxxxxxxxxxxx | access_key = xxxxxxxxxxxxxxxxxxxxxx | ||
secret_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | secret_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
+ | host_bucket = s3.cl2.du.cesnet.cz | ||
gpg_command = /usr/bin/gpg | gpg_command = /usr/bin/gpg | ||
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s | gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s | ||
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s | gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s | ||
gpg_passphrase = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | gpg_passphrase = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
- | |||
- | **Alternativně lze konfigurační soubor získat použitím interaktivního průvodce:** | ||
- | |||
- | |||
- | |||
- | <hidden **s3cmd --configure**> | ||
- | | ||
- | \\ | ||
- | | ||
- | $ s3cmd --configure | ||
- | |||
- | Enter new values or accept defaults in brackets with Enter. | ||
- | Refer to user manual for detailed description of all options. | ||
- | |||
- | Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables. | ||
- | Access Key: xxxxxxxxxxxxxxxxxxxxxx | ||
- | Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
- | Default Region [US]: cze | ||
- | S3 Endpoint [s3.amazonaws.com]: s3.cl1.du.cesnet.cz | ||
- | DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: | ||
- | Encryption password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
- | Path to GPG program [/usr/bin/gpg]: | ||
- | Use HTTPS protocol [Yes]: | ||
- | Test access with supplied credentials? [Y/n] y | ||
- | Save settings? [y/N] y | ||
- | Configuration saved to '~/.s3cfg' | ||
- | |||
- | </hidden> | ||
- | |||
- | |||
- | \\ | ||
- | === Použití s3cmd příkazů === | + | ==== Použití s3cmd příkazů ==== |
s3 příkazy podporují běžné operace s buckety, například vytváření, listování a mazání. | s3 příkazy podporují běžné operace s buckety, například vytváření, listování a mazání. |