Power Systems Virtual Server on IBM Cloud (AIX) から IBM Cloud Object Storage (ICOS) にアクセスする


# AIX から ICOS Endpoint への接続経路
以下の 2 つがあります。

>[Endpoints and storage locations](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints)

## ICOS Public Endpoint にアクセスする経路

この場合、 AIX の DNS として IBM の `9.9.9.9` や Cloudflare の `1.1.1.1` 等を使ってエンドポイントの名前解決をするとよいでしょう。

>[ネーム・サーバーを使用するためのホストの構成](https://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/network/host_nameserv_config.html)

また、インターネットに対するアウトバウンド課金が多少なりとも発生する点に注意してください。

- Power Systems Virtual Server on IBM Cloud のアウトバウンド課金

>[How is network bandwidth billed?](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-firewall#billing)
IBM Cloud Power environment: Inbound bandwidth is unlimited and not charged. **Outbound bandwidth is charged per gigabyte (GB) when using a public network.**

- IBM Cloud Object Storage (ICOS) のアウトバウンド課金

>[Billing](https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-billing)
Storage costs for IBM® Cloud Object Storage are determined by total volume of data that is stored, **the amount of public outbound bandwidth used**, and the total number of operational requests processed by the system.

![power_icos_network_public.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/3ea54fca-b829-06c8-ad02-839905e0e143.jpeg "power_icos_network_public.jpg")


## ICOS Private Endpoint にアクセスする経路

この場合、 AIX の DNS として x86 サーバーを指定した上で、 x86 サーバーで DNS フォワーディング先として `10.0.80.11`, `10.0.80.12` (または `161.26.0.10`, `161.26.0.11`) を設定するとよいでしょう。

>[DNS FAQ](https://cloud.ibm.com/docs/dns?topic=dns-dns-faq)

また、お客様アカウント内の x86 と Power Systems 環境をつなぐ Direct Link Connect に加えて、Proxy もしくは NAT が必要となる点に注意してください。

![power_icos_network_private.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/ae8238fa-f0ff-a92c-ddc3-95c7fd028a62.jpeg "power_icos_network_private.jpg")

>[Using Cloud Object Storage (COS) over IBM Cloud Direct Link](https://cloud.ibm.com/docs/infrastructure/direct-link?topic=direct-link-using-ibm-cloud-direct-link-to-connect-to-ibm-cloud-object-storage#using-cloud-object-storage-over-ibm-cloud-direct-link)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/a926fde8-0a30-fe65-3828-61d068c5f0c1.png)

# AIX から ICOS へのアクセスツール
```
# uname -a
AIX khayama-aix 2 7 00C23E004B00
```

## curl を使う
デフォルトで `curl` が入っています。

```
# which curl
/usr/bin/curl
```

>[Using cURL](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-curl)

## Python ライブラリを使う
デフォルトで `python` が入っています。

```
# python -V
Python 2.7.15
```

>[Using Python](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-python)

## aws-cli
`aws-cli` が使えます。

```
# cd /tmp
# curl -k -O https://bootstrap.pypa.io/get-pip.py
# chmod +x get-pip.py
# python get-pip.py
# export PATH=/opt/freeware/bin:$PATH
# chfs -a size=+1G /opt
# pip install awscli
# aws --version
aws-cli/1.17.9 Python/2.7.15 AIX/2 botocore/1.14.9
# aws help
Could not find executable named "groff"
```

help がみたい方は、`groff ` をインストールしてください。

```
# curl -k -O ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/groff/groff-1.17.2-1.aix4.3.ppc.rpm
# chmod +x groff-1.17.2-1.aix4.3.ppc.rpm
# rpm -ivh groff-1.17.2-1.aix4.3.ppc.rpm
# aws s3 help
```

>[Use the AWS CLI](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-aws-cli)

## s3cmd

`s3cmd` が使えます。

```
cd /tmp
curl -k -O http://www.oss4aix.org/download/RPMS/python-dateutil/python-dateutil-2.6.0-1.aix5.1.noarch.rpm
chmod +x python-dateutil-2.6.0-1.aix5.1.noarch.rpm
rpm -ivh python-dateutil-2.6.0-1.aix5.1.noarch.rpm

curl -k -O http://www.oss4aix.org/download/RPMS/file/file-libs-5.29-2.aix5.1.ppc.rpm
chmod +x file-libs-5.29-2.aix5.1.ppc.rpm
rpm -ivh file-libs-5.29-2.aix5.1.ppc.rpm

curl -k -O http://www.oss4aix.org/download/RPMS/file/file-5.29-2.aix5.1.ppc.rpm
chmod +x file-5.29-2.aix5.1.ppc.rpm
rpm -ivh file-5.29-2.aix5.1.ppc.rpm

curl -k -O http://www.oss4aix.org/download/RPMS/file/python-magic-5.29-2.aix5.1.ppc.rpm
chmod +x python-magic-5.29-2.aix5.1.ppc.rpm
rpm -ivh python-magic-5.29-2.aix5.1.ppc.rpm

curl -k -O http://www.oss4aix.org/download/RPMS/s3cmd/s3cmd-1.6.1-1.aix5.1.noarch.rpm
chmod +x s3cmd-1.6.1-1.aix5.1.noarch.rpm
rpm -ivh s3cmd-1.6.1-1.aix5.1.noarch.rpm

export PATH=/opt/freeware/bin:$PATH
s3cmd --version
```

## 参考 : IBM Cloud CLI はサポートされない
インストールを試みましたが、以下のエラーが出ました。

```
# curl -sL https://ibm.biz/idt-installer | bash
[main] --==[ IBM Cloud Developer Tools for Linux/MacOS - Installer, v1.2.3 ]==--
[main] WARN: Only MacOS and Linux systems are supported by this installer.
[main] WARN: For Windows, please follow manual installation instructions at:
[main] WARN: https://github.com/IBM-Cloud/ibm-cloud-developer-tools
[main] ERROR: Unsupported platform: AIX
```

>[IBM Cloud Object Storage CLI](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-cli-ic-cos-cli)