受けてきました。
最初はこの本で勉強していました。
試験対策としてはちょっと足りておらず、643点で不合格。こちらの問題集をやってみることにしました。
400問くらいあるんですが2週間で新しい方から300問くらいしかできず、再度本番へ。
今度は無事合格できました。775点。
CloudWatch/S3/IAM はほとんど触ったことがないもので、知識や経験が足りてないのがよくわかる結果になってしまいました。
ともかく合格できてよかったです。次は Developer をやります。
受けてきました。
最初はこの本で勉強していました。
試験対策としてはちょっと足りておらず、643点で不合格。こちらの問題集をやってみることにしました。
400問くらいあるんですが2週間で新しい方から300問くらいしかできず、再度本番へ。
今度は無事合格できました。775点。
CloudWatch/S3/IAM はほとんど触ったことがないもので、知識や経験が足りてないのがよくわかる結果になってしまいました。
ともかく合格できてよかったです。次は Developer をやります。
受けてきました。
初めてAWSを使ったのは現職になってからなので、去年の8月からです。だいたい9ヶ月くらいでしょうか。EC2/VPC/セキュリティグループ/ALBくらいしか使ったことはないです。
連休ということでふと気が向いてしまい、4日の勉強で取ってしまおうと無茶な計画を立てました。
本は2冊読みました。まずはこちら。
会社のwebサイト(コーポレートサイト)を作るという事例で、最初は簡単なものから徐々に機能を追加して拡張性や可用性を高めていったり、パフォーマンスを考慮した構成にしていったりという流れで解説されていました。とても読みやすかったです。試験対策の問題も各章ごとに数問用意されていて、試験の雰囲気を掴むにはよかったです。だいたい3日くらいで読めました。
なんとなく不安に感じ、次はこちらを買いました。
試験前日だったもので通読はせず、1冊目を読んだときに苦手に感じたところや、載っていなかった分野についてさらっと読みました。あとは模擬試験を2周。1周目で70%だったので、本番に向けて不安が残りました。
試験は西日暮里のテストセンターで。自宅から徒歩10分くらいのところで、近くてよかったです。18席あるところに2〜3人しか受験者がおらず、広々と落ち着いて受けることができました。
試験は無事合格。AWSの試験は合格か不合格かしか出ないとのことです。どれくらいできたかはわかりませんが、無事合格できてよかったです。
勉強時間は4日間を合わせてだいたい10時間ほど。仕事でもAWSは使いますし、いい勉強になりました。他の分野の試験も勉強してみたいです。
(追記) 試験結果は翌日来ました。
リリースされた とのことで、Fedora 30 に更新してみました。
$ sudo dnf --refresh upgrade
$ sudo dnf install dnf-plugin-system-upgrade
$ sudo dnf system-upgrade download --releasever=30 --allowerasing
$ sudo dnf system-upgrade reboot
キー配置はまた us に戻っちゃうので、mozc の設定ファイルを編集。
$ sudo vi /usr/share/ibus/component/mozc.xml
...
<layout>jp</layout>
無事アップグレード終わりました。
[sugimura@fedora30 ~]$ cat /etc/os-release
NAME=Fedora
VERSION="30 (Thirty)"
ID=fedora
VERSION_ID=30
VERSION_CODENAME=""
PLATFORM_ID="platform:f30"
PRETTY_NAME="Fedora 30 (Thirty)"
ANSI_COLOR="0;34"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:30"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=30
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=30
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
[sugimura@fedora30 ~]$ uname -a
Linux fedora30 5.0.9-301.fc30.x86_64 #1 SMP Tue Apr 23 23:57:35 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[sugimura@fedora30 ~]$
まずは subscribe しておきます。
# LANG=C subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username: xxxx
Password: xxxx
The system has been registered with ID: xxxxxxxx-xxxx-xxxx-xxxx-6ff3ae55e951
The registered system name is: rhel8a
# LANG=C subscription-manager attach
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64 Beta
Status: Subscribed
Python3 を入れます。RHEL8 beta では最初から Python がインストールされていないので、Ansible からいじることができません。
(追記) platform-python を使うのが筋のようです。
# yum install python3
無事入りました。
# python3 --version
Python 3.6.6
/usr/libexec/platform-python を参照させるのがいいみたいです。一応確認してみます。
# /usr/libexec/platform-python --version
Python 3.6.6
Python が入ったということで、実際に Ansible Tower から接続してみます。まずはインベントリを定義。ansible_python_interpreter は ansible 2.8 からは自動で検出してくれるそうです。
認証情報を設定して、ad hoc コマンドの ping モジュールで繋いでみます。
これで無事繋がることがわかりました。よしよし。
ESXi 6.7 を立てまして、RHEL 7.6 を5台インストールしました。これを Ansible からいじってみます。
まずはインベントリの取得から。
https://github.com/ansible/ansible/blob/devel/contrib/inventory/vmware_inventory.py
を使ってみました。vmware_inventory.py と vmware_inventory.ini を取得してきます。
vmware_inventory.ini を編集して設定します。このように作ってみました。
[sugimura@iMac esxi]$ grep -v "^#" vmware_inventory.ini | grep -v "^$"
[vmware]
server=192.168.0.3
username=root
password=xxxx
validate_certs = False
cache_max_age = 0
max_object_level=5
skip_keys = declaredalarmstate,disabledmethod,dynamicproperty,dynamictype,environmentbrowser,managedby,parent,childtype,resourceconfig,resourcepool,permission,storage,configissue,parentvapp,recenttask,availablefield,datastore,summary,overallstatus,triggeredalarmstate,network,capability,guestheartbeatstatus,layout,effectiverole,rootsnapshot,configstatus,value,snapshot,layoutex
alias_pattern={{ config.name }}
host_pattern={{ guest.ipaddress }}
groupby_patterns={{ guest.guestid }},{{ 'templates' if config.template else 'guests'}}
[properties]
prop01=name
prop02=config.name
prop03=guest.hostName
prop04=guest.ipAddress
prop05=guest.nic
prop06=guest.guestId
実行してみます。かなり大きな JSON が返ってきました。いまの ESXi には RHEL7 や RHEL8beta、Kali Linux が入っています。
[sugimura@iMac esxi]$ python vmware_inventory.py
{
"None": {
"hosts": [
"Kali Linux",
"RHEL7.6",
"RHEL8beta"
]
},
"_meta": {
"hostvars": {
"Kali Linux": {
"name": "Kali Linux",
"ansible_ssh_host": "None",
...
"RHEL7.6D",
"RHEL7.6E"
]
},
"rhel8_64Guest": {
"hosts": [
"RHEL8betaB",
"RHEL8betaE",
"RHEL8betaC",
"RHEL8betaD",
"RHEL8betaA"
]
}
}
vmware-inventory コマンドを使って、ダイナミックインベントリとして読めることを確認します。–graph か –list を指定すると、インベントリとして読み取った結果を表示することができます。グループ分けもされていることがわかります。
[sugimura@iMac esxi]$ ansible-inventory -i vmware_inventory.py --graph
@all:
|--@None:
| |--Kali Linux
| |--RHEL7.6
| |--RHEL8beta
|--@guests:
| |--Kali Linux
| |--RHEL7.6
| |--RHEL7.6A
| |--RHEL7.6B
| |--RHEL7.6C
| |--RHEL7.6D
| |--RHEL7.6E
| |--RHEL8beta
| |--RHEL8betaA
| |--RHEL8betaB
| |--RHEL8betaC
| |--RHEL8betaD
| |--RHEL8betaE
|--@rhel7_64Guest:
| |--RHEL7.6A
| |--RHEL7.6B
| |--RHEL7.6C
| |--RHEL7.6D
| |--RHEL7.6E
|--@rhel8_64Guest:
| |--RHEL8betaA
| |--RHEL8betaB
| |--RHEL8betaC
| |--RHEL8betaD
| |--RHEL8betaE
|--@ungrouped:
この RHEL7.6 のグループ5台に対して、subscribe して yum update してみる playbook を書いてみました。
---
- hosts: rhel7_64Guest
become: true
become_method: sudo
tasks:
- name: subscribe
redhat_subscription:
state: present
username: xxxx
password: xxxx
auto_attach: true
- name: yum update
yum: name=* state=latest
実行してみます。
[sugimura@iMac esxi]$ ansible-playbook -i vmware_inventory.py yum_update.yml -k -K
SSH password:
SUDO password[defaults to SSH password]:
PLAY [rhel7_64Guest] ***************************************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************************************
ok: [RHEL7.6D]
ok: [RHEL7.6C]
ok: [RHEL7.6E]
ok: [RHEL7.6A]
ok: [RHEL7.6B]
TASK [subscribe] *******************************************************************************************************************************
changed: [RHEL7.6B]
changed: [RHEL7.6A]
changed: [RHEL7.6E]
changed: [RHEL7.6D]
changed: [RHEL7.6C]
TASK [yum update] ******************************************************************************************************************************
changed: [RHEL7.6C]
changed: [RHEL7.6A]
changed: [RHEL7.6B]
changed: [RHEL7.6D]
changed: [RHEL7.6E]
PLAY RECAP *************************************************************************************************************************************
RHEL7.6A : ok=3 changed=2 unreachable=0 failed=0
RHEL7.6B : ok=3 changed=2 unreachable=0 failed=0
RHEL7.6C : ok=3 changed=2 unreachable=0 failed=0
RHEL7.6D : ok=3 changed=2 unreachable=0 failed=0
RHEL7.6E : ok=3 changed=2 unreachable=0 failed=0
無事処理できました。ログインして確認してみます。
[root@rhel7a sugimura]# yum history
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
ID | ログイン ユーザー | 日時 | 操作 | 変更
-------------------------------------------------------------------------------
3 | sugimura <sugimura> | 2019-04-28 09:33 | I, U | 70
2 | sugimura <sugimura> | 2019-04-28 09:32 | Install | 3
1 | システム <未設定> | 2019-04-27 19:49 | Install | 352
history list
[root@rhel7a sugimura]# subscription-manager list
+-------------------------------------------+
インストール済み製品のステータス
+-------------------------------------------+
製品名: Red Hat Enterprise Linux Server
製品 ID: 69
バージョン: 7.6
アーキテクチャー: x86_64
状態: サブスクライブ済み
状態の詳細:
開始: 2018年09月19日
終了: 2019年09月19日
いい感じですね!