- 1. Cloud9でLaravelの環境構築の方法
- 2. strongSwanでIPv4 over IPv6のVPNトンネルを構成する
- 3. AWS管理コンソールにIP制限をかける
- 4. Serverless FrameworkとAWS Lambda with Pythonの環境にpipインストール
- 5. Amazon EC2でStreamlitを使った簡単な「新規感染者数可視化アプリ」を動かしてみる
- 6. EC2インスタンスをWebサーバとして起動し、Hello, worldを出力する
- 7. 1か月の試験勉強でAWS 認定 デベロッパー – アソシエイト (DVA) に合格した話
- 8. Amazon EC2を起動し、Macのターミナルからssh接続してみる
- 9. CloudFront + S3 の環境で、IPアドレスの制限を行う
- 10. 【AWS初心者向け】お嬢様と学ぶAWS基礎
- 11. Amazon VPCでシンプルなネットワークを構築する
- 12. UIFlowでM5Stackはじめーる
- 13. opensslとmosquittoでAWS IoT Coreの “CAを登録せずにクライアント証明書を登録する” を試す
- 14. 特定のEC2の起動、停止、再起動のみを行えるIAMユーザーを作成する。
- 15. Kinesis Data StreamsをLambda関数で処理する場合のCloudWatchメトリクスの読み方[Lambda編]
- 16. 【AWS】ECRとECSとは?それぞれの違いとAWS上でDockerを運用する方法について。
- 17. AWS SSMエージェント起動
- 18. 【AWS認定資格】取れたてホヤホヤ!AWS CloudPractitioner合格体験記(2021/01/05)
- 19. Amazon AthenaのDDL(CREATE TABLE)でパーティションを指定してもパーティションが利用できない問題
- 20. AWSにてPdfの日本語が表示されなかったのでフォントを追加する
Cloud9でLaravelの環境構築の方法
#手順
###PHPをインストール“`
$ sudo yum -y update
$ sudo yum -y install php72 php72-mbstring php72-pdo php72-intl php72-pdo_mysql php72-pdo_pgsql php72-xdebug php72-opcache php72-apcu
$ sudo unlink /usr/bin/php
$ sudo ln -s /etc/alternatives/php7 /usr/bin/php
$ php -v
“`###composerをインストール
“`
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/bin/composer
“`###Laravelをインストール
“`
$ composer global require “laravel/installer”
$ composer create-project laravel/laravel
strongSwanでIPv4 over IPv6のVPNトンネルを構成する
strongSwanを利用してIPv4 over IPv6のVPNトンネルを構築します。最終目標はYAMAHAルーターとの拠点間接続ですが、今回は検証のためにAWSにインスタンスを立てて検証します。
# 構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/776880/a703b204-0c17-dcc8-a7bc-31f579d8b927.png)
Terminal AとTerminal Bを通信させるため、strongSwan AとstrongSwan Bの2台のマシンでIPSecトンネルを張ります。今回の構成例では、VPC A(172.31.0.0/16)とSubnet B-1(192.168.0.0/24)に属する端末相互間で自由に接続ができるようにします。– strongSwan A,Bのスペック
– AMI : Ubuntu Server 20.04 LTS (ami-0d1f7bec0e294ef80)
– インスタンスタイプ : t4g.nano
– str
AWS管理コンソールにIP制限をかける
## AWS管理のセキュリティの向上
AWSの管理コンソールに対して社内IPからの制限をかけることにした。これによりAccessKey/SecretKeyが万が一漏れても社内IPからしか接続できないためセキュリティの向上を行うことができる。
ただし、デメリットもあり会社が入っている建物が定期点検のためにルータを落としたりする場合は一切接続ができなくなってしまうのでいくつかのアカウントはIP制限をしないようにする必要がある。## グループに適用する
一つ一つのユーザに対してポリシーをアタッチするのはナンセンスなためグループを作成してそのグループに所属したメンバーはIP制限が適用されるようにする。## ポリシーの作成
以下のポリシーを作成する。 `aws:SourceIp`で許可するIPを記載する。“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “AdministratorAccess”,
“Effect”: “Allow”,
Serverless FrameworkとAWS Lambda with Pythonの環境にpipインストール
pipインストールが必要なAWS LambdaのPythonスクリプトをServerless Frameworkでデプロイする方法です。
gemインストールが必要なAWS LambdaのRubyスクリプトについては[前回](https://qiita.com/suzuki-navi/items/1369b11a8f5d7f467645)の記事で書きました。
# 手順概要
プラグインを入れれば簡単にできます。
1. `serverless plugin install -n serverless-python-requirements`
2. `requirements.txt` 作成
3. あとは普通にデプロイすると勝手にいろいろやってくれる# 手順詳細
## Serverless Frameworkのサービス作成
“`console
$ serverless create –template aws-python3
Serverless: Generating boilerplate…
_______
Amazon EC2でStreamlitを使った簡単な「新規感染者数可視化アプリ」を動かしてみる
# はじめに
– Python3で簡単にデータを可視化できるAPI「Streamlit」を使ってみます
– 対象となるデータはNHKが公開しているコロナウイルスの県別新規感染者数データです
– https://www3.nhk.or.jp/n-data/opendata/coronavirus/nhk_news_covid19_prefectures_daily_data.csv
– 本記事ではStreamlitをEC2サーバで稼働させ、Webアプリケーションとして公開する手順を書きます
– VPCやEC2の構築方法については過去記事をご参照ください
– [Amazon VPCでシンプルなネットワークを構築する](https://qiita.com/TaishiOikawa/items/6201eceaa7a4e815b175)
– [Amazon EC2を起動し、Macのターミナルからssh接続してみる](https://qiita.com/TaishiOikawa/items/2af53935e5f741f05bbb)
– プログラム
EC2インスタンスをWebサーバとして起動し、Hello, worldを出力する
# はじめに
– [Amazon EC2を起動し、Macのターミナルからssh接続してみる](https://qiita.com/TaishiOikawa/items/2af53935e5f741f05bbb)の続きです
– 今回はEC2インスタンスにApacheを入れてブラウザでHello,worldを表示してみます# 構造図
– 特に変更なし![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/779593/f8ed6827-9160-86fa-e714-f8f67252c901.png)
# 手順
## 1. Apacheをインストールする
– ターミナルを開く
– ec2インスタンスにsshアクセスする
– `ssh -i ~/.ssh/develop.pem ec2-user@[パブリックIPv4アドレス]`
– 管理者権限に移動
– `sudo su`
– インストールされているソフトウェアを最新のものに更新
– `yum update -y`
–
1か月の試験勉強でAWS 認定 デベロッパー – アソシエイト (DVA) に合格した話
AWS SAA(ソリューションアーキテクトアソシエイト)を取得できたエンジニアが
1か月の試験対策でAWS DVA(デベロッパーアソシエイト)に合格できた話です。
AWS DVAについては、他の方が説明されていたり、AWS HPに記載されているので、
ここでは省略させて頂きます。SAA取得時の話は下記となります。
[AWS SAA取得時の話](https://qiita.com/pkopko-b8/items/3bfd8ccdbbc9baadbffe)
※SAA取得から1年以上、受験をしておらずコンスタントに取り組めば、
もっと良かったと、思ったりしました。(今年は、ステップアップしたいと思います。)個人的な経験ですが備忘録として投稿いたします。
ちょっとは、役に立てばうれしいです。
年末年始の休み中、比較的勉強ができたこともあるため、1ヶ月の試験とはいえ、
比較的、取り組み時間が長く取れたかと思います。
下記、試験結果です。![スクリーンショット 2021-01-05 21.03.18.png](https://qiita-image-store.s3.ap-north
Amazon EC2を起動し、Macのターミナルからssh接続してみる
# はじめに
– [Amazon VPCでシンプルなネットワークを構築する](https://qiita.com/TaishiOikawa/items/6201eceaa7a4e815b175)の続きです
– 今回はパブリックサブネットにEC2インスタンスを作成し、sshでアクセスしてみます
– 本記事ではMacのターミナルからアクセスします
– Windowsの方はTeraTerm等をお使いください# 構造図
– Publicサブネット(10.1.1.0/24)にdev-web-serverを追加![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/779593/f8ed6827-9160-86fa-e714-f8f67252c901.png)
# 手順と設定
## 1. EC2の起動
– EC2サービスを開く
– [左タブ] インスタンス
– 下記設定でインスタンスを起動### AMI
– Amazon Linux 2 64ビット(x86) → 次のステッ
CloudFront + S3 の環境で、IPアドレスの制限を行う
# はじめに
S3 に配置されたファイルを CloudFront を使って配信しているときに、特定の IP アドレスに限定して配信したいときがあります。次の3つの要素を組み合わせることで、実現できます。
– S3 で Public Access を Block
– S3 で Bucket Policy を設定し、CloudFront の OAI(Origin Access Identity) を使い、特定の Distributions のみアクセス許可
– CloudFront に WAF ACL を設定し、特定の IP アドレスのみアクセス許可詳細な設定手順を備忘録として残しておきます。
# S3 にファイルを配置
まず、S3 Bucket にテスト用のファイルを配置します。適当に作成した Bucket を開きます
![1609745473239.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/767c11c1-df76-685b-a2e5-e0ecc97b07d8
【AWS初心者向け】お嬢様と学ぶAWS基礎
# ことの経緯(読まなくていい)
発狂しそうな程のどかな昼下がり。ランチタイムの後のティータイム(午後の紅茶ペットボトル500ml)。
私はベランダに座り優雅にプログラミングを致します。
小鳥たちはさえずり、花々は咲き乱れ、美しい空が広がり、私のコードは長文のエラーを吐いています。
「はぁ」
ため息をつきながら長文のエラーをおGoogleに貼り付け、エンターを爆発音と勘違いされる勢いでおぶちかまします。
ヒットした記事を調べるも解決できず膝から崩れ落ち、頭髪にはその時に零した紅茶が降り注ぐ。脳内にはライアーゲームの圧倒的な絶望BGMが流れている。
「ふぅ、いったん諦めてAWSの勉強としましょう。分からないことはあとでセバスに聞けばいいですわ」
そう思って紅茶臭いまま技術書を開くが、なんと退屈なことでしょう!
技術書に書かれた文章は、高校生が英語を頑張って翻訳したかのような日本語の羅列。よくわからねぇ図。
私は目蓋の裏側が拝見したくてしょうがなくなって参りました。
しかしそういう訳には参りません。ここで一発気合を入れてモンスターを注入。俺様がモンスター
Amazon VPCでシンプルなネットワークを構築する
# はじめに
– AWS無料枠のお勉強記録です
– 今回はAmazon VPCを作成し、サブネットで分割してみます
– VPC内にパブリック、プライベートのサブネットを作成します# 構成図
– パブリックサブネットはインターネットにつながる
– プライベートサブネットからの返信はプライベートサブネットを介して行う
– パブリックサブネットにNATゲートウェイを設置する![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/779593/ee3905a3-a495-e667-902a-27214d488e2a.png)
# 手順と各種設定
## 1. VPCの作成
– Name: Develop
– IPv4 CIDR ブロック: 10.1.0.0/16
– IPv6 CIDR ブロック: なし## 2. サブネットの作成
– [左側タブ] サブネットをクリック
– サブネットの作成をクリック
– 下記設定でサブネットを作成### 2.1 public-subn
UIFlowでM5Stackはじめーる
# はじめに
積まれていたM5Stackをすぐに始めるための備忘録です。# 開発環境
– M5Stack
– Windows 10 PC# 導入
1.[UIFlow Quick Start](https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_MicroPython)を参考にします2.ドライバーをインストールします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/620173ce-bef9-c2d1-a971-ce5874fc5494.png)3.M5Burnerを起動します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/2ec80c98-8223-e011-b892-e8a714e5ad71.png)4.UIFLOW(CORE)のファームウェアをBur
opensslとmosquittoでAWS IoT Coreの “CAを登録せずにクライアント証明書を登録する” を試す
AWS IoT EduKitの動作を理解するためには、 2020年4月に一般提供開始となった「[マルチアカウント登録による複数の AWS アカウントでの X.509 クライアント証明書の使用](https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/x509-client-certs.html#multiple-account-cert)」で使えるようになった機能「**CAを登録せずにクライアント証明書を登録する**」を知っておく必要があったので、opensslとMQTTクライアントである[mosquitto](https://mosquitto.org/)を使って動作を確認してみました。
## 論よりコード
### 独自CAのプライベートキーと証明書の作成
“`console
$ openssl req -x509 -newkey rsa:2048 -sha256 -nodes -keyout CA.key -out CA.crt -subj “/CN=example.com” -days 3650
$ ls C
特定のEC2の起動、停止、再起動のみを行えるIAMユーザーを作成する。
#問題
プロジェクトメンバーA君に、プロジェクトで使用するEC2インスタンスの起動、停止、再起動を行う権限を与えたい。
ただ、起動、停止、再起動以外の操作と、プロジェクトに関係のないEC2の操作は行えないようにしたい。#作業の流れ
①IAMポリシーを作成する。
②IAMユーザーを作成し、作成したポリシーを割り当てる#IAMポリシー
対象のEC2に対してキー「Project」、値「****」のタグを設定します。
以下、ポリシー。“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“ec2:Describe*”
],
“Resource”: “*”
},
{
“Effect”: “Allow”,
“Action”: [
Kinesis Data StreamsをLambda関数で処理する場合のCloudWatchメトリクスの読み方[Lambda編]
Kinesis Data StreamsのレコードをLambda関数で処理するアプリケーションについて、CloudWatchメトリクスを分析することで以下の様な用途に役立てることができます。
* アプリケーションの動作におけるエラーの兆候を見つける
* 入力されるデータ量が増えるに従ってKinesis Data Streamのシャードを拡張するといった例にみられるように、リソースの拡張が必要な兆候を見つける
* AWSサービス利用料が適正であるかを分析し、コスト削減につなげる上記の様な目的でCloudWatchメトリクスを分析した経験から、Kinesis Data StreamsとLambda関数のCloudWatchメトリクスをどのように分析するのかをまとめてみたいと思います。
# Lambda関数のCloudWatchメトリクス
ここでは、Kinesis Data Streamsのレコードを処理するLambda関数に関連するCloudWatchメトリクスの中でコスト、エラー検知、拡張性の観点で注目すべきメトリクスを取り上げたいと思います。### Invocations
【AWS】ECRとECSとは?それぞれの違いとAWS上でDockerを運用する方法について。
AWSのECRとECSを使うとDockerをAWS上で運用することができる。
AWSのすべてのサービス一覧をみると、一番右端の隅にちょこんと記載されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/bddac9c0-4f2a-e1e0-2089-28686ff8c51d.png)Elastic Container RegistryがECR、Elastic Container ServiceがECS。
##目次
1. [ECRとECSとは?](#ecrとecsとは)
2. [ECR](#ecr)
4. [レポジトリの作成](#レポジトリの作成)
5. [イメージのプッシュ・プル](#レポジトリにイメージをプッシュする)
7. [ECS](#ecs)
8. [クラスターの作成](#クラスターの作成)
9. [タスク定義](#タスク定義とは)##ECRとECSとは?
・ECRはDocker hubのAWSバージョ
AWS SSMエージェント起動
# SSMエージェントを起動する。
自分はFargateを利用してRailsアプリケーションをデプロイしました。
そこで、Fargateでサーバ内にターミナルで入る手段にSSMというのを発見したので、
これを活用しましたが、少し躓いた点があったので共有します。自分の場合ディレクトリ構成はこんな感じです。
今回使用するのはDockerfile.producionとentrypoint.shのみです。
※Dockerfileはdevelopment用で、Dockerfile.productionが今回利用するものです。
staging環境は用意していません。“`
/application
L /app
L /bin
…
L Dockerfile
L Dockerfile.production
L entrypoint.sh
…
“`# 1.entrypoint.shからハイブリットアクティベーションを作成する。
まず、SSMエージェントを起動するにはハイブリットアクティベーションというのを作成する必要があります。
AWS→SystemsManager→
【AWS認定資格】取れたてホヤホヤ!AWS CloudPractitioner合格体験記(2021/01/05)
#合格しました!
本日午前にAWSクラウドプラクティショナーを受験し、無事合格しました!
記憶が新しいうちに実際に受験した**所感**と、AWSクラウドプラクティショナー受験にあたっての**勉強法・申し込み方法・当日の心構え**を紹介します。#筆者のバックグラウンド
文系大学出身の20卒です。都内のIT企業で働いています。◆業務経歴
4月 主にPython初級レベルの新人研修を受ける
5月 部署でJava研修を受ける
6月~ 環境移行・オープン化案件でテストや運用監視業務を担当
11月末 AWSのAPNパートナー向け新人研修を受け、AWSに出会う実はAWSを業務・プライベート共に**全く触ったことがありません**。
弊社がAWSの**[APNパートナー](https://aws.amazon.com/jp/partners/)**であり、動画研修が無料で受けられたので、ちょっとやってみようかな、くらいのノリで勉強を始めました笑私のIT知識は基本情報レベルです。
クラウドプラクティショナーは基本情報レベルのIT知識があれば、AWSのことが何も分
Amazon AthenaのDDL(CREATE TABLE)でパーティションを指定してもパーティションが利用できない問題
### 事象
AthenaのDDLでパーティションを指定しても、それだけでは実際のSELECTクエリで結果は返ってきません。これはGlueのAPIでCREATE TABLEした場合でも同様です。### 解決策
DDL実行後に下記クエリを実行する。“`
MSCK REPAIR TABLE table_name
“`これは解決策というよりか普通に必要な手順になります。以下公式Docsにも記載されています。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partitions.html### 解説
CREATE TABLEしただけでは、そのパーティションキーがこのテーブルにはあるよ、という情報がデータカタログに渡されるだけで、実際にそのパーティションキーにはどんな値のものがあるかということが知らされないため、パーティションキーはスキーマに記載されているがパーティションはカタログ上存在しないという状態になります。
例えば`name`というパーティションキーがスキーマに登録されても、実際のパーティションに`name=yam
AWSにてPdfの日本語が表示されなかったのでフォントを追加する
## 概要
AWS内でPhpSpreadsheetを用いてExcelを出力。
LibreOfficeを使用しExcelをPdfへ変換したところ、日本語が出力されませんでした。
フォントを設定したところ解消したので設定方法を記載します。
(ちなみに筆者はWindows環境です。)## フォントのzipファイルダウンロード
Google Noto Fonts
https://www.google.com/get/noto/
から以下をダウンロードします。“`Noto Sans CJK JP
“`“`Noto Serif CJK JP
“`## ダウンロードしたzipファイルの解凍
NotoSansCJKjp-hinted.zip
NotoSerifCJKjp-hinted.zip
がダウンロードされたかと思いますのでローカルの任意の場所で解凍します。
(解凍したファイルの拡張子が`.otf`のものだけ使いますので、どこかわかりやすい場所にまとめておくと良いと思います。)“`例 C:\Users\ユーザー名\Desktop\japanese
“`##