2018年9月29日土曜日

AWS認定試験2

前回受験したSolution Architect、DevOpsに続いて、SysOps Administratorを翌週の月曜日に受験。
今度は評判の良い歌舞伎座を予約できた。
1時間ほど早めに現地について受付の方に声をかけると、まだ準備ができていないのでしばらく待ってとの事。
ちょうど公式ドキュメントとかも見直したかったので、受付横に腰掛けて30分程復習していると準備ができたとお声がけいただいた。
予定時間よりも30分前にも関わらず、試験を開始できるとの事。
手荷物をロッカーにしまって部屋へ通され、自分のタイミングで試験スタート。
SysOpsはSolution Architectに近しい設問だったので、多少時間がありながらも完了。この試験は新バージョンになっていなかったので、時間が短く、他の二つと比べると見直しの時間が少なかった印象。
っで、結果は合格。
なんとかなるもんですね。
でも、これでサービスを理解したと過信してはいけない。
やはりネットワーク以外は自信がないので、もうちょっと手を動かして理解を深めないといかんな。

AWS S3の署名つきURL

Interviewで聞かれた時におぼろげにしか覚えてなくてしどろもどろになったので、改めて調べて見た。
現時点で調べた結果。

・Download用のURLはAWS CLIで作成可能

例:aws s3 presign s3://xxxx.xxx/IMG_0865.PNG --expires-in 300

これで得られるURLにcurlやブラウザでアクセスするとexpires-inで指定した秒数だけ参照可能。
最大で7日間、大きいファイルなどでダウンロード中に有効期限をむかえても継続してダウンロード可能

・Upload用のURLはAWS CLIで作成不可能、SDKなどでコードを用意してURLを生成する必要がある
Lambdaで生成すると良いらしい

例:
====
Lambda.js
exports.handler = function (event, context, callback) {
    "use strict";

    const AWS = require('aws-sdk');
    let s3 = new AWS.S3();
    const BUCKET = '<backet name>';
    const KEY = '<Object key>';
    const CONTENT_TYPE = 'image/jpeg';  //<- 他にもimage/png, image/tiff, etc...

    var params = {
        Bucket: BUCKET,
        Key: KEY,
        Body: '',
        ContentType: CONTENT_TYPE,
        Expires: 300
    };

    s3.getSignedUrl('putObject', params, function (err, url) {
        if (err) {
            callback(err);
            return;
        }

        callback(null, url);
    });
};
====
これで生成されたURLにcurlでputすると良いとのこと。
一つ賢くなりました。

参考
https://qiita.com/hitomatagi/items/276146a214e68bbe88d0

2018年9月7日金曜日

AWS認定試験

この会社に入って初めての試験は、自社のサービスで技術者を認定する試験だった。
銀座の会場が良いと聞いていたのだけど、予約がいっぱいで受けられなかったので、無難と聞いていた秋葉原会場へ。
時間前に始められて、隣の人との距離こそ近いものの、集中して130分の時間を過ごせた。
今回はSolution ArchitectとDeveloperの2つを午前・午後に分けて同時に受験。両方とも合格。っですが、両方とも80点台だったので、まぁ、なんとかギリギリのライン。
やはり、これまでネットワーク関連に絞っていただけに、他のサービスの知識の無さを改めて痛感。
もっと勉強せねばと思える良い機会になった。

Apple Watch Ultra 3

 以前の6から乗り換え 6は娘へお下がり、下取りしても3,000円だった ダイビングを再開してから、潜る前後で時計を付け替える煩わしさを感じてたけど、確かに、ダイビングを休眠する前から感じていたことだったのを思い出した ソフトのサブスクも高いらしいけど、まあぁ、ダメだったら以前の...